DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Janrilw /

Janrilw/dsh-gear-mode

Verified

会话级行动档位:P/R/N/M/D/A + 手刹 H,换挡即注入行为约束提示词

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@e4a07acd

dsh-gear-mode

挂挡真的很爽啊 !!

给 DeepSeek Harness 装一列行动档位:对话区左侧滑轨一点即换挡,从「只读规划」到「全自动」,模型只能降不能升,另有一个随时可拉的手刹。

档位滑轨演示

它解决什么

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

  • 换挡即向模型注入该档的行为提示词(与 sandbox:policy / approval:policy 同一注入机制,每条请求重读)。
  • 模型侧只有一个只能降档的 set_gear 工具;升档必须由你从界面或 /gear 操作。
  • 手刹 H 落下后,工具调用被硬拦截(ctx.tools.guard),模型只能汇报现状,不能推进任务。
  • 状态是会话投影,resume / fork 后自动还原。
P   只读规划     R   只读复盘
N   交流组 ── NT 聊天 / NC 教练 / NE 解释
M   手动组 ── M- 逐步 / M+ 连续
D   委托         A   自治
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,装好即挂载;缺了它会被当普通依赖装进去但什么都不发生。

使用

档位

档位 名称 行为要点
P 只读规划 只读,构建计划;引导式提问补全细节,多步推进
R 只读复盘 只读,先给结论再看改动
NT 聊天 纯聊天,梳理思路与情绪支持,不主动代办
NC 教练 教练式引导:提问、复述、纠偏
NE 解释 直接解释原理、读代码、分析报错
M- 较大介入 每步先说明→等确认→执行最小步
M+ 较小介入 小步连续推进,遇阻或需决策先停
D 委托 scope 内静默做完再汇报
A 自治 按约定目标/边界/预算全自动执行至验收
H 驻停 手刹,覆盖以上全部:不推进、不调工具,立即汇报现状

N 与 M 是组入口,不是独立执行档;点它们会落到默认子档(NT / M-)。

交互

  • 悬停看档位说明,点字母切档。
  • 悬停组入口时,子档列贴着滑轨右缘展开,没有空隙。
  • 沿滑轨上下拖拽可扫过档位,向右越过边界进入当前组的子档列。
  • 静默淡出:切档完成或鼠标离开 5 秒后,只剩当前档位的字母、中文与滑块;碰回当前档位才淡入全部内容。
  • 手刹:点一下 H 进入待落(环在 2.4 秒内填充),再点一下才落下;Ctrl+Shift+H(Windows)/ ⌘⇧H(macOS)走同一条二次确认。落下后按住 H 750ms 放下(回到 P)。手刹落下时点任意档位 = 由你解除并切到该档。
子档位 档位说明
组入口展开子档列 悬停看该档的行为要求
手刹 静默淡出
手刹落下:整列变淡,H 变红 静默 5 秒:只剩当前档

命令

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

模型侧

  • set_gear({ gear, reason? }):只能降档或拉手刹;升档会被拒绝并提示"请用户从界面或 /gear 操作"。
  • 注入的上下文同时给出 mode、handbrake、scope(沙箱模式 + 工作区根目录)与当前档位的完整行为要求。

提示词可外置

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

  • 键:P R NT NC NE M- M+ D A、BRAKE、ORDER。
  • 逐节回退:某节缺失或为空 → 用内置那句;整份文件不存在 → 全用内置。
  • 优先级:DSH_GEAR_PROMPTS > prompts.local.md > prompts.md > 内置。想留个人版本又不污染仓库,写 prompts.local.md。
  • 用 npm 装时 prompts.md 在 node_modules 里,升级会被覆盖——长期改建议用副本 + DSH_GEAR_PROMPTS(环境变量由进程启动时继承,改完要重启一次)。

兼容性

  • 实测:dsh 0.2.1-rc.2。
  • engines.dsh:>=0.2.1-rc.2 <0.3.0。不满足时宿主不会激活它。

权限与风险

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

已知限制

  • 模型不能升档,只能降档或拉手刹——这是刻意的设计,升档必须由人操作。
  • 手刹不中断正在跑的回合(模型需要能把现状汇报出来),它约束的是"不再推进、不再调工具"。
  • 滑轨位置靠测量外壳标记([data-shell-overlay]、[data-slot="main"])得出;若外壳改结构,位置会失准。

License

MIT © 2026 JanrilW

—/ 5

No ratings yet

Verified DSH bundle

Commit e4a07acdb396

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout