前言¶
DeepSeek Harness (DSH) 的插件机制允许在智能体运行 Shell 命令的执行链路中插入逻辑。dsh-jev-guard 是一个执行前的安全阀门:在命令实际运行之前,它会判断该命令是否会不可逆地删除或覆盖用户的真实数据。它通过 TypeSafe Jev 模型的结构化决策,配合 L0 静态硬规则,对 Shell 调用进行拦截或放行。
插件定位¶
该插件由 7starsseeker 维护,旨在解决智能体在执行命令时可能因误操作导致数据丢失的问题。它挂载于 DSH 的 tools/pre-execute 钩子,提供硬拦截能力,而非仅提供提示。
核心机制¶
判断过程分为三层,顺序固定:
-
L0 静态硬规则
- 包含 21 条“永不允许”和 16 条“需人工确认”的规则。
- 这些规则离线运行,无法被覆盖。
- 规则仅匹配命令位置(行首、分号
;、管道符|、括号$(等之后),忽略参数内部的提及。 - 仅有两条规则(
redirect-to-device、fork-bomb)匹配整段文本。
-
预筛选
- 对于证明为只读或仅修改可重建内容(如缓存、构建输出、
/tmp)的命令,直接放行。 - 此阶段不产生网络调用,延迟最低。
- 对于证明为只读或仅修改可重建内容(如缓存、构建输出、
-
Jev 语义判断
- 利用 TypeSafe Jev 模型回答一个“是否会不可逆删除或覆盖数据”的是非题。
- 根据阈值将结果分为允许、修订或阻止。
- 平均延迟约 300ms,单次调用成本极低。
四态决策¶
插件根据上述判断返回四种状态,决定下一步操作:
- allow: 判定安全或只读,直接执行。
- revise: 证据不足,但存在更安全的写法。模型会重写命令并重试(提供降级模板,如 dry-run、缩小范围、先备份)。
- block: 命令会导致不可逆删除或覆盖,或命中硬规则。拒绝执行,需人工介入。
- escalate: 属于硬规则的“始终询问”类,或重试预算耗尽。需人工确认。
安装与运行¶
- 环境要求:Node.js >= 20(使用全局
fetch)。插件本身零运行时依赖。 - DSH 版本:已在 DSH 0.1.6-alpha.2、0.1.7-rc.2 和 0.2.0-rc.2 上验证通过。
- 平台支持:WSL/Linux (bash) 和 Windows (pwsh)。
- 安装方式:通过 npm 安装包后,将适配器挂载至 DSH 的
tools/pre-execute。
常用命令¶
安装后可通过 CLI 工具进行调试和监控:
# 运行自检
guard selftest
# 查看硬规则列表
guard rules
# 单独对文本进行语义判断
guard judge
# 查看运行状态
guard status
# 查看审计日志统计
guard log --stats
行为与注意事项¶
- 降级策略:当调用额度耗尽时,插件会“大声降级”而不是静默失效,确保系统可用性。
- Fail-open 设计:生产环境中出现过因预算超时(1800ms)而允许通过的情况,这是设计预期内的行为,用于防止服务中断。
- 安全边界:该插件是事故安全网,不是安全边界。在极高并发或极端网络条件下,仍需依赖人工审核。
生态背景¶
DSH 遵循“一切皆插件”的理念,社区目录 skillhub.cn 提供了插件的索引服务,与 DeepSeek 或幻方无官方从属关系。使用前建议检查源码与许可证(MIT)。