dsh-grill:在规划与执行前先做「拷问」澄清

前言

在 DSH(DeepSeek Harness)里交给智能体一项任务时,常见情况是需求里仍有歧义、缺字段或隐含假设,模型却已经开始改文件、跑命令。Plan 模式能先出方案,但不会系统化地把「阻塞性不明点」拆开问清楚。维护者 Kingzhoudk 提供的 拷问(Grill)模式插件,把「先分析、先问清阻塞项、再规划或执行」写进会话级策略,并在 Composer 工具栏提供开关。下面介绍它是什么、怎么装、怎么用,以及配置时要注意什么。

这是什么

dsh-grill 是 DSH 的工作流类插件:为每个会话增加一个可恢复的「拷问模式」开关。开启后,每条用户请求都要先过一道分析闸门,再进入规划或执行;简单、可逆、范围极小的活可以直接做并附一行说明,其余非平凡任务必须先出完整计划并等你批准,期间不得发起会改变状态的 tool 调用。

DSH 的生态原则是「一切皆插件」;SkillHub 等目录由社区维护,与 DeepSeek / 幻方无官方从属关系。安装前请自行阅读仓库源码与许可证——插件随当前 DSH 进程权限运行。

核心功能

分析闸门(开启模式后每条请求)

模式打开时,智能体对用户请求按 README 描述的步骤处理:

  1. 分析目标、范围、输入、约束、含糊用语、矛盾与沉默假设。
  2. 将发现分为 blocking(阻塞)与 non-blocking(非阻塞)。
  3. 存在阻塞项时停止推进,通过 ask_user_question 提问:点明具体歧义、说明为何阻塞、给出 2–4 个可执行选项(推荐项放前)及修补建议。
  4. 每次得到回答后重新分析,直到没有阻塞项。
  5. 权衡任务量级:琐碎工作(单文件、只读、可逆、验收标准显然)可直接执行并附一行阅读说明;非平凡工作(多文件、新功能、共享或用户可见行为变更、不可逆步骤、或改动 plugins/profiles/prompt 策略)必须先 规划并停下,未经用户批准不得做会改变状态的 tool 调用。
  6. 非平凡计划的回复需包含已确认需求、精确路径与逐文件改动、行为前后对比、验证方式、风险与回滚、本可静默替你做的选择,以及一行「是否继续」;同一轮通过 ask_user_question 征求批准(Approve and execute / I want to change the plan / Stop for now)。

同一 Session 内后续消息(含「继续」「改一下」等短跟帖)也受此闸门约束;若跟帖是在 已批准计划 上的延续,则按延续执行,而不是重新走一遍完整规划。

会话级开关与界面

  • Composer 工具行 conversation.input.left 组最前(order 10)注册开关;权限选择器与 plan chip 在更早的 mode cluster 中渲染,与开关不在同一紧邻位置。
  • 点击开关等价于执行 /grill on 或 /grill off,无独立客户端模式状态。
  • 模式按 Session + 日志投影 持久化:/grill on、/grill off 为普通斜杠命令;resume、fork、replay 会从既有 command/run / command/done 事件折叠恢复开关位置。
  • 开启时 Host 在每次模型请求的 system prompt 中注入 grill:policy 段(紧接在 plan-mode policy 之后);关闭的 Session 不附加该段。

斜杠命令

在任意会话中可直接输入:

  • /grill:无参数时 开启 模式(不 toggle)。
  • /grill on / /grill off:显式开/关。
  • 无 status 子命令。

子智能体

Fork 出的子智能体继承父会话日志前缀,开启拷问模式时协议同样生效。被委托的子智能体不能向人类提问(ask_user_question 会以 DELEGATED_CALLER 拒绝);内置协议含例外:阻塞性问题改为在最终结果中汇报。可通过配置 appendSubagentNote 控制是否在自定义 section 后仍附加该说明。

安装与启用

官方安装方式(摘自 README):

dsh plugin add github:Kingzhoudk/dsh-grill
# 或使用显式 git 地址
dsh plugin add git+https://github.com/Kingzhoudk/dsh-grill.git

插件管理器会记录依赖并启用 bundle;Host 行经 live profile patch 激活,浏览器侧 client.js 作为客户端模块注入,页面加载新 client 图后 Composer 会出现开关。若本机 DSH 版本不在 >=0.2.2-rc.1 <0.3.0 范围内,管理器会拒绝安装。

典型用法

用界面开关

  1. 完成安装并刷新会话页面。
  2. 在 Composer 输入区左侧工具组打开「拷问」开关(底层为 /grill on)。
  3. 用自然语言提出任务;若存在阻塞歧义,智能体会先追问选项,再继续。
  4. 对非平凡任务,阅读计划全文后,在同一轮问题中选择 Approve and execute 等选项。

用斜杠命令

关闭或不想用开关时,可在输入框执行:

/grill on

结束会话级拷问策略:

/grill off

可选配置(profile 中的插件行)

在 Cordis profile 的插件行可为 grill 指定:

- id: grill
  name: 'dsh-grill'
  config:
    section: |-
      ...custom model-facing protocol text...
    appendSubagentNote: true
  • section:替换默认面向模型的协议全文;省略或留空则使用 README 中的内置文本。
  • appendSubagentNote:默认 true,在生效文本后附加子智能体例外说明;若自定义 section 已写明 DELEGATED_CALLER 相关规则,可设为 false。

无效配置会在插件加载时失败(类型错误、未知键、协议超长等);有效协议文本上限为 20000 字符。

适用场景与注意

更适合:需求常含业务术语与隐含约束、希望减少「先动手再返工」、需要在改多文件或不可逆操作前看到带路径与回滚说明的计划、团队希望统一「先澄清再执行」的工作流习惯。

使用时注意:

  • 开启后交互步数可能增加,琐碎任务虽可直通,但边界由模型按协议自判,应用时仍应自己核对验收标准。
  • 子任务委托场景下,阻塞问题不会弹窗问你,只会写入子智能体结果,需在上层会话里处理。
  • 插件不替代你对权限与安全的要求:安装前后请审查 index.js、client.js 与 patch 内容。

维护者提供的集成测试需在 DSH 源码检出目录上运行(DSH_CHECKOUT=/path/to/deepseek-harness node scripts/test.mjs),普通使用者以 Plugin Manager 安装即可。

结尾

dsh-grill 把「拷问」做成可 per-session 切换的策略与 Composer 开关:阻塞歧义先问清,非平凡改动先计划后执行。若你在 Harness 里做复杂工作流,值得一试。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye