审批台账:DSH 审批事件记录与拦截插件

前言

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

启用拦截:

  1. 在 profile 中配置 mode: gate(或 auto,取决于策略)
  2. 重启 DSH 使配置生效

典型用法

  1. 安装后默认记录,无需额外配置。
  2. 查询最近 24 小时被拒绝的 rm -rf 操作:
dsh approval_ledger_query --tool rm --result rejected --since 24h
  1. 查看高危操作统计:
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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye