im_wower
·
2026-03-28
BUG-024-chatgpt-final-message-stale-identity.md
1# BUG-024: ChatGPT 新对话 final_message 仍复用旧 identity,被 conductor 判重
2
3> 提交者:用户实测 + 本地日志核对
4> 日期:2026-03-28
5
6## 现象
7
8用户已经在 ChatGPT 新对话里拿到新的 assistant 回复,但 conductor 最新一条 ingest 仍然是:
9
10- `status = duplicate_message`
11- `assistant_message_id = 6b5fb596-902c-4eab-b58e-b49879bdb0f9`
12- `conversation_id = 69c766dd-f344-839b-a43e-73159aa626e1`
13
14而最近一次真正 `executed` 的记录仍停留在更早的一轮旧消息。也就是说,新回复没有作为“新的 final_message”进入 conductor。
15
16## 已核对事实
17
181. `conductor` 日志没有新的执行错误
192. `handleBrowserFinalMessage()` 只有在 `ingestResult.processResult != null` 时才会进入 delivery;当前没有新的 delivery 记录,说明问题发生在执行前
203. `browser.final_message` 的 identity 来自插件侧 `final-message.js`
214. ChatGPT 的 final-message 观察仍可能在页面重载、observer reinject 或旧消息 replay 后复用旧 identity
22
23## 相关代码
24
25- `plugins/baa-firefox/final-message.js`
26- `plugins/baa-firefox/controller.js`
27- `apps/conductor-daemon/src/firefox-ws.ts`
28
29## 当前判断
30
31这是插件侧 ChatGPT final-message 观察 / identity 提取问题,不是 conductor 执行或 delivery 问题。
32
33更具体地说,当前至少有两种风险需要排查:
34
35- 新 turn 的 `assistant_message_id` / `conversation_id` 提取来源不稳定,仍拿到了旧值
36- 页面 reload / 脚本 reinject 后,旧消息又被重新 relay,导致 conductor 正确地把它判成重复消息
37
38## 严重度
39
40**High**
41
42这会直接阻断 ChatGPT 的 BAA 新一轮执行。用户看到的是“ChatGPT 已经回复,但 conductor 没有继续工作”。