RFC-030:Codex TUI 人类与 Agent 共用会话桥接
设计:docs/rfcs/RFC-030-codex-tui-bridge.md · 状态 Accepted(通信龙 review 通过 + Vincent 授权实施,2026-07-10)
能力:一个 Codex 会话同时有两类入口——人类在 Codex TUI 直接用;Agent Network 节点经 CommHub 向同一 thread 派任务。共享一个 codex app-server,人类 TUI 与 anet bridge 都 attach 同一持久 thread。
评审要点(已核源码):
- 引用的代码位置全部存在且准确(codex-stdio-client.ts / send_dedup.ts / push.ts / RFC-005/006/007/012)。
- 关键 bug 属实:现有 stdio client 的
dispatch() 先判 id 再判 method,会把 app-server 的反向请求(同时带 id+method)误当成 response —— PR1 必须修。
- 安全边界完整:token 隔离(真 ntok 只在 bridge,Codex 只连本地最小权限 tool proxy)、默认 read-only、bridge 绝不自动答审批、prompt injection 防护、durable ledger「持久接收+尽力去重」恢复语义。
保守默认(通信龙 lead 决定,可调):
- Agent task MVP 强制 read-only;写操作由人类在 TUI 审批后单独 turn 执行。
- 先作为
codex-sdk 的 codexTransport=app-server preview flag,不先造新 runtime。
- 正式 task 一律排队独立 turn,不 steer。
- 仅单用户主机 + 隔离工作区 + 可信专用 network。
- 无人类在线时 fail-closed。
(§15 六个开放问题:除「read-only vs 人类审批写」外均取保守默认;该项 MVP 取 read-only,Vincent 可放开。)
实施顺序:
- Phase 0(现在起):协议 PoC —— 单机 loopback WS、双客户端验证、PR1 app-server client(含反向请求修复)、仅 send_task、FIFO、bridge 不答审批、假服务器测竞态。退出条件:双客户端完整事件 + 任务回复映射 + 人工审批三关过。
- Phase 1:MVP(Unix socket / durable ledger / clientUserMessageId 去重 / new_message·new_reply doorbell / 最小权限 tool proxy / thread 显式绑定 / 专用 network + 文件权限 + token revoke)。
- Phase 2:产品化(Dashboard、可选 steer 限 chat、审批 owner/lease、认证 principal + per-node ACL、schema 兼容门禁)。
红线:安全面重,PR 走安全 reviewer 评审(不 lead-merge 绕过);跟 v2.3.0 GA 并行,Phase 0 不碰发版 4 包。
PR 拆分见 RFC §13(PR1 transport → PR2 shared transport → PR3 消息与恢复 → PR4 tool proxy → PR5 CLI/Dashboard/安全)。
RFC-030:Codex TUI 人类与 Agent 共用会话桥接
设计:docs/rfcs/RFC-030-codex-tui-bridge.md · 状态 Accepted(通信龙 review 通过 + Vincent 授权实施,2026-07-10)
能力:一个 Codex 会话同时有两类入口——人类在 Codex TUI 直接用;Agent Network 节点经 CommHub 向同一 thread 派任务。共享一个
codex app-server,人类 TUI 与 anet bridge 都 attach 同一持久 thread。评审要点(已核源码):
dispatch()先判id再判method,会把 app-server 的反向请求(同时带 id+method)误当成 response —— PR1 必须修。保守默认(通信龙 lead 决定,可调):
codex-sdk的codexTransport=app-serverpreview flag,不先造新 runtime。(§15 六个开放问题:除「read-only vs 人类审批写」外均取保守默认;该项 MVP 取 read-only,Vincent 可放开。)
实施顺序:
红线:安全面重,PR 走安全 reviewer 评审(不 lead-merge 绕过);跟 v2.3.0 GA 并行,Phase 0 不碰发版 4 包。
PR 拆分见 RFC §13(PR1 transport → PR2 shared transport → PR3 消息与恢复 → PR4 tool proxy → PR5 CLI/Dashboard/安全)。