前言¶
self-control-guard 是 DeepSeek Harness(DSH)的一个插件,用于处理模型通过 bash 工具尝试终止宿主进程的情况。它会对高置信度的宿主终止尝试进行硬拒绝,引导模型使用受控的退出/重启工具,并在 token 确认后执行优雅退出/重启,同时写入 restart recovery roster。
这是什么¶
它是 pandashere 维护的 DSH 插件,许可证为 MIT。
定位上,它是一层自控制护栏:把直接杀宿主进程的行为拦下来,转入受控的退出/重启路径。需要注意,它是 UX/interception layer,不是安全边界;OS 始终可以 kill host。
DSH 强调「一切皆插件」。这里提到的插件目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应理解为官方应用商店。
核心功能¶
拦截 bash 工具中的宿主终止¶
插件在 bash 工具的简单命令层面识别 canonical 宿主终止形式,包括:
pkill dshkill $PPIDkill -9 <host-pid>killall dsh
命中后会执行单调硬拒绝。对于动态构造、shell 函数、不支持的复合语法以及 parser-limit failures,matcher 会 abstain。
引导受控退出与重启工具¶
拦截发生后,插件会注入一条 pinned guidance message,引导模型使用受控工具:
dsh_self_exit会作为受控退出工具被引导使用。dsh_self_restart仅在restartEnabled: true时提供;默认restartEnabled为false,README 提到 web 场景没有 supervisor。
执行 token 确认的优雅退出/重启¶
退出/重启通过 launcher 已有接口执行:
- headless runner 使用
ctx.headlessIo.exit(code)。 - long-lived surfaces 使用 launcher 的
SIGTERMgraceful shutdown。
写入 restart recovery roster¶
package.json 描述中提到,插件会写入 restart recovery roster。
安装与启用¶
要求是 Node.js 22 或更高版本,以及 @deepseek-ai/dsh@0.1.0-rc.6。
先在插件目录执行本地安装、检查和打包:
npm install
npm run check
npm pack
经过上面的步骤后,将生成的 tarball 安装到 DSH profile:
npx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add ./self-control-guard-0.1.0.tgz
然后重启 dsh web:
npx @deepseek-ai/dsh@0.1.0-rc.6 web
插件没有 browser bundle,需要在 Web settings 的插件列表中确认它已出现。源码目录作为 link 安装不被支持,因为 host peers 由 DSH profile 提供。
如果需要卸载,执行:
npx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web remove self-control-guard
典型用法与配置注意¶
如果要启用重启工具,需要将 restartEnabled 设为 true;默认是关闭的。
插件在加载配置时会 fail-loud。以下情况会报错,而不是静默回退:
interceptModes重复或为空exitCode与restartExitCode相同confirmationCalls < 2- TTL 非正数
- cooldown 为负数
- 非法枚举成员
privilegedBash.matchers重复
enabled: false 是彻底关闭拦截的唯一方式。
privilegedBash 是可选的显式 escape hatch,默认关闭,且工具默认不注册。
适用场景与注意¶
它适合在 DSH 插件场景中减少模型误执行宿主终止命令带来的影响。使用时需要注意:
- 它是 UX/interception layer,不是安全边界;OS 始终可以 kill host。
- matcher 对简单命令层中的 canonical 宿主终止形式生效,对动态构造、shell 函数、不支持的复合语法和 parser-limit failures 会 abstain。
- 插件以当前
dsh进程权限运行,安装前应检查源码和MIT许可证。 - 插件没有 browser bundle,验证入口是 Web settings 插件列表。
结尾¶
self-control-guard 的价值在于:把模型误触发的宿主终止尝试,转向 token 确认的退出/重启路径,并写入 restart recovery roster。如果你希望在 DSH 环境中给智能体加一层误操作护栏,可以按上面的步骤安装并验证。
目录页:https://www.skillhub.cn/plugins/pandashere/dsh-self-control-guard
GitHub:https://github.com/pandashere/dsh-self-control-guard