Skip to content

Place the mobile agent GUI on the agent's own config channels - #275

Draft
jiweiyuan wants to merge 1 commit into
mainfrom
docs/ios-agent-gui
Draft

Place the mobile agent GUI on the agent's own config channels#275
jiweiyuan wants to merge 1 commit into
mainfrom
docs/ios-agent-gui

Conversation

@jiweiyuan

Copy link
Copy Markdown
Collaborator

Revises design/mobile-agent-ui-protocol.md to v3, answering two questions: how the iOS GUI gets its content for Claude Code and Codex, and how much of per-agent support can live in a manifest instead of Swift.

Three channels, two usable

Every coding agent exposes structure three ways — lifecycle hooks, an on-disk transcript, and a sidecar session protocol. The first two are zero-intrusion; the third (Codex app-server, Claude stream-json, ACP) replaces the runtime, and the TUI is the product. So the content plane comes from the transcript, the interaction plane from hooks, and grid-reading survives only as the observed-level fallback already described in §6.4.

Where the config line falls

The ten shipped manifests already carry no grid regexes — titleStatus reads the OSC title, and the old screen-scrape status field is unused. Keeping that property costs two new manifest blocks, transcript and questions, both carrying locations and key names picked from closed sets, matching how resume and hooks.dialect already work.

Parsing a transcript shape stays Swift, and the doc says why rather than leaving it to taste: waku spends 300–530 lines of Rust per provider, linkcode 2155 lines on Claude Code alone. Neither configures an agent as pure data, so a JSONPath mapping DSL would buy a mini-interpreter that is hard to write and harder to test.

Also

  • linkcode and waku added to the prior art. Notably waku still reads Claude's JSONL for checkpoints and forking while holding a live protocol stream — outside evidence for "the transcript is the durable truth".
  • The open Codex question is narrowed: its approvals are a first-class protocol object on the app-server, which is unreachable while the TUI runs, so the question is whether hooks.json has the same write-back.

Docs only — no code paths touched. The docs/README.md index was regenerated from front matter.

Release Notes: None

Records the three structured channels every coding agent exposes — hooks,
transcript, and a sidecar session protocol — and why Termio can only use the
first two: the sidecar replaces the runtime, and the TUI is the product.

Draws the data/code line for per-agent support. The ten shipped manifests
already carry zero grid regexes, so the content and interaction planes add only
locations and key names (`transcript`, `questions`) selected from closed sets.
Parsing a transcript shape stays Swift: waku spends 300-530 lines of Rust per
provider and linkcode 2155 on Claude Code alone, so no shipping implementation
configures an agent as pure data.

Adds linkcode and waku to the prior art, and narrows the open Codex question to
whether hooks.json can write back a decision — its app-server approvals are
unreachable while the TUI runs.
@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
landing Ready Ready Preview Aug 12, 2026 4:54pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant