OpenSymphony 2.0.0 将 Codex 从原型研究推进为受支持的本地 harness 路径。

这个版本增加本地 Codex app-server 集成,让可信本地操作员可以通过已安装的 Codex CLI 路由 issue 工作,同时继续由 OpenSymphony 管理调度、工作区约束、运行清单和面向操作员的调试体验。

变化

  • codex_app_server 现在是受支持的本地 harness 类型。
  • OpenSymphony 会在 issue 工作区中以 codex --dangerously-bypass-hook-trust app-server --stdio 启动已安装的 Codex CLI。
  • initializethread/startturn/start 会根据已安装 Codex CLI 生成的 schema 校验。
  • workflow 和 launcher 可以通过 routing.harness: codex_app_serverOPENSYMPHONY_HARNESS=codex_app_server 选择 Codex。
  • gateway model settings 会报告 Codex CLI、app-server 和 ChatGPT 登录 readiness。
  • Codex-backed run 会记录 thread ID,因此 opensymphony debug <issue-key> 可以恢复匹配的 Codex thread。
  • Codex run 的 token usage、event summary、run-detail metrics 和桌面 run-detail 实时刷新更加清晰。

配置

routing:
  harness: codex_app_server
  model: gpt-5-codex
  model_profile: codex-chatgpt-local-keychain
OPENSYMPHONY_HARNESS=codex_app_server
OPENSYMPHONY_MODEL=gpt-5-codex
OPENSYMPHONY_MODEL_PROFILE=codex-chatgpt-local-keychain

使用 opensymphony run --dry-run 可以在启动模型 worker 前预览路由。

Readiness 与安全范围

OpenSymphony 将本地 ChatGPT 订阅视为 Codex CLI 登录引用。Readiness 只通过安全的操作员命令检查:codex --versioncodex app-server --helpcodex login status。Codex 原始 OAuth 材料不会进入 OpenSymphony 工作区、workflow 文件、日志、评论或 browser payload。

这是可信本地自动化路径。Hosted multi-tenant Codex worker pool 不在当前范围内,loopback WebSocket 仍是实验性能力,stdio JSON-RPC 是受支持的本地传输。

调试 Codex run

当 Codex app-server worker 启动 thread 时,OpenSymphony 会把 Codex thread ID 写入 issue 工作区 manifest。opensymphony debug <issue-key> 会在 issue 工作区中用 codex resume <thread-id> 恢复该 thread,而 opensymphony debug <issue-key> --app 会打印匹配的 codex://threads/<thread-id> deep link。

实现契约见 Codex app-server harness 文档