ask_user_question 选择器勾选后结果未回传,导致对话停滞并要求用户重复输入
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 401
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: Jiachi Deng
**客户端版本**: 0.1.25
---
## 现象
Cindy 内置的 `ask_user_question` 选择器能够正常显示,用户也可以点击并看到选项被勾选,但选择结果经常没有回传给 Agent。
工具调用结束后返回空结果或没有可用答案,当前对话无法按用户的选择继续。Agent 因此误以为用户没有回答,再次追问同一个问题;用户最后只能用文字重复输入刚刚已经选择过的答案。
该问题最近几天持续发生,并非单次偶发。它已经影响普通偏好确认,也影响需要明确授权的操作。例如用户已经在卡片中选择“你来协助轮换”,Agent 却因为未收到工具结果而错误地声称用户没有回答,直到用户发送勾选截图才得以继续。
## 复现步骤
1. Agent 调用 Cindy 内置的 `ask_user_question`,显示包含若干选项的确认卡片。
2. 用户点击其中一个选项。
3. 页面正常显示该选项已被勾选。
4. 等待工具结果和对话继续。
5. 工具调用没有向 Agent 返回所选内容,或只返回空结果。
6. 对话停滞,Agent再次要求用户选择或回复;用户必须用文字重复回答。
该流程在最近几天的多次使用中可以稳定复现。
## 期望行为
1. 用户点击选项后,`ask_user_question` 应立即向 Agent 返回准确、结构化的选项结果。
2. 当前对话应自动从等待状态恢复,并根据用户选择继续执行,不需要用户再发送一条文字消息。
3. 勾选结果与工具回传必须保持一致,尤其不能在界面显示已选择的同时让 Agent收到空结果。
4. 如果回传失败,应在卡片和工具结果中显示明确错误,并提供安全重试方式;不能静默丢失答案,更不能让 Agent 把系统故障归因于“用户未回答”。
5. 对涉及授权的选择,应保留可验证的选择结果,避免重复授权或错误判断。
## 实际行为
- 选择器可以显示,也可以正常勾选。
- 勾选后的选项没有回传给 Agent,工具调用表现为空结果。
- 对话不会按选择自动继续。
- Agent 会误判为用户没有作答并重复追问。
- 用户每次仍需用文字再次输入相同答案,选择器失去实际作用,体验很差。
---
**OS**: darwin arm64 (24.6.0)
**界面语言**: zh-CN
Contributor guide
Research direction
Start at the ask_user_question selector entry point and reproduce the issue by selecting an option while tracing the tool result sent to the Agent. Compare the selected UI state with the returned payload; done means the structured choice reliably reaches the Agent, resumes the conversation, and exposes a clear retry error if delivery fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100