Skip to content

DSCodex v1.2.2 — Spawn and Switch

Choose a tag to compare

@fish2lab fish2lab released this 20 Sep 09:38
· 5 commits to main since this release

DSCodex v1.2.2 — Spawn and Switch

三条社区报告一起落地:DeepSeek 上 spawn 子 agent 必炸、同一任务 DeepSeek → GPT 切换在 v1.2.1 上再次 400、DeepSeek 任务首轮要等 10–15 秒的 WebSocket 重连。感谢 @Yilmhi(#24)、@danielkuang666(#25)、@zhuzw1990(#23)。

Highlights

  • 🤖 DeepSeek 上可以 spawn 子 agent 了(#24)。 Codex 把交给子 agent 的任务放在 agent_message 里,内容块类型是 encrypted_content(实际是明文)。DeepSeek 的内容枚举只认 input_text / output_text / input_image / input_file,整个请求 422;改成 assistant 角色重放后又因为缺 reasoning_text 400。现在路由器把这类块改写成 input_text、把 agent_message 以 user 角色重放,并剥掉 internal_chat_message_metadata_passthrough。任何 DeepSeek 不认识的内容块都按同一规则处理:有文字的保留文字,没有的丢弃。
  • 🔁 DeepSeek → GPT 切换再次修好(#23)。 DeepSeek 现在给 reasoning item 填一个 38 字符的 UUID 占位 encrypted_content,v1.2.0 的「encrypted_content 为空才算外来」判据因此失效。新判据不再看该字段是否为空:带 reasoning_text 内容的 reasoning 一律剥掉(官方 GPT reasoning 从不带 content),encrypted_content 非空且不是 ChatGPT 密文(base64 gAAAAA 开头)的也剥掉;compaction 同理。HTTP 与 WebSocket 两条路一致。
  • ⚡ DeepSeek 的 WS 握手直接 426(#25)。 ChatGPT 登录的桌面端在握手时带 x-codex-routing-hint: model=<slug>;tier=<tier>。识别为 DeepSeek 就在握手阶段回 HTTP 426,客户端走零重试的 HTTP 回退,不再吃 5 次退避重连;本机实测首轮从 10–15 秒降到约 1.4 秒。没有该头的客户端保持原来的首帧 close 1008 路径。
  • 🎙 Voice 说明更新。 桌面端 26.908 起语音由客户端自己直连 chatgpt.com/wham/realtime/calls,不经过 openai_base_url,路由器无事可做;PR #21 据此关闭。

升级

git pull --ff-only
npm install
node src/cli.mjs stop && node src/cli.mjs start
node src/cli.mjs doctor

随后完全退出(⌘Q)并重开 ChatGPT 桌面端,再新建一个任务。已有任务保留旧模型状态。

验收

  • 版本号在 package.json、src/constants.mjs、CITATION.cff、node src/cli.mjs --version 四处对齐 1.2.2。
  • 本机测试:131 项,0 失败;Windows 原生项在 macOS 上跳过。git diff --check 干净。
  • 活探针:codex -m deepseek/deepseek-flash … exec 工具循环通过;server.log 显示 deepseek websocket upgrade rejected with 426 … (hint model=deepseek/deepseek-flash) 后 1.4 秒内 HTTP 200。
  • #24 作者对真实 DeepSeek 端点做过 400 → 200 与子 agent 端到端验证(含子 agent 调工具、子 agent 再 spawn)。

未验收

  • GPT 模型的子 agent仍在客户端侧失败(Encrypted function output content could not be decrypted or decoded),属上游问题:https://github.com/openai/codex/issues/33267。
  • Windows 实机(桌面端 + 自启动)未在发布机上跑过,仅有 CI 覆盖。