dsh-gear-mode:DeepSeek Harness 的会话级行动档位

前言

同一个模型、同一句话,”该不该动手”往往取决于当下的意图。DSH(DeepSeek Harness)的插件生态里,dsh-gear-mode 把这件事从口头约定变成一个可点击、可看见、可强制的状态。

这款插件为 DSH 提供了一列行动档位:对话区左侧滑轨一点即换挡,从「只读规划」到「全自动」,模型想升档得先问你,另有一个随时可拉的手刹。

它是什么

dsh-gear-mode 是 DeepSeek Harness 的工作流插件,由 JanrilW 维护。

它解决的问题是:如何在一个对话会话中,根据当前任务阶段,给模型注入不同的行为约束。换挡时,插件会向模型注入该档位的行为提示词;模型侧只有一个 set_gear 工具:降档直接生效,升档会弹卡片问你批准,手刹落下后工具调用会被硬拦截。

核心功能

档位与行为约束

插件提供 10 个档位,分为四组:

  • 只读类:P(只读规划)、R(只读复盘)
  • 交互类:N 组(NT 聊天 / NC 教练 / NE 解释)、M 组(M- 较大介入 / M+ 较小介入)
  • 动作类:D(委托)、A(自治)
  • 状态类:H(驻停,即手刹)

换挡时,插件会向每条请求注入一段运行时上下文(约 1–2 KB),内容来自本仓库的 prompts.md,包含当前档位的完整行为要求。

手刹机制

H 档是驻停档,也是手刹。点一下进入待落状态(环在 2.4 秒内填充),再点一下才落下。落下后,模型只能汇报现状,不能推进任务、不能调用工具。

Ctrl+Shift+H(Windows)/ ⌘⇧H(macOS)走同一条二次确认流程。手刹落下时,工具调用被硬拦截(ctx.tools.guard)。

模型侧工具

模型侧只有一个工具:set_gear({ gear, reason? })。

  • 降档或拉手刹直接生效。
  • 升档会弹卡片请你批准(ctx.userQuestions,与自带 exit_plan_mode 同一套机制)。
  • 你点了「允许」才切档,拒绝就保持原档位,模型不会重试。
  • 在没有 UI 的场合(子 agent、无 UI 的 profile),升档会直接拒绝。

提示词可外置

注入正文不硬编码,prompts.md 会被每次请求读一遍,按 ## 键 分节。保存后下一条消息即生效,不用重启。

支持的键:
- 档位键:P R NT NC NE M- M+ D A
- 手刹键:BRAKE
- 顺序键:ORDER

优先级:
1. DSH_GEAR_PROMPTS(环境变量)
2. prompts.local.md
3. prompts.md
4. 内置提示词

如果某节缺失或为空,用内置那句;整份文件不存在,全用内置。

会话投影

档位状态是会话投影。resume / fork 后,档位会自动还原。

界面交互

  • 悬停:看档位说明。
  • 点字母:切档。
  • 悬停组入口:子档列贴着滑轨右缘展开。
  • 沿滑轨上下拖拽:扫过档位,向右越过边界进入当前组的子档列。
  • 静默淡出:切档完成或鼠标离开 5 秒后,只剩当前档位的字母、中文与滑块,碰回当前档位才淡入全部内容。
  • 手刹落下:整列变淡,H 变红,此时点任意档位 = 由你解除并切到该档。

安装与启用

使用 npm 安装:

dsh plugin --profile web add dsh-gear-mode

或直接从仓库装:

dsh plugin --profile web add github:Janrilw/dsh-gear-mode

把 web 换成你实际用的 profile 名(桌面版是 desktop),然后重启该 profile 即生效。

卸载:

dsh plugin --profile web remove dsh-gear-mode

这是一个 bundle 型插件:package.json 里的 dsh.bundle.patch 指向 cordis.patch.yml,装好即挂载;缺了它会被当普通依赖装进去但什么都不发生。

命令

/gear              报告当前档位
/gear D            切到 D(同时解除手刹)
/gear H            拉手刹
/gear resume       仅解除手刹,档位不变
/gear P|R|NT|NC|NE|M-|M+|D|A

兼容性

  • DSH 版本要求:>=0.2.1-rc.2 <0.3.0。
  • 插件在 dsh 0.2.1-rc.2 上实测通过。

权限与风险

  • 写入范围:只往会话里发一条 /gear <档位>,其他不动。
  • 网络:不请求任何外部服务,不含遥测,不收集任何数据。
  • 提示词:会向每条请求注入一段运行时上下文(约 1–2 KB),内容全部来自本仓库的 prompts.md。
  • 工具:set_gear 会出现在模型可用工具列表里;ctx.tools.guard 在手刹落下时拦截全部工具调用。
  • 键盘:只注册 Ctrl+Shift+H / ⌘⇧H,其余按键不抢。

适用场景

适合需要精细控制模型行为阶段的 DSH 用户,例如:

  • 需要明确「只读规划」和「只读复盘」阶段的任务。
  • 需要在「聊天」「教练」「解释」之间快速切换。
  • 需要防止模型在自动化任务中过度行动,使用手刹做紧急制动。
  • 需要外置提示词,按档位注入不同行为约束。

插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

结尾

dsh-gear-mode 通过档位滑轨与手刹机制,把「该不该动手」这件事变成了可操作的 UI 状态。从只读规划到自治执行,再到驻停制动,它为 DSH 会话提供了一组可组合的行为约束。

  • 插件目录页:https://www.skillhub.cn/plugins/Janrilw/dsh-gear-mode
  • GitHub:https://github.com/Janrilw/dsh-gear-mode
羽毛球分组比赛记分
小程序二维码

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

小夜