Skip to content

fix(cli): 修复 Codex 会话重复同步造成的异常分支 - #296

Open
atou42 wants to merge 1 commit into
netaart:mainfrom
atou42:fix/codex-user-message-sync
Open

atou42 wants to merge 1 commit into
netaart:mainfrom
atou42:fix/codex-user-message-sync

Conversation

@atou42

@atou42 atou42 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

在 Cohub 发起、由本地 Codex 执行的同一轮对话,可能被原生会话同步再次上传,产生用户没有主动创建的 fork。实际排查发现,原会话与分支连续五轮的回答及本地归档完全相同,属于同一次执行被重复同步。

原因是 Codex 0.162.1 将云端轮次标记保存在 event_msg/user_message.client_id,现有读取逻辑只识别旧的 item_completed/UserMessage.client_id,漏掉了新格式中的标记。

本次正式修复只有 2 行:读取新位置的标记,复用已有去重逻辑。另附三项必要回归检查及一条 CLI 补丁发布说明;不改同步架构,不清理或合并已有会话。

验证结果:

  • 三项新增检查均先失败、修复后通过:执行中和已完成的 Cohub 轮次不重复上传,真正的本地续聊仍只上传一次并接回原会话。
  • 最终相关测试 25 项全部通过;改动文件检查、CLI 类型检查及 CLI/依赖构建通过。
  • 在四份受影响的真实本地记录上验证,同样的修补能认回原云端轮次,回答内容不变。

问题现场截图(2026-10-11)

下图直接截自 Cohub 的会话列表:上方是原会话“Space CSS 换肤设计与实现”,下方是意外出现的 # AGENTS.md instructions for /… 会话,左侧连线显示派生关系。用户没有主动派生这条会话,也没有同时在两端继续。截图仅保留这两条会话的标题和关系,已裁掉聊天正文、其他会话以及浏览器内容,没有重建界面。

Cohub 问题现场:原会话下方出现意外的派生会话

截图中的 fetch failed 是原会话后来出现的另一个错误,不是本 PR 的修复对象。截图展示异常分支现象;重复同步的判断依据前述五轮回答及本地归档一致的核查结果。

图片存放在独立证据分支,不增加本 PR 的源码改动。尚未替换运行中的本地后台程序。

@atou42 atou42 changed the title fix(cli): prevent duplicate native sync of Codex cloud turns fix(cli): 修复 Codex 会话重复同步造成的异常分支 Oct 11, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant