交互提问
在真正需要抉择的岔路口——需求含糊、两种可行方案二选一——AtomCode 会停下来向你提一个结构化问题,而不是替你猜。你就地作答,它拿到你的选择后继续。该能力由 request_user_input 工具驱动,默认开启。
权限审批问的是「能不能执行某个工具」(跑命令、改文件);交互提问问的是「你怎么决定」——偏好,或在几种做法之间选一个。两者面板不同、按键不同、含义不同。拒答一个问题从不算错误;拒绝一次审批则会拦下该工具。
三种提问类型
| 类型 | 行为 |
|---|---|
| single 单选 | 单选列表——只选一项,按 Enter 立即提交。 |
| multiple 多选 | 复选框——任意多选,再到 Submit(提交)行确认。 |
| text 文本 | 自由文本作答,无选项。 |
单选和多选还会额外提供一行 “Other——自己输入答案”,让你不被限死在给定选项里。只有当模型判定选项已穷尽时才会隐藏该行。
在终端里作答
| 按键 | 作用 |
|---|---|
| ↑ / ↓ | 在选项(以及 Other / Submit 行)间移动 |
| 1–9 | 跳到(单选)或切换(多选)第 N 个选项 |
| Space | 切换当前复选框(多选);在编辑 Other 行时输入空格 |
| Enter | 单选:提交高亮项 · 多选:在 Submit 行提交 · 文本:提交输入内容 |
| 输入 / Backspace | 编辑 Other 行或自由文本答案 |
| Esc | 拒答——AtomCode 会按自己的最佳判断继续 |
| Ctrl+C | 拒答 并 取消当前回合 |
单选题一键即可作答(高亮后按 Enter);多选题用 Enter/Space 勾选各行,只有激活专门的 Submit 行才真正提交。
一次问多个问题
当同一个抉择点上有不止一个要问的,AtomCode 会把它们(最多四个)合并进一个面板,而不是反复打断你。用 Tab 在各题间切换,逐一作答,再一次性提交。只有一个问题时的渲染与以前完全一致。
在 Web UI 中
同样的问题会在 Web UI 里以 UserInputCard 卡片出现:单选按钮、复选框或文本框,以及同样的可选自由文本行。多题会变成一个小步进器——用 → / ← 按钮前后翻题,最后一个 Submit 一次性提交全部答案,Skip 则拒答。答案通过实时 SSE 通道回传,所以从浏览器发起的回合会像终端一样暂停、再继续。
关闭该功能
该功能默认开启。若要关闭,启动前设置环境变量:
ATOMCODE_REQUEST_USER_INPUT=0 atomcode
0、false、off 或空值任一都会关闭;不设置(或其它值)则保持开启。关闭后,AtomCode 不再提问,始终按自己的最佳判断继续。
在 Bypass / 免审批 模式下,面板会被自动跳过,AtomCode 不等待直接继续。Build、Plan、Accept Edits 模式都会正常展示问题。