dsh-danger-guard
DSH 危险命令守卫:通过 tools/pre-execute 门禁拦截 bash/pwsh 高危命令(rm -rf /、mkfs、dd 写设备、管道执行脚本、git push --force 等),支持分级策略(极高危始终拒绝 / 中危跟随全局 deny/ask/log)、用户自定义规则与白名单。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:czhzz/dsh-danger-guard说明文档
阅读完整 README ↗1) 配置树里出现插件行与默认配置
dsh --profile web --dump-config | grep -A 20 dsh-danger-guard
浏览器打开后:设置 → 插件配置 → 「危险命令守卫」卡片
配置
两层配置来源(同源 schema,设置页编辑即修改第二层):
| 层 | 位置 | 说明 |
|---|---|---|
| cordis Config | profile 的 cordis.patch.yml | schema 默认值 + 装配层覆盖,--dump-config 可见 |
| settings 文档 | 设置页「插件配置」卡片 | 用户覆盖层,保存即持久化并热更新 |
| 键 | 默认 | 说明 |
|---|---|---|
enabled | true | 总开关 |
action | deny | medium 规则处理方式:deny 直接拒绝 / ask 转审批(未挂载审批时自动退化为拒绝)/ log 仅记录放行 |
rules | [] | 用户自定义规则 [{pattern, reason, level?}],pattern 为 JS 正则字符串 |
allow | [] | 白名单正则,命中直接放行(优先级最高,含 critical) |
disableBuiltin | false | 关闭内置规则集 |
示例(在 profile 的 cordis.patch.yml 中覆盖):
- update:
- id: dsh-danger-guard
config:
action: ask
allow:
- 'npm install.*--force'
rules:
- pattern: 'git\s+rebase\s+--(continue|abort)'
reason: 需要人工确认 rebase 操作
level: medium