前言¶
DeepSeek Harness(DSH)在调用外部工具前会触发 approval/request 事件,通常由外部回答者(如用户)决定是否允许。当智能体或脚本化流程越来越多时,缺少统一的记录和审计,就难以追溯每笔审批的上下文、风险与结果。
本插件为 DSH 的审批事件挂载一个监听器,将每次需要审批的操作写入本地台账文件,并提供查询与统计工具。默认只记录、不改决策;如需拦截,可启用 gate 模式。
这是什么¶
审批台账:记录 agent 每一次需要审批的操作——它想做什么、为什么、风险多高、最后批没批,并按规则拦住高危动作。
- 插件名:
@deepwhale-cn/dsh-approval-ledger - 维护者:温州深鲸智能科技有限公司
- 解决的问题:审批事件分散、缺少结构化记录;高危操作缺乏统一拦截能力
核心功能¶
插件监听 DSH 的 approval/request waterfall,将审批信息追加到本地 JSONL 文件,并提供查询与统计工具。
记录模式¶
| 模式 | 行为 |
|---|---|
ledger(默认) |
只记录:时间 / 会话 / 工具 / 调用 id / 理由 / 风险 / 决策 / 结果,不改任何决策 |
gate |
高危操作直接 rejected,其余交给原有回答者 |
auto |
allowlist 里的工具直接 allowed-once,其余照旧 |
默认安装后处于 ledger 模式,装上就开始记录,不改变任何审批行为。要启用拦截,在 profile 里配置 mode: gate 并重启。
台账位置¶
$DSH_HOME/approval-ledger/ledger.jsonl(没有 DSH_HOME 时用 ~/.dsh/approval-ledger/ledger.jsonl),一行一条 JSON。
提供的工具¶
approval_ledger_query:按工具/风险/决策/结果/时间查询记录approval_ledger_stats:总数、高危数、被拒数,以及按风险/决策/结果/工具的分布
示例输出¶
✅ 2026-10-22 09:31:12 bash 风险 high 决策 delegated 结果 rejected
理由:安装依赖需要执行 curl | sh
安全边界¶
- 默认只读记录,不替用户做决定
gate/auto必须显式配置;gate只拦“高危特征”,不是完整安全策略- 台账只写本地文件,不上传、不联网
安装与启用¶
安装命令(官方来源):
dsh plugin --profile <你的 profile> add @deepwhale-cn/dsh-approval-ledger
启用拦截:
- 在 profile 中配置
mode: gate(或auto,取决于策略) - 重启 DSH 使配置生效
典型用法¶
- 安装后默认记录,无需额外配置。
- 查询最近 24 小时被拒绝的
rm -rf操作:
dsh approval_ledger_query --tool rm --result rejected --since 24h
- 查看高危操作统计:
dsh approval_ledger_stats --risk high
适用场景与注意¶
- 适合需要审计审批历史、统计高风险操作的场景。
- 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
gate模式依赖关键词特征,并非完整安全策略,需结合其他措施。
结尾¶
本插件为 DSH 的审批事件提供结构化记录与基础拦截能力,便于审计与风控。完整说明与源码见:
- GitHub:https://github.com/feely0208/dsh-approval-ledger
- SkillHub 目录页:https://www.skillhub.cn/plugins/feely0208/dsh-approval-ledger