前言¶
在 DSH 中使用 AI 执行工具调用时,如果权限只按会话级别粗放放行,目录访问、命令执行、文件读写、子代理启动等操作会被混在同一档授权里。dsh-permgate 为 DeepSeek Harness(DSH)提供细粒度权限控制插件,用于按分类审查工具调用。
这是什么¶
dsh-permgate 是一个 DSH 权限控制插件,仓库地址为 https://github.com/MrWeiCodes/dsh-permgate,许可证为 MIT。
它把权限审查拆到工具调用层面:目录访问、执行命令、读取/编辑文件、启动子代理、重复操作等分类可以分别设置,并提供审批弹窗、白/黑名单、快捷工具默认值、自定义规则、底层沙箱升级流程、中英文双语和持久化配置。
核心功能¶
- 按分类审查工具调用:目录访问、执行命令、读取/编辑文件、启动子代理、重复操作。
- 全局 / 项目双级配置:全局规则作为基础,项目内可按需单独设置。
- 例外(白/黑名单):对经常放行或明确拒绝的路径、命令建立例外,减少重复打扰。
- 快捷工具默认值:对无法按文件或命令归类的快捷工具设置默认行为。
- 自定义规则:按更细的条件配置审查规则。
- 审批弹窗:放行前查看 diff 或命令与参数。
- 自定义拒绝意见:拒绝时填写原因或后续建议。
- 底层沙箱升级流程:底层沙箱仍拦截时,进入额外的升级审批。
- 中英文双语:界面文案跟随语言切换。
- 持久化:配置保存在插件目录下,更新后保留。
安装与启用¶
先执行安装命令。示例命令使用 web profile:
dsh plugin --profile web add -w github:MrWeiCodes/dsh-permgate
安装完成后,在输入框下方的权限选择器中选择「自定义审查」。
如果希望新对话默认启用,可在设置里把「自定义审查」设为新对话的默认权限。
典型用法¶
1、选择会话权限:在输入框下方的权限选择器中选择「自定义审查」,后续工具调用进入分类审查流程。
2、处理审批弹窗:编辑/写入文件时查看 diff 详情;执行命令时查看命令与参数。若某类操作经常需要放行,可一键添加规则候选。
3、填写拒绝意见:拒绝时填写自定义拒绝意见,把不能执行的原因或替代建议写清楚。
4、维护权限配置:进入「设置 → 权限网关」,管理默认行为、白/黑名单、快捷工具、自定义规则和底层沙箱。
配置与兼容¶
- 配置保存在
$DSH_HOME/dsh-permgate/config.json。更新后保留,卸载不会自动删除。 - 接口位于
/permgate/*,其中包含 SSE 接口/permgate/events。 - 设置页、快捷栏、弹窗使用
permgate、permgate-approval等独立槽位 id。 - 补丁中的
permission预设表覆盖是全表覆盖语义。不要与其它修改permission配置的补丁并存。 - 如果同时安装其它
pre-execute审查插件,可能出现重复弹窗,建议只保留一个。 - 无全局注册表、npm 全局包或系统级写入。
适用场景与注意¶
适合在 DSH 会话中需要对 AI 工具调用做人工审批的场景,尤其是涉及目录访问、命令执行、文件读写、子代理启动或重复操作时。
使用前注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码与MIT许可证。 - 白/黑名单、快捷工具默认值和自定义规则会直接影响后续审批结果,建议先从小范围规则开始。
- 若不再使用,配置文件不会被自动删除,可手工处理
$DSH_HOME/dsh-permgate/。 - 社区目录页:未提供具体 URL;如需查看,请以实际独立社区目录为准,不要将其视为官方应用商店。
结尾¶
dsh-permgate 的价值在于把 DSH 的工具调用审查从会话级授权细化到分类、路径、命令和参数层面,适合需要更明确 AI 操作边界的场景。
GitHub 地址:https://github.com/MrWeiCodes/dsh-permgate
目录页:未提供具体 URL。