Skip to content

feat(ask-user): 提交前复核与草稿保留 #499

Description

@tt-a1i

结论

保留 OpenPI 现有 ask_user schema(1–3 题、互斥选项、parent-only)。从 @juicesharp/rpiv-ask-user-question 借鉴 TUI:Submit 汇总未答项、overlay 收起后草稿仍在、RPC 走 host dialog不做成第二套问卷产品,不安装第二套 ask-user 包。

本轮未安装、未运行该包。Pi 继续拥有 install / update / uninstall。不提议新安装器。

事实

冻结身份(last-seen 2026-09-08):

版本 / 日期 来源
@juicesharp/rpiv-ask-user-question npm 2.9.0(2026-09-01) https://www.npmjs.com/package/@juicesharp/rpiv-ask-user-question · https://github.com/juicesharp/rpiv-mono/tree/main/packages/rpiv-ask-user-question

公开 README 声明的 TUI 模式(未在本轮执行):

  • 多问题 tabs;
  • Submit tab 汇总答案并标未回答项;
  • 自由输入 / Notes 草稿在切换选项后保留;
  • RPC / ACP 使用 host dialog;non-interactive 模式直接移除工具。

OpenPI 现状(extensions/ask-user/,对照本 checkout):

  • 已有顺序作答 + 提交前 review screen;review 可重开任一题;
  • Esc 关闭整次问卷时,不向模型返回答案dismissed);
  • ask_user / human_handoff 已在 CHILD_EXCLUDED_TOOL_NAMES(parent-only)。

2026-08-09 审计 P1 已建议:保留名称与 schema,最小改进顺序为 Submit review → 草稿保持 → collapse transcript → RPC degradation。本 Issue 承接该 P1,不改写审计结论。

推断

现有 review screen 已经挡住「未复核就提交」。仍缺的是 juicesharp 级的 未答汇总、dismiss/collapse 后草稿仍在、RPC host dialog。这些是 TUI / host 投影,不是新问卷 schema,也不需要第二套工具名。

「草稿保留」指 overlay 被收起或误关后再打开时,用户已选/已写的内容还在。模型侧 dismiss 仍必须是 dismissed,不能把未提交草稿当成答案。

建议

  1. 保持 ask_user 参数与 1–3 / 互斥选项不变;不做 multi-select(会改 schema)。
  2. TUI:Submit 汇总未答项;dismiss/collapse 后草稿可恢复。
  3. RPC:host dialog;无 UI 时 fail-closed 移除或拒绝工具,不假装已回答。
  4. child 分类不变:继续 parent-only。
  5. 不引入 @narumitw/pi-tui-kit 依赖,除非 Ask User 与 Plan manager 之后出现第三个相同交互(审计原结论)。

未知

验收

  • TUI 提交前复核:Submit 汇总可见未答项(现有 review screen 可复用,但必须达到「未答可见、不能漏提交」)
  • overlay dismiss / collapse 后草稿仍在;模型侧 dismiss 仍不返回答案
  • 仍为 parent-only;CHILD_EXCLUDED_TOOL_NAMES 分类不变
  • 不引入第二套 ask-user 包或第二套工具名
  • 不改 1–3 题 schema,不做 multi-select

关联

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions