在 DeepSeek Harness (DSH) 中处理长任务时,经常遇到一次性输入巨大请求的情况。代理直接开始工作,没有规划,也没有明确的验收标准。dsh-goal-scaffold 作为一个门禁,在代理执行前拦截这些请求,询问用户是否先规划。
这是一个由 zriyox 开发的 DSH 插件,用于检测一次性巨大请求。它询问用户是否先规划,然后在代理工作前搭建 plan.md 和带上限的目标。
核心功能¶
- 拦截大需求并询问:检测一次性巨大请求,弹出交互窗口。
- 交互式决策:提供三个选项(先规划/直接开始/本次会话不再询问),由用户决定。
- 自动生成文档:生成带验收清单的
plan.md,并创建带上限的目标。 - 执行追踪:代理逐项执行,并实时勾选完成情况。
- 会话限制:一次会话内仅触发一次,避免重复打扰。
- 环境兼容:支持无头模式(不阻塞消息)。
- 消息过滤:仅对人类消息生效,工具注入或驱动续写不会触发。
- 可配置性:可配置触发检测的最小消息长度和额外的范围短语。
安装与启用¶
使用官方命令安装插件。
dsh plugin --profile web add github:zriyox/dsh-goal-scaffold
通过 YAML 配置文件启用并调整行为。
- id: goal-scaffold
config:
enabled: true # 主开关
minLength: 80 # 参与检测的最小消息长度
extraSignals: ['迁移'] # 额外的(不区分大小写)范围短语
典型用法¶
输入一个模糊的大任务(例如 “build me a complete task management system”),系统会弹出提示窗口。
- 选择 “Plan first”(推荐)。
- 请求发送后,代理被指示先编写
plan.md(其中每个项目都有可验证的验收标准)并创建带上限的目标。 - 代理显示计划,随后逐项执行并勾选复选框。
适用场景与注意¶
该插件适合需要结构化规划的大型复杂任务。
- 会话限制:在会话内最多触发一次,回答任何选项或选择 “本次会话不再询问” 后,直到新会话才会再次触发。
- 无头模式:在无头模式下(如
headlessprofile),因为没有用户提问渠道,消息会直接通过,不会阻塞。 - 消息生效范围:仅对人类消息生效,goal-driver 的续写、插件注入和工具产物不会触发检测。
- 取消行为:如果用户取消弹出窗口并输入其他内容,原始消息仍会照常发送。
插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。