前言¶
在 DSH 里直接描述任务时,模型往往会立刻动手改文件、跑命令。任务牵涉多个方面时,缺省假设容易和真实意图不一致,事后返工成本高。常见做法是会话里反复追问,或依赖审批拦截敏感操作,但前者节奏松散,后者往往已经走到执行阶段。
dsh-preset-requirement-confirm 是一个「先确认、后执行」的 Agent 预设组合包:模型先把需求拆成子需求,用一次问卷逐题确认(选项、多选、手动填写、每题可带通俗解释),你提交之后才开始执行。下面介绍它的组成、安装方式与使用步骤。
这是什么¶
- 名称:
dsh-preset-requirement-confirm(npm 包名与安装标识一致) - 维护者:Self-Identity
- 分类:工作流(社区目录 SkillHub)
- 许可:MIT;与 DeepSeek 官方无隶属关系
该包对齐 DSH 桌面端 0.2.1-rc.1 / 0.2.1-rc.2 的出厂 standard 组合,在 persona 上增加「拆解 → 问卷 → 等待确认 → 授权说明」四步工作流,并替换问卷工具以支持每题可选的 detail 说明字段;浏览器半区则修正说明文本与题目标题的对齐与配色。
核心功能¶
Agent 预设(host)¶
- 通过
cordis.patch.yml插入@deepseek-ai/dsh-agent-preset,预设选择器中出现 需求确认。 - 禁用出厂的
@deepseek-ai/dsh-tool-ask-user,由本包./tool注册同名ask_user_question工具;schema 多一个每题可选的detail字段。同名注册用于与问卷卡片集成(例如关闭卡片后从工具行重新打开)。 - 其余 bundle 行与
standard一致(persona、agent-instructions、bash/fs、计划模式、委派、todo、web 等)。
浏览器样式(client)¶
出厂问卷卡片对 detail 说明块仅给了较小外边距,说明文本会贴边,与内缩 24px 的题目标题不对齐。client 半区注入 CSS:说明块左右 padding-inline: 24px,并使用选项释义的灰色(var(--dsw-alias-label-tertiary))。选择器锚定 data-question-scroll 与 DOM 结构,不依赖会变的 CSS Module 类名。
执行与审批¶
- 模型在收到问卷提交后才开始执行任务。
- 需要授权的操作会在审批面板显示模型填写的
justification(由 persona 约束模型写清楚,不修改客户端 UI)。
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议在 GitHub 查看源码与 LICENSE,确认符合你的安全与合规要求。
- 客户端侧边栏 → 插件 → 添加插件。
- 填写安装标识(版本以资料为准):
dsh-preset-requirement-confirm@1.3.0
也可选择本地源码目录安装(开发场景)。
- 点击 安装 → 立即启用;若提示「改动在下次启动生效」,重启客户端。
- 新建会话,在预设选择器里选择 需求确认。
package.json 中 engines 要求 Node >=22.19.0,DSH >=0.2.1-rc.2 <0.3.0。
典型用法¶
- 用 需求确认 预设新建会话,描述一个包含多个方面的任务。
- 模型调用
ask_user_question:每题可显示detail说明、若干选项(含 以上皆可)、多选与手动填写入口。 - 在问卷卡片中作答并提交;仅在此之后模型开始执行。
- 若操作需要授权,在审批面板查看模型提供的
justification再决定是否通过。
适用场景与注意¶
适合:需求维度多、希望一次性对齐选项与边界后再改代码或跑命令的工作流;希望每题附带简短解释、降低误选概率的会话。
已知限制(来自 README):
- 浏览器样式依赖问卷卡片的
data-question-scroll结构;客户端改版后样式可能静默失效,但不影响布局。 - 样式只作用于通用问卷卡片,不影响计划评审卡、已作答回放卡。
- 预设对模型是软约束,仍可能跳过问卷;需要硬性拦截时请配合沙箱与审批策略。
- 审批说明不是独立折叠区,依赖模型在
justification中写清楚。
卸载:在 插件 中禁用或移除该组合包后重启客户端。