前言¶
在 DSH(DeepSeek Harness)里使用大模型时,一个常见的问题是「AI 该在什么时候停下、什么时候自己拍板」。低档位容易瞎猜方向,高档位又会在每个决策点都打断用户,形成来回拉扯。dsh-grillme 在输入框底部加一个「提问」按钮,用六档等级控制 AI 「先问还是先做」,等级按会话生效并直接写入系统提示词,让 AI 的节奏与用户需求对齐。
是什么¶
dsh-grillme 是一个 DSH 插件,由 nubeslove 维护,分类为「模型推理」。它为 DSH 输入区增加一个「提问」按钮,提供从「关闭」到「L5 拷问」的六档等级。等级写入系统提示词,不同档位会改变 AI 在任务执行中的提问频率与粒度,默认档为 L3「平衡」。
核心功能¶
- 六档等级:关闭、L1 全权委托、L2 简报、L3 平衡(默认)、L4 详尽、L5 拷问。
- 按会话生效:等级存在
~/.dsh/grillme.json,未单独设置的会话沿用defaultLevel。 - 写入系统提示词:通过
ctx.systemPrompt.section({ name: 'grillme:level', order: 9800, text: (context) => … })注册,每次装配重新求值,切换等级后下一轮对话生效。 - Host 侧接口:
GET /api/grillme/state?session=S→ 获取当前会话等级、默认档等。PUT /api/grillme/state→ 更新会话等级或默认档。GET /api/grillme/directive?level=N | ?session=S→ 返回该等级将来注入的完整文本。POST /api/grillme/ping→ 客户端心跳。GET /api/grillme/health→ 健康检查。- Client 侧挂载:注册到
conversation.input.left槽位,显示当前会话档位(如「提问 L3·平衡」),点击弹层选择等级。L1 绿色、L4 琥珀、L5 红色做视觉提示。弹层顶部注明「只作用于当前会话;未单独设置的会话沿用默认档 L3」。 - 自检文件:
~/.dsh/grillme-status.json记录挂载状态、会话 id、装配探针结果等,可在无浏览器环境下核验 host 与 client 是否正常。
六档行为要点¶
| 档位 | 名称 | 行为要点 |
|---|---|---|
| 关 | 关闭 | 不注入任何指令,行为退回宿主默认 |
| L1 | 全权委托 | 自己拍板,只在「不可逆损失 / 只有你才有的信息 / 指令自相矛盾」时才问;结尾列出「自主决策」清单 |
| L2 | 简报 | 动手前一条消息自报计划与 2–4 个关键取舍,说完就干,不等确认;只问影响范围或验收的歧义 |
| L3 | 平衡(默认) | 开工前一次性批量问清关键缺口(≤5 条,带候选与推荐),然后连续执行;只在高影响分叉上再问 |
| L4 | 详尽 | 先做深度访谈;每一阶段先给 2–3 个方案等确认再实现;命名、目录、选型、交互、测试范围逐项确认 |
| L5 | 拷问 | 先列「决策点普查」清单并给用户看,然后每批 3–5 条逐条追问,直到每一项都有明确选择;执行中冒出的新决策点立刻补问;用户说「你看着办」也要回问确认 |
安装与启用¶
安装命令如下:
dsh plugin --profile desktop add "github:nubeslove/dsh-grillme"
安装后,在 $DSH_HOME/profiles/desktop/package.json 的 dsh.profile.bundles 里追加 "dsh-grillme",重启 DSH。插件是纯 JS,没有构建步骤,也没有运行时依赖。
本地开发手工 link 时(桌面端 profile 由 Electron 独占管理时):
$profile = "C:\Users\云\.dsh\profiles\desktop"
# 1. 建立 link 依赖
New-Item -ItemType Junction -Path "$profile\node_modules\dsh-grillme" -Target "E:\project\便捷工具组\dsh-grillme"
# 2. 在 $profile\package.json 里加依赖
# "dsh-grillme": "link:E:/project/便捷工具组/dsh-grillme"
# 3. 把 dsh-grillme 追加到 $profile\package.json 的 dsh.profile.bundles 末尾
修改 dsh.profile.bundles 列表后保存,应用会当场重组(host 侧挂载 + 浏览器侧加载新模块),无需重启应用;页面若未刷新到最新前端代码,刷新一次即可。
典型用法¶
- 打开 DSH 输入区,输入框底部会出现「提问」按钮,显示当前会话档位(如「提问 L3·平衡」)。
- 点击按钮,弹出层选择等级,L1 绿色、L4 琥珀、L5 红色做视觉提示。
- 弹层顶部注明「只作用于当前会话;未单独设置的会话沿用默认档 L3」。
- 在弹层中可点击「查看注入内容」,看到该会话写入模型系统提示词的原文。
- 通过
GET /api/grillme/state?session=S可获取当前会话等级、默认档等,通过PUT /api/grillme/state更新等级。 - 查看
~/.dsh/grillme-status.json可核验 host 与 client 是否正常挂载、装配是否包含grillme:level。
适用场景与注意事项¶
- 适合需要精细控制 AI 提问频率与粒度的场景,如需要 AI 更多自主决策(L1/L2)或需要逐条确认(L4/L5)的任务。
- 等级按会话独立,每个会话一份;新会话不会继承上一个会话的选择。
- 等级只影响「问多少」,不影响权限与安全确认;权限提示、沙箱拦截、不可逆操作的确认照常。
- 明确写了「子代理不要向用户发问」,避免 L4/L5 把 subagent 也变成提问机器。
- 系统提示词按会话前缀缓存,切换等级会让缓存从改动处失效,这是预期代价。
短结尾¶
dsh-grillme 通过六档等级将 AI 的提问节奏直接写进系统提示词,按会话生效,适合需要在不同任务中切换「完全自主」与「逐条确认」的开发者。更多细节与源码见目录页与 GitHub 仓库。