feat: expose codex remote control status

This commit is contained in:
AI Bot
2026-06-04 15:18:52 +08:00
parent a5d44b0cac
commit 63338c3d76
8 changed files with 68 additions and 3 deletions

View File

@@ -6,6 +6,8 @@
2026-05-31 的最新架构判断Boss 后续优先围绕 Codex App Server / Remote Control 做深度接入,但当前生产链路仍保留 `codex exec resume``codex mcp-server` 作为兼容 provider 候选。
2026-06-04 按官方文档与本机 `codex-cli 0.136.0-alpha.2` 复核后的口径:`codex app-server` 是 Boss 直接控制 Codex 线程、turn、审批、进度事件和治理动作的主协议`codex remote-control` 是带 remote-control 能力的本机 App Server daemon 管理入口;`codex mcp-server` 是让其他 Agent / MCP 客户端把 Codex 当工具调用的兼容入口;`features.multi_agent` 提供 `spawn_agent / send_input / resume_agent / wait_agent / close_agent` 这类主控调度子 Agent 的能力,但不等同于任意两个历史线程官方原生 P2P 私聊。Boss 产品口径继续固定为“Boss Broker + App Server read / inject / start / steer / rollback 的受控线程协作”。
Codex App Server 是更适合 Boss 长期接入的协议层,因为它面向富客户端和产品级集成,覆盖:
- authentication
@@ -47,7 +49,9 @@ Boss 不能直接把 App Server 原始 Thread / Turn / Item 字段写进业务
- 本机 `codex --version``codex-cli 0.136.0-alpha.2`
- 本机 `codex app-server --help` 已可用;本机 help 当前显示 `--listen` 支持 `stdio://``unix://``unix://PATH``ws://IP:PORT``off`
- 本机 `codex app-server --help` 当前已经支持 `--ws-auth capability-token|signed-bearer-token``--ws-token-file``--ws-token-sha256``--ws-shared-secret-file`、issuer/audience/clock-skew 等 WebSocket 认证参数
- 本机协议快照已生成到 `docs/protocol-snapshots/codex-app-server/0.136.0-alpha.2/`,共识别 138 个协议方法;确认支持 `thread/inject_items``thread/rollback``thread/archive``thread/unarchive``thread/fork``thread/compact/start``thread/name/set``thread/metadata/update``thread/shellCommand``thread/unsubscribe``thread/goal/*``turn/steer``turn/interrupt``command/exec``command/exec/write``command/exec/resize``command/exec/terminate``command/exec/outputDelta``process/outputDelta|exited``rawResponseItem/completed``thread/realtime/*``thread/started|closed|archived|unarchived|name/updated``item/agentMessage/delta``item/plan/delta``item/reasoning/*Delta``item/mcpToolCall/progress``item/commandExecution/terminalInteraction``item/fileChange/outputDelta``account/*``model/verification``configWarning``deprecationNotice``model/list``skills/changed``skills/extraRoots/set``hooks/list``plugin/installed``plugin/install``plugin/uninstall``plugin/read``plugin/skill/read``plugin/share/*``config/value/write``config/batchWrite``config/mcpServer/reload``skills/config/write``fs/*``externalAgentConfig/import``marketplace/add|remove|upgrade``experimentalFeature/enablement/set``review/start``windowsSandbox/readiness|setupStart``fuzzyFileSearch/session*``mcpServer/oauth*``mcpServer/resource/read``mcpServer/tool/call``mcpServer/elicitation/request``item/tool/requestUserInput``thread/approveGuardianDeniedAction`
- 本机 `codex remote-control --help` 已可用;它会管理“带 remote control enabled 的 App Server daemon”当前 boss-agent 状态页已把 `codexRemoteControlEnabled / codexRemoteControlCommand / codexRemoteControlArgs` 归一成 `Codex Remote Control` 摘要,但状态页刷新不会自动执行 `start`
- 本机 `codex mcp-server --help` 已可用;它用于把 Codex 暴露为 stdio MCP server后续进入 `CodexMcpBackendAdapter` 兼容 provider而不是替代 App Server 主链
- 本机协议快照已生成到 `docs/protocol-snapshots/codex-app-server/0.136.0-alpha.2/`,共识别 151 个协议方法;确认支持 `thread/inject_items``thread/rollback``thread/archive``thread/unarchive``thread/fork``thread/compact/start``thread/name/set``thread/metadata/update``thread/shellCommand``thread/unsubscribe``thread/goal/*``turn/steer``turn/interrupt``command/exec``command/exec/write``command/exec/resize``command/exec/terminate``command/exec/outputDelta``process/outputDelta|exited``rawResponseItem/completed``thread/realtime/*``thread/started|closed|archived|unarchived|name/updated``item/agentMessage/delta``item/plan/delta``item/reasoning/*Delta``item/mcpToolCall/progress``item/commandExecution/terminalInteraction``item/fileChange/outputDelta``account/*``model/verification``configWarning``deprecationNotice``model/list``skills/changed``skills/extraRoots/set``hooks/list``plugin/installed``plugin/install``plugin/uninstall``plugin/read``plugin/skill/read``plugin/share/*``config/value/write``config/batchWrite``config/mcpServer/reload``skills/config/write``fs/*``externalAgentConfig/import``marketplace/add|remove|upgrade``experimentalFeature/enablement/set``review/start``windowsSandbox/readiness|setupStart``fuzzyFileSearch/session*``mcpServer/oauth*``mcpServer/resource/read``mcpServer/tool/call``mcpServer/elicitation/request``item/tool/requestUserInput``thread/approveGuardianDeniedAction`
- Boss 当前默认仍以 `stdio` 作为本机 agent 接入方式;`ws://127.0.0.1:<port>``unix://PATH` 本地长驻 transport 已可灰度接入WebSocket/Unix WebSocket handshake 支持 `Authorization: Bearer <token>`;非 loopback signed bearer/JWT、自动重连和健康探测仍保留为后续增强不直接替换当前稳定链路
- 官方文档提示 WebSocket ingress 满载时会返回 JSON-RPC `-32001 / Server overloaded; retry later.`Boss runner 已对该错误做最多 3 次指数退避重试,避免长驻连接瞬时拥塞直接把用户任务打失败
- Boss heartbeat 已新增 App Server 能力发现缓存:按 `codexAppServerDiscoveryTtlMs` 拉取 `model/list``modelProvider/capabilities/read``skills/list``hooks/list``plugin/list``app/list``experimentalFeature/list``collaborationMode/list``permissionProfile/list``mcpServerStatus/list``account/read``account/rateLimits/read``config/read``configRequirements/read``externalAgentConfig/detect``thread/list``thread/loaded/list``thread/turns/list`;配置了 `codexAppServerSkillExtraRoots` / `BOSS_CODEX_APP_SERVER_SKILL_EXTRA_ROOTS` 时,会先调用 `skills/extraRoots/set` 再拉取 `skills/list`,归一成设备 `capabilities.codexAppServer.metadata`;发现失败只记录 warn不阻塞心跳。MCP discovery 使用 `detail=toolsAndAuthOnly`turn discovery 固定 `itemsView=summary`账号、配置、线程、Hook 和 Skill extra root discovery 只保留安全摘要turn discovery 只额外保留最终 `agentMessage` 摘要,并会合并进 `projectCandidates.recentAssistantMessages` 用于 Codex Desktop 回复反向同步不保存邮箱、resource URI、工具参数、完整 config、本地路径、迁移描述、用户正文、reasoning 原文、命令输出、原始 items、内部 prompt、系统提示词、hook 命令或共享 Skill 根绝对路径。