dsh-clawrouter:为 DeepSeek Harness 加一道危险工具调用审查闸门

前言

在 DeepSeek Harness(DSH)里跑智能体,常见两难是:要么每条命令都手动批准,工作流被打断;要么开 Full Access,把执行权完全交给模型。社区讨论里有人问过「有没有类似 Codex 或 Claude Code 的审查模式」;也有人反馈在 Full Access 下测试插件时误删了整个家目录。

dsh-clawrouter 针对的是这个缺口:主循环继续用 DeepSeek,危险工具调用在执行前交给更强的模型审查,由真实执行器强制拦截,而不是靠提示词劝阻。下面介绍它的定位、能力与启用方式。

这是什么

dsh-clawrouter 是由 BlockRunAI 维护的 DSH 插件,npm 包名 dsh-clawrouter,当前版本 0.10.1,MIT 许可。它在 SkillHub 社区目录的分类为 admin-security。

插件做两件事:

  1. 审查闸门:智能体准备执行破坏性操作时,审查模型读取该次工具调用,给出 safe / dangerous / uncertain,由执行器强制执行。
  2. BlockRun 模型路由:注册 blockrun provider,用一个钱包通过 x402 协议按次用 USDC 付费,无需为各家厂商单独注册账号或配置 API Key,可访问 BlockRun 目录中的 67 个模型(含视觉模型)。

核心功能

审查闸门

当智能体准备执行破坏性操作时,默认审查模型 anthropic/claude-opus-5 会读取该次调用并给出结论:

结论 结果
safe 继续走原有权限链,不做放宽
dangerous 拒绝执行,并返回智能体可据此调整的理由
uncertain 升级给你,弹出正常审批提示

闸门只会收紧,不会放宽。审查通过的调用仍要经过沙箱、权限和审批;审查模型不可用时,默认交给你处理(onReviewerFailure: ask),不会默默放行。

触发范围刻意收窄。 读取、编辑、构建不触发。内置规则覆盖递归删除、裸写磁盘、fork 炸弹、curl … | sh、强制推送与 hard reset、chmod 777sudo,以及触碰 ~/.ssh~/.aws/etc/passwd 的操作;还包括 git clean -fdxfind … -deleteterraform destroynpm publish 等。仅提到危险命令(如 grep -rn "rm -rf" docs/)或在文件中写入命令文本,不会触发。

可按需追加自定义规则:

    extraRules:
      - name: no-prod-deploy
        pattern: "deploy\\s+--env[= ]prod"

BlockRun 模型路由与视觉

插件注册 blockrun provider 路由,认证方式是钱包签名,每次请求通过 x402 用 USDC 按次付费。

DeepSeek 本身不提供视觉模型。可在 blockrun-llm 配置中指定 visionModels,让智能体读取图片输入。插件要求模型同时出现在网关 vision 标签和 visionModels 列表中,才声明支持图片——避免仅凭标签误判。

内置命令

  • /spend:查看本进程启动以来该路由的花费,按模型、token 与固定费用分列。
  • /review <内容>:用同一强模型审查你指定的 diff、方案或智能体结论。
  • /gate:检查闸门是否已启用及当前配置。
  • /gate drill:将 rm -rf / --no-preserve-root 送入风险匹配器和真实审查模型(不送给任何工具),分阶段汇报结果。

注意:enabled 默认为 false,且 /review 可用不代表工具调用正在被审查。装完插件后应运行 /gate 确认闸门状态。

安装与启用

安装

SkillHub 目录页与 GitHub README 给出的安装命令如下:

dsh plugin --profile web add dsh-clawrouter

安装时可能打印六条 ✕ missing peer,README 说明这些包由 harness 在运行时提供,属于正常情况。

配置钱包

审查模型和 BlockRun 路由需要 EVM 钱包私钥,通过环境变量或 credentials 服务注入:

export BASE_CHAIN_WALLET_KEY=0x...

已有 BlockRun 工具的用户,可从 ~/.blockrun/.session~/.openclaw/blockrun/wallet.key 导出。没有钱包时,可运行 npx -y @blockrun/clawrouter 生成地址,往 Base 链转入 USDC 后导出私钥。插件不会自动读取上述文件,只读你配置的引用(默认 walletKeyEnv: BASE_CHAIN_WALLET_KEY)。

启用审查闸门

在 profile 的 cordis.patch.yml 中启用:

- id: blockrun-review
  config:
    enabled: true
    reviewerModel: anthropic/claude-opus-5

blockrun-review 的主要配置项:

配置 默认值 含义
enabled false 是否自动拦截工具调用
reviewerModel anthropic/claude-opus-5 审查模型,应比智能体所用模型更强
reviewerMaxTokens 512 单次审查的输出上限(按请求报价计费)
onReviewerFailure ask 审查不可用时:ask 交给你,deny 直接拒绝
extraRules [] 追加风险规则

挂载 BlockRun 路由不会改变默认模型;dsh-base 仍走 deepseek-official,只有显式指定时才使用该路由。

典型用法

快速验证闸门

安装并配置钱包后,先确认插件加载正常:

/gate

enabled: true,可做一次演练:

/gate drill

演练会消耗一次审查调用费用。

手动审查内容

对 diff 或方案做二次判断:

/review <粘贴 diff、方案或智能体结论>

启用视觉能力

- id: blockrun-llm
  config:
    visionModels: [google/gemini-3.5-flash]

验证过的模型可自行加入列表。

降低 compaction 开销

Harness 压缩长会话时,可指定便宜的辅助模型,不影响对话请求:

- id: blockrun-llm
  config:
    auxiliaryModel: deepseek/deepseek-chat

适用场景与注意

适合谁: 需要在 DSH 中半自动运行智能体、又不想完全依赖 Full Access 的开发者;需要调用 DeepSeek 覆盖不到的模型(Claude、GPT、Gemini 等)做审查或视觉任务的用户。

费用: 审查只在命中风险规则时触发。README 实测:日常操作 59 条零触发;触发时 claude-opus-5 在 512 token 输出上限下约 $0.0057,延迟约 3 秒。网关有 $0.002 的最低报价;大上下文调用费用会显著上升。主循环建议继续直连 DeepSeek,本插件用于 DeepSeek 做不到的事。

安全提醒: 插件以当前 dsh 进程权限运行。安装前应阅读 GitHub 仓库 源码,确认 MIT 许可与行为符合预期。社区目录 SkillHub 是独立站点,与 DeepSeek / 幻方无官方从属关系。

已知限制(摘自 README): 审查模型只看到被标记的那一次工具调用,不是整个仓库;智能路由 blockrun/auto 尚未接入;插件不写入会话花费日志,费用以钱包余额为准;0.10.0 之前版本审查请求可能因继承过大 max_tokens 而费用偏高,建议升级。

结尾

dsh-clawrouter 在 DSH 的权限体系前面加了一层模型审查:日常读写构建不受影响,危险命令在执行前由更强模型判断,失效时交给人而不是默默放行。同时通过一个钱包接入 BlockRun 的 67 个模型,补齐审查与视觉能力。

羽毛球分组比赛记分
小程序二维码

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

小夜