🔶 Show HN:用于异步回答 Agent 问题的 UI
英文标题:🔶 Show HN: UI for answering agent questions async
Plannotator 让 Agent 将问题写入计划或 Markdown 文档,并以卡片形式集中展示,用户可在方便时一次回答后统一发送给 Agent。该工具支持 Claude Code、Codex 等读取 `~/.agents/skills` 的 Agent,也可用于终端 Agent 和桌面 Agent 应用。回答会作为反馈消息的一部分返回,Agent 可据此修订计划或将已确定的选项标记为 `- [x]`。这一机制旨在避免现代模型因等待逐个提问的人类回复而被阻塞,为 Agent 规划审阅提供更适合异步协作的交互界面。
262.9 KB
61.4 KB
61.4 KB
57.0 KB
57.0 KB
64.7 KB
64.7 KB
62.2 KB
62.2 KB
86.7 KB
86.7 KB
80.5 KB
80.5 KB
208.1 KB
208.1 KB
8.9 KB
8.9 KB
8.5 KB
8.5 KB
71.1 KB
中文
你的 Agent 有问题要问你。它不再需要在聊天提示中一次问一个问题,而是把问题写入自己的计划或文档中,Plannotator 会将每个问题显示为一张卡片。你可以在同一个地方、按照自己的时间安排回答全部问题,再将它们一次性发回给 Agent。现代模型没有理由因等待提示词回复而一直阻塞。终端 Agent 和桌面 Agent 应用都缺少一个用于回答问题的优秀界面;Plannotator 同时适用于这两类场景。在 question blocks 出现之前撰写的文章 An interactive UI for the grill-me skill,通过 /plannotator-last 展示了同样的理念;这是一个用于标注 Agent 最后一条消息的工具,对 CLI Agent 很有用。
如何使用
使用 skill。 Plannotator 安装器会为 Claude Code、Codex 以及其他读取 ~/.agents/skills 的 Agent 添加 plannotator skill。该 skill 会教会 Agent 问题语法。无需额外配置。只需让你的 Agent 使用它:
不使用 skill。 将此提示词复制到 Agent 的 AGENTS.md、CLAUDE.md 或你自己的 skill 中:然后:
- Agent 将问题写入其计划或一个 Markdown 文件中,Plannotator 会打开该文件。
- 你回答这些卡片。
- 你点击 发送回答。Agent 会在一条消息中收到全部回答。
参阅 Agent Skills,了解安装器配置的内容。
可用场景
问题功能可用于计划审阅、针对 Markdown 文件或文件夹运行的 plannotator annotate,以及 plannotator last。它不适用于 HTML 页面、运行中的应用、图表文件或代码审阅。从下一版 Plannotator 开始,Pi 集成会在你回答问题期间持续在计划审阅中运行;Claude Code 也会随之支持。
三种问题类型
Agent 写入的内容
一个问题块以 :::question 开始,并以 ::: 结束。
- 第一行是问题。选项之前的行是上下文。
- 每个选项的格式为
- [ ] label。可在标签后以-接续说明理由。 Recommended:指定 Agent 推荐的选项。如果它不匹配任何选项,Plannotator 会将其显示为建议答案。- [x]表示某个选项已经确定。
在问题中显示图片
问题中可以显示图片,例如模型稿或截图。请将一张 Markdown 图片单独放在问题中、选项之前的一行。卡片会在问题文字下方显示图片。路径相对于 Markdown 文件,与文档中的其他图片相同;也可以使用 URL。上面的 Agent 提示词未提及图片;需要时请主动要求 Agent 添加,例如:“在问题中显示模型稿。”可选的 Plannotator Flavored Markdown 提醒包含一小段说明和一个问题块示例。可在 ~/.plannotator/config.json 中设置 "pfmReminder": true 以启用。参阅 Configuration。
你的回答方式
每张卡片都会显示“第 N 个问题,共 M 个”以及状态:Open、Answered、Skipped 或 Settled。
- 选择一个选项,或在 其他… 中输入自己的回答。
- 添加备注 可为你的回答添加评论。
- 跳过 会告知 Agent 你选择不回答。
- 接受推荐 会自动填入 Agent 的推荐选项。该按钮只会出现在拥有推荐选项的未回答问题上。
你还可以像处理其他文本一样,选择问题文本并添加评论。参阅 Annotations and feedback。点击页眉中的已回答数量,可跳转至下一个未回答的问题。标注面板会在你的评论上方,以 Questions 区域列出所有问题。回答会保存在草稿中,因此刷新页面后仍会保留,且可以用 Mod+Z 撤销。
Agent 收到的内容
回答会出现在反馈的最前面。以下是某个 Agent 在一个包含四个问题的计划中点击 发送回答 后收到的内容:“(你的推荐)”表示你接受了 Agent 的推荐选项。备注会以 Note: 返回,被跳过的问题会显示为 Skipped,而未回答的问题会列在“Unanswered”下。在 Claude Code 中,整条消息如下所示:
在计划审阅中发送回答
当你对计划的唯一反馈是回答时,主按钮会显示为 发送回答。系统会告知 Agent 你已回答其问题,并要求其修订计划后重新提交。Agent 不会收到“你的计划未获批准”的消息。如果你还对计划添加了评论或进行了编辑,按钮会显示为 发送反馈,回答会置于常规反馈的顶部。若要修改 Agent 在点击 发送回答 后收到的消息,请在 prompts.plan 中设置 answered 键。参阅 Customize Feedback。
在 Claude Code 中,批准 不会将回答或备注发送给 Agent。Plannotator 会先向你发出警告。若要发送回答,请使用 发送回答。
使用 - [x] 重新提交
重新提交时,Agent 会对每个已回答问题执行以下两种操作之一:
- 删除问题块,并将决定写入计划。
- 保留问题块,并将选定选项标记为
- [x]。
已确定的选项会显示为已选中,并带有“Settled”标签。你仍然可以修改它。只有当你修改了已确定的问题或添加了备注时,该问题才会再次返回给 Agent。
限制
- 分享链接会将回答作为问题上的评论携带,而不是作为已填充的卡片。
- 使用 Plannotator WebMCP 工具的浏览器 Agent 可以读取问题和回答,但不能作答。
- 如果 Agent 改写了一个问题,你之前的回答将不再附着于该问题。该回答会在 Questions 区域显示为未锚定状态,但仍会被发送。
最后验证时间为 2026 年 10 月 3 日,使用 Plannotator v0.27.25,产品提交版本为 c9c8cbbb。截图和视频片段采集自 v0.27.23。由 Plannotator 项目维护。
最后修改于 2026 年 10 月 3 日
English / 原文
Your agent has questions for you. Instead of asking them one at a time in a chat prompt, it writes them into its plan or document, and Plannotator shows each one as a card. You answer them all in one place, on your own time, and send them back together. A modern model has no reason to sit blocked on a prompt. Terminal agents and desktop agent apps both lack a good interface for answering questions. Plannotator works with both. The post An interactive UI for the grill-me skill, written before question blocks existed, shows the same idea through /plannotator-last (a tool for annotating your agent’s last message, useful for CLI agents).
How to use
With the skill. The Plannotator installer adds a plannotator skill for Claude Code, Codex, and other agents that read ~/.agents/skills. It teaches the agent the question syntax. Nothing to set up. Ask your agent to use it: Without the skill. Copy this prompt into your agent’s AGENTS.md, CLAUDE.md, or a skill of your own: Then:
- Your agent writes its questions into its plan or a Markdown file. Plannotator opens it.
- You answer the cards.
- You click Send answers. The agent gets every answer in one message.
See Agent Skills for what the installer sets up.
Where it works
Questions work in plan review, in plannotator annotate on a Markdown file or folder, and in plannotator last. They do not work on HTML pages, live apps, diagram files, or in code review. From the next Plannotator release, the Pi integration keeps working during plan review while you answer. Claude Code follows.
The three kinds of question
What the agent writes
A question block starts with :::question and ends with :::.
- The first line is the question. Lines before the choices are context.
- Each choice is
- [ ] label. A reason can follow the label after-. Recommended:names the agent’s pick. If it matches no choice, Plannotator shows it as a suggested answer.- [x]marks a choice as already settled.
Show an image in a question
A question can show an image, such as a mockup or a screenshot. Put a Markdown image on its own line in the question, before the choices. The card shows it under the question text. The path is relative to the Markdown file, as for any other image in the document. A URL works too. The agent prompt above does not mention images. Ask for one when you want it, for example: “Show the mockup in the question.” The optional Plannotator Flavored Markdown reminder includes a short paragraph and an example of question blocks. Turn it on with "pfmReminder": true in ~/.plannotator/config.json. See Configuration.
How you answer
Each card shows “Question N of M” and a status: Open, Answered, Skipped, or Settled.
- Pick a choice, or type your own answer in Other….
- Add note adds a comment to your answer.
- Skip tells the agent you chose not to answer.
- Accept recommended fills in the agent’s pick. It shows only on an open question that has one.
You can also select and comment on the question text like any other text. See Annotations and feedback. Click the answered count in the header to jump to the next open question. The annotations panel lists every question in a Questions section above your comments. Answers are saved in your draft, so they survive a reload, and Mod+Z undoes them.
What the agent gets back
Answers come first in the feedback. This is what an agent received after Send answers on a four-question plan: “(your recommendation)” means you accepted the agent’s pick. A note comes back as Note:, a skipped question as Skipped, and questions you did not answer are listed under “Unanswered”. In Claude Code, the whole message looks like this:
Send answers in plan review
When your only feedback on a plan is answers, the main button reads Send answers. The agent is told you answered its questions and is asked to revise the plan and resubmit. It does not get the “your plan was not approved” message. If you also comment or edit the plan, the button reads Send feedback , and the answers go at the top of the normal feedback. To change the message the agent receives after Send answers , set the answered key in prompts.plan. See Customize Feedback.
In Claude Code, Approve does not send answers or notes to the agent. Plannotator warns you first. To send answers, use Send answers.
Resubmitting with - [x]
On resubmit, the agent does one of two things with each answered question:
- It removes the block and writes the decision into the plan.
- It keeps the block and marks the chosen choice
- [x].
A settled choice shows as selected with a “Settled” tag. You can still change it. A settled question comes back to the agent only if you changed it or added a note.
Limits
- Share links carry an answer as a comment on the question, not as a filled-in card.
- A browser agent using Plannotator’s WebMCP tools can read questions and answers but cannot answer.
- If the agent rewords a question, your earlier answer is no longer attached to it. The answer shows in the Questions section as unanchored and is still sent.
Last verified on October 3, 2026, using Plannotator release v0.27.25, product commit c9c8cbbb. Screenshots and the clip were captured from v0.27.23. Maintained by the Plannotator project.
Last modified on October 3, 2026