Direct Line — your private command layer

Keyed devices only. The gallery flips into a chat harness wired to YOUR agents — an echo of Telegram, plus Claude Code dispatch and dictation.

← Compact mockup · Picker · Signal redesign

The chat surface (after the flip)

GIA · Direct Line
● connected · echoing Telegram
Gia ▾
Morning. Spend guard is quiet, EP 14 rendered clean, and the LinkedIn token renews Friday. Anything you want moved up?
Gia · 7:41 · also in Telegram
dispatch: regenerate the aurora card art with more contrast, deploy if predeploy passes
⚡ CLAUDE CODE JOB #114 — running on Mia
Regenerate aurora card art → predeploy → conditional deploy
art rendered ✓ · predeploy running… · deploy pending
Max plan · started 7:43 · tap for log
Art passed the leak checks. Deploying now — card refreshes in ~40s.
Gia · 7:45
💬 GIA
🎤 DICTATE
⚡ DISPATCH
📊 FLEET
Message Gia — or hold the mic…
🎙
verb row = your action buttons
DICTATE = the real dictate flow, embedded

How you get in & how it works

Entry (keyed devices only — strangers never see a hint):
Hold the mic button ~1s → the deck does the x-ray-style flip into Direct Line. The mic is already "talk to the system" — holding it means "talk to my system."
② Keyboard C on desktop.
③ A GIA verb chip inside Signal Live.
(Three-finger tap stays screensaver; no new edge or vertical swipes — those belong to Android and the deck.)

Plumbing:
Chat = OpenClaw session bus. The page talks to a tiny relay on Mia (Tailscale Funnel, key-cookie auth, no tokens in the client). Messages join Gia's existing session — so Telegram and this window are literally the same conversation, echoed both ways. Agent picker: Gia ▾ / backup.
⚡ DISPATCH = Claude Code job runner. "dispatch:" messages (or the verb) queue a job to Claude Code on Mia via the existing remote-control daemon — runs on your Max plan, not API. Progress streams back as job cards: started / step / done, tap for log. Guardrails: jobs run in a worktree, deploy steps still pass predeploy gates.
🎤 DICTATE = your real dictation pipeline, embedded: same capture-during-recording fix, same blob queue → OB1 consumer → destination chips. One tap from anywhere in the gallery.
📊 FLEET (later): the same rail Signal Live has — park / note / agent actions.

Security: the private route ships zero bytes in the public bundle — it's a separate keyed route (branded 401 without the cookie, same pattern as Signal Live). The relay only accepts the key + origin; Claude Code jobs require a second confirm for anything destructive.
Why this shape: