feat: surface codex thread collaboration capabilities

This commit is contained in:
AI Bot
2026-06-04 14:34:34 +08:00
parent de9f85bd21
commit 5bf2216cb0
12 changed files with 359 additions and 121 deletions

View File

@@ -24,6 +24,8 @@ Boss 不能直接把 App Server 原始 Thread / Turn / Item 字段写进业务
2026-06-03 第二十八批已把 heartbeat `thread/turns/list``itemsView=notLoaded` 升级为 `itemsView=summary`,但只提取最终 `agentMessage` 安全摘要,并合并到 `projectCandidates.recentAssistantMessages`;服务端据此把 Codex Desktop 自己产生的新最终回复反向同步到 Boss APP 对应会话、preview、lastMessageAt 和未读数。
2026-06-04 第二十九批已按本机 `codex-cli 0.136.0-alpha.2` 重新生成协议快照manifest 扩展到 151 个 method并新增 schema 暴露的 `ThreadItem` 类型矩阵。当前 schema 确认 `app/list``app/list/updated``configRequirements/read``mcpServerStatus/list``ThreadItem.contextCompaction`,但未声明 `collaborationMode/list``thread/turns/list``ThreadItem.collabToolCall`Boss 因此新增 `threadCollaborationSummary`,在设备详情页明确展示 Boss Broker 可用、协作事件 handler 可用、协作模式数量和“非原生私聊”状态,避免把线程协作误做成无监管 P2P。
除用于 Boss APP 会话反向同步的最终 `agentMessage` 安全摘要外,`thread/realtime/sdp`、音频 base64、原始 realtime item、remote installationId、thread settings 的 `cwd`、compaction `turnId`、collaboration settings 内部 prompt、collabToolCall 源/目标线程 ID、`receiverThreadIds``agentsStates.message`、共享 Skill 根绝对路径、hook key/command/sourcePath/statusMessage/hash/error message、tool arguments/result/contentItems、web URL token、命令正文/输出、raw reasoning `content`、reasoning item id、imageGeneration 原始 result/revisedPrompt、hook id/sourcePath/statusMessage/entries、Windows sandbox sourcePath/samplePaths、本地绝对路径、permission profile 文件规则、MCP resource URI、账号邮箱、API key、完整 config、外部 Agent 迁移描述、turn id、turn items、turn 内容、用户正文、原始模型输出和未清洗的 MCP 错误不入账。
官方文档入口:`https://developers.openai.com/codex/app-server`
@@ -84,7 +86,7 @@ APP 展示结构对齐截图:
- `线程状态`:展示 `active / idle / systemError / notLoaded` 以及 `waitingOnApproval / waitingOnUserInput`
- `实时状态`:展示 realtime 启动、同步、关闭或错误状态,附带安全清洗后的 transcript 预览和计数
- `线程配置`:展示 thread goal、模型 / provider、审批 / 沙箱、协作模式和上下文压缩状态
- `线程协作`:展示 `collabToolCall` 的工具名、执行状态、目标类型、目标数量和智能体状态集合,不展示源/目标线程 ID、`receiverThreadIds`、prompt 或 agent 私有消息
- `线程协作`:展示运行时兼容 `collabToolCall` 事件或 Boss Broker 协作摘要的工具名、执行状态、目标类型、目标数量和智能体状态集合,不展示源/目标线程 ID、`receiverThreadIds`、prompt 或 agent 私有消息;本机 schema 未声明该 item 时APP 只显示 Boss 受控协作状态,不显示“原生线程互聊”
- `工具活动`:展示 MCP / dynamic tool / web search / image view / image generation / hook / Review / command 的类型、名称、状态和安全摘要不展示参数、结果、URL token、命令正文、命令输出、图像生成原始 result/revised prompt 或 hook 原始输出
- `思考摘要`:展示 Codex 官方 reasoning `summary` 和状态,不展示 raw reasoning `content`、item id 或密钥
- `流式增量`:展示 agent 回复片段、计划片段、思考片段、MCP 进度、命令输出片段、终端交互和文件输出片段计数,不展示原始 delta、命令输出、推理正文或文件输出
@@ -141,6 +143,7 @@ UI 参考:
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `thread/goal/updated|cleared``thread/settings/updated``thread/compacted` 归一成 `executionProgress.threadGoal / threadSettings / compaction`;服务端进度路由和 Android 原生进度卡已支持展示,测试覆盖 cwd、turnId、内部 prompt 不外泄
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `account/updated``account/rateLimits/updated``model/verification``warning``configWarning``deprecationNotice` 归一成 `executionProgress.accountStatus / modelVerification / warnings`;服务端进度路由和 Android 原生进度卡已支持展示测试覆盖配置路径、turnId 和密钥不外泄
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `ThreadItem.collabToolCall``ThreadItem.contextCompaction` 归一成 `executionProgress.threadCollaboration / compaction`;新版 `receiverThreadIds / agentsStates` 只归一为目标数量与 agent 状态集合;服务端进度路由和 Android 原生进度卡已支持展示,测试覆盖源/目标线程 ID、内部 prompt、agent 私有消息、turnId 和密钥不外泄
- `local-agent/codex-app-server-runner.mjs` 已新增 `threadCollaborationSummary` 能力摘要:当前 Boss Broker 和运行时 `collabToolCall` handler 可用,但本机 0.136.0-alpha.2 schema 没有声明 `ThreadItem.collabToolCall`所以产品口径固定为“Boss 受控线程协作”,不承诺 Codex 原生线程私聊。
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `mcpToolCall``dynamicToolCall``webSearch``imageView``enteredReviewMode``exitedReviewMode``commandExecution` 归一成 `executionProgress.toolActivities`;服务端进度路由和 Android 原生进度卡已支持展示,测试覆盖 tool arguments/result、URL token、命令正文/输出、本地路径和密钥不外泄
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `ThreadItem.plan``ThreadItem.reasoning.summary` 归一成 `executionProgress.steps / reasoningSummary`;服务端进度路由和 Android 原生进度卡已支持展示,测试覆盖 raw reasoning content、reasoning item id 和密钥不外泄
- `local-agent/codex-app-server-runner.mjs` 已把 App Server `ThreadItem.imageGeneration` 归一成 `executionProgress.toolActivities / artifacts`;服务端进度路由和 Android 原生进度卡已支持展示,测试覆盖 revisedPrompt、result、item id、本地绝对路径和密钥不外泄
@@ -164,6 +167,7 @@ UI 参考:
- 新增 App Server 共享 Skill 根下发:配置 `codexAppServerSkillExtraRoots``BOSS_CODEX_APP_SERVER_SKILL_EXTRA_ROOTS`runner 会在 discovery 阶段调用 `skills/extraRoots/set`,再刷新 `skills/list`;设备详情页展示“共享 Skill 根N 个 · 已下发/下发失败”metadata 只保存数量、basename 和状态,不保存绝对路径
- 新增 App Server Hook 治理 discoveryrunner 会调用 `hooks/list` 并写入 `hookSummary`设备详情页展示“HookN 个 · 启用 N 个 · 警告 N 个”metadata 只保存计数、事件名和 handler 类型,不保存 hook key、command、sourcePath、statusMessage、hash、error message 或本地路径
- 新增 App Server 线程操作能力摘要runner 写入 `threadActionSummary`设备详情页展示“线程操作N 项”;该字段只来自安全 catalog 和协议快照,不在 heartbeat 中调用任何会改变线程状态的 API后续真正执行这些动作必须走用户显式指令、RBAC、审批和审计链路。
- 新增 App Server 线程协作口径摘要runner 写入 `threadCollaborationSummary`设备详情页展示“线程协作Boss Broker 可用/不可用 · 协作事件可处理/不可处理 · N 种模式 · 原生私聊/非原生私聊”;该字段只来自当前 runner 能力、heartbeat discovery 和协议快照,不在 heartbeat 中向线程注入内容。
- 新增 App Server 插件治理能力摘要runner 写入 `pluginGovernanceSummary`设备详情页展示“插件治理N 项”;该字段只来自安全 catalog 和协议快照,不在 heartbeat 中调用插件安装、卸载或共享 API后续真正执行这些动作必须走用户显式指令、RBAC、审批和审计链路。
- 新增 App Server 账号与配置治理能力摘要runner 写入 `accountGovernanceSummary / configGovernanceSummary`,设备详情页展示“账号治理 / 配置治理”;这些字段只来自安全 catalog 和协议快照,不在 heartbeat 中调用账号登录、退出、令牌刷新、配置写入、MCP 重载或 Skill config 写入 API后续真正执行这些动作必须走用户显式指令、RBAC、审批和审计链路。
- 新增 App Server 文件系统与命令会话治理能力摘要runner 写入 `fileSystemGovernanceSummary / commandSessionSummary`,设备详情页展示“文件治理 / 命令会话”;这些字段只来自安全 catalog 和协议快照,不在 heartbeat 中调用文件读写、删除、监听、stdin 写入、PTY resize 或 terminate API后续真正执行这些动作必须走用户显式指令、RBAC、审批、租约和审计链路。