## 提交前确认 - [x] 我已搜索过现有 issue,确认这不是重复。 - [x] 我已阅读 [CONTRIBUTING.md](https://github.com/zai-org/feedback/blob/main/CONTRIBUTING.md)。 - 问题类别:对话 / Agent 交互 - 涉及框架:Codex - 严重程度:影响体验 - 复现频率:必现(基于当前源码路径;未通过真实五分钟等待验证) ## 问题描述 桌面端“提问自动继续”说明写的是:开启后,Agent 提问 5 分钟未回答会自动继续;关闭后,当前和后续提问会一直等待回答。 该行为已在 Codez Agent / `AskUserQuestion` 上实现,但 Codex 原生提问(`item/tool/requestUserInput`)没有接入同一套自动继续语义。代码中还明确把 Codex 的偏好归一化为 `false`,因此无论 UI 设置开启还是关闭,Codex 提问都没有 deadline,会一直 pending,直到用户回答、停止任务或取消交互。 这个问题与“Codex 是否允许空答案”无关:当前产品规则已经承诺普通提问受该开关控制,但 Codex 原生提问没有对应的状态、计时和收口实现。 ## 复现步骤 1. 在 Codex 模式开启“设置 → 交互 → 提问自动继续”。 2. 让 Codex 发起一个普通用户提问。 3. 不回答该提问,等待超过 5 分钟。 4. 即使到了 deadline,交互仍保持 pending,Codex turn 不会以“未回答,使用最佳判断继续”的方式恢复。 ## 期望表现 Codex 原生普通提问应与 `AskUserQuestion` 共用同一产品语义: - 开关开启时,问题在五分钟未回答后以空答案成功收口,模型使用最佳判断继续;UI 历史显示“未回答,已自动继续”,不伪造用户消息。 - 用户首次有效操作后永久暂停本次计时。 - 开关关闭时,当前及后续普通提问一直等待回答。 - 计时中关闭开关时,已有 active deadline 转为 `snoozed`;跨过原 deadline 仍保持 pending。关闭期间注册的问题在重新开启后也不追溯获得 deadline。 - 普通权限请求和 `ExitPlanMode` 计划审批不参与自动继续。 - 桌面 continuous、手机 replayable 和远程共享 Host 恢复同一绝对 deadline,不重新开始五分钟。 ## 实际表现 - Codex 原生 `item/tool/requestUserInput` 被投影成 pending interaction,但没有 `autoResolution` 状态或 timer。 - Codex 回答路径拒绝空答案,提示 `Every question requires an answer`。 - Codex 控制面拒绝开启偏好,返回 `Codex questions require explicit user answers`。 - Host 在 Codex 模式下把 `askUserQuestionAutoResolutionEnabled` 发送为 `false`;UI 适配层也固定为 `false`。 - 因此通用设置对该类 Codex 提问不生效,且没有可见的计时胶囊或“未回答,已自动继续”历史状态。 ## 代码证据 - [提问交互 projection](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/packages/codex-bridge/src/interactions.ts#L55-L100):`item/tool/requestUserInput` 只创建 pending interaction,未见 deadline 注册。 - [空答案拒绝](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/packages/codex-bridge/src/interactions.ts#L273-L295):逐题要求非空答案,未实现未回答继续分支。 - [偏好拒绝](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/packages/codex-bridge/src/control-plane.ts#L228-L237):开启该偏好直接返回 `unsupported`。 - [Host 归一化](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/packages/services/src/codez-agent/codezAgentService.ts#L2082-L2091):Codex 模式强制发送 `false`。 - [桌面适配](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/packages/ui/src/settings/codex/codexRuntimePreferences.ts#L1-L14):原生 Codex 偏好投影固定为关闭。 - [既有产品契约](https://github.com/zai-org/ZCode/blob/925937b4c7e8bf7d63f6b49da1fbdd050fbeabe0/docs/ask-user-question-auto-resolution.md#L1-L11):普通提问默认在五分钟未回答后继续,并由用户设置控制。 ## 建议的最小修复边界 由 Codex bridge 持有原生 pending 请求的 deadline 和暂停状态,复用现有 interaction 状态投影;不要在 Renderer 单独计时,也不要让 Main 保存业务 timer。自动收口必须生成可被 Codex 接受的响应,并保证同一 interaction 只写入一次。设置同步、关闭和 deadline 竞争应沿用现有串行/先到先得语义。 修复后请补充以下断言: - 开启后 60 秒/300 秒阶段、空答案收口及历史文案。 - 用户首次操作暂停;重复暂停幂等。 - 关闭时已有与后续问题都不计时;重新开启不追溯。 - deadline 与关闭竞态只产生一次收口。 - 桌面刷新、手机 replayable 快照和远程 Host 恢复同一绝对 deadline。 - 普通权限与 `ExitPlanMode` 行为不变。 ## 版本与环境 - ZCode 桌面端,版本请维护者以 issue 创建时间的 `main` 为准;未附个人设备、账号或本地日志。 - 本次基于源码静态核查,未执行真实五分钟等待;代码路径已足以确认该能力未接入。
Activity
github-actions commentedon Nov 4, 2026
👋 感谢你的反馈,我们已经收到。
status: 待评估,你可以随时补充信息。needs: 更多信息标签并 @ 你。👋 Thanks — we've received your issue.
status: 待评估(Triage); feel free to add context.needs: 更多信息and ping you.KingingWang commentedon Nov 4, 2026
This issue was filed in the wrong repository and has been closed. The report has been moved to the project fork.