终端画面同步 Agent 状态不稳定
tmux 路线的链路与优势
手机 App ↔ WebSocket ↔ 桥接服务 ↔ tmux send-keys / capture-pane ↔ Codex CLI(电脑可 attach)
优势:不再每条消息开 codex exec;手机输入进入同一个活的 CLI;电脑端能看到同一画面;code exit 类退出顺序问题自然消失。
为什么说「不稳定」
| 风险 | 原因 |
|---|---|
| 结束判断不准 | app-server 会发 turn/completed;tmux 只能靠「画面几秒没变」或「看到提示符」猜,可能早也可能晚 |
| 输出夹杂 UI 文本 | 抓的是整个终端画面(状态栏/进度/颜色控制符),要额外清洗 |
| 改版即失效 | 解析依赖「终端长什么样」,CLI 改提示符/布局/状态栏就要跟着调 |
| 结构化能力弱 | 拿不到 approval、tool call、文件变更等事件,只能从文本推断 |
| 并发麻烦 | 一个 pane 同一时间最好只跑一个任务,连发消息要排队 |
结论:按目标选后端
- 要稳定的 agent 后端 → app-server(结构化事件)。
- 要电脑和手机真正同步同一个可见会话 → tmux(画面同步),但接受它是「终端遥控方案」,标成实验后端,不要立刻替换掉 exec。
tmux 同步的是电脑终端里的 Codex CLI,不是 Codex Desktop App 的当前窗口。
相关
- 共享历史不等于共享活会话
- 远程控制本机Agent要让bridge跑在本机
- 远程Agent控制要定义执行协议与状态模型