GoshawkGGGG/dsh-safe-tool0

dsh-safe-tool

AI-powered command approval plugin for DeepSeek Harness — intercepts tool calls and routes them through a read-only review subagent

包名
dsh-safe-tool
版本
0.1.0
最近更新
2026年9月1日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GoshawkGGGG/dsh-safe-tool

配置

在你的 profile cordis.patch.yml 中添加:

- insert:
    - id: dsh-safe-tool
      name: 'dsh-safe-tool'
      config:
        enabled: true                              # 总开关(默认 true)
        timeoutMs: 30000                           # 单次审核超时(ms)(默认 30000)
        maxTokens: 2048                            # 审核子代理 token 上限(默认 2048)
        filterMode: 'deny-list'                    # 'deny-list' 或 'allow-list'(默认 deny-list)
        tools:                                     # 需要审批的工具列表
          - 'bash'
          - 'write'
        autoAllowPatterns: []                      # 正则白名单,匹配则直接放行(默认空)
        deleteReviewerSessions: true               # 审批后删除子代理会话记录(默认 true)
        reviewerPreset: 'minimal'                  # 审批子代理继承的专属预设(默认 minimal)

配置

设置命名空间

插件内部使用 dsh-safe-tool 作为 settings 命名空间。 Web UI 中显示为卡片标题 "AI 工具执行审批"

Settings → Plugins → "AI 工具执行审批"

配置项说明

配置项类型默认值说明
enabledbooleantrue总开关,关闭后插件不拦截任何工具调用
providerstringundefined审核子代理使用的 provider ID,默认继承父代理
modelstringundefined审核子代理使用的 model ID,默认继承父代理
maxTokensnumber2048审核子代理单次请求的 token 上限(包含 thinking tokens)
timeoutMsnumber30000单次 AI 审核超时时间(毫秒)
humanTimeoutMsnumber30000AI 回退人工审批的超时时间(毫秒)
filterMode'deny-list' | 'allow-list''deny-list'拦截模式:deny-list=拦截列表中工具;allow-list=仅放行列表中工具
toolsstring[]['bash', 'write']工具名称列表,根据 filterMode 决定拦截/放行范围
autoAllowPatternsstring[][]正则表达式列表,匹配工具参数则直接放行,跳过 AI 审批
deleteReviewerSessionsbooleantrue审批结束后从磁盘删除审批子代理会话记录,不留审批痕迹
reviewerPresetstring'minimal'审批子代理继承的专属 agent 预设 id(默认极简模式);预设不存在时回退继承主 agent

拦截模式说明

deny-list(默认):仅拦截 tools 列表中列出的工具,其他工具直接放行。

filterMode: 'deny-list'
tools:
  - 'bash'       # 拦截 bash 工具
  - 'write'      # 拦截 write 工具
  # 其他工具(read, glob 等)直接放行

allow-list:仅放行 tools 列表中列出的工具,其他工具全部拦截。

filterMode: 'allow-list'
tools:
  - 'bash'       # 只放行 bash,其他工具全部拦截

配置项说明

配置项类型默认值说明
enabledbooleantrue总开关,关闭后插件不拦截任何工具调用
providerstringundefined审核子代理使用的 provider ID,默认继承父代理
modelstringundefined审核子代理使用的 model ID,默认继承父代理
maxTokensnumber2048审核子代理单次请求的 token 上限(包含 thinking tokens)
timeoutMsnumber30000单次 AI 审核超时时间(毫秒)
humanTimeoutMsnumber30000AI 回退人工审批的超时时间(毫秒)
filterMode'deny-list' | 'allow-list''deny-list'拦截模式:deny-list=拦截列表中工具;allow-list=仅放行列表中工具
toolsstring[]['bash', 'write']工具名称列表,根据 filterMode 决定拦截/放行范围
autoAllowPatternsstring[][]正则表达式列表,匹配工具参数则直接放行,跳过 AI 审批
deleteReviewerSessionsbooleantrue审批结束后从磁盘删除审批子代理会话记录,不留审批痕迹
reviewerPresetstring'minimal'审批子代理继承的专属 agent 预设 id(默认极简模式);预设不存在时回退继承主 agent