问题描述
ask_user(question, candidates) 在 TUI v2 中会根据问题文本是否包含 [多选] 自动切换为 MultiChoiceList(Space 切换 + Enter 提交),支持真正的多选。
但在 TG 前端中,candidates 被固定渲染为 InlineKeyboardButton,点即提交,没有任何多选逻辑。同一个 Agent 调用同一套参数,两个前端行为不一致。
复现步骤
- Agent 调用
ask_user("请选择感兴趣的方向 [多选]", candidates=["Python", "JavaScript", "Go", "Rust"])
- 在 TUI v2 中:出现 MultiChoiceList,可以 Space 勾选多项,Enter 提交,结果以
; 拼接
- 在 TG 中:出现 Inline Keyboard,点击任意一项立即提交,无法多选
期望行为
两个前端对 candidates 的交互行为应一致。如果 TG 端暂不支持多选,至少不应静默降级为单选——用户无法感知当前只能单选。
环境
- GA latest master
- TG 前端:
frontends/tgapp.py
- TUI v2:
frontends/tuiapp_v2.py
问题描述
ask_user(question, candidates)在 TUI v2 中会根据问题文本是否包含[多选]自动切换为MultiChoiceList(Space 切换 + Enter 提交),支持真正的多选。但在 TG 前端中,candidates 被固定渲染为
InlineKeyboardButton,点即提交,没有任何多选逻辑。同一个 Agent 调用同一套参数,两个前端行为不一致。复现步骤
ask_user("请选择感兴趣的方向 [多选]", candidates=["Python", "JavaScript", "Go", "Rust"]);拼接期望行为
两个前端对 candidates 的交互行为应一致。如果 TG 端暂不支持多选,至少不应静默降级为单选——用户无法感知当前只能单选。
环境
frontends/tgapp.pyfrontends/tuiapp_v2.py