<div align="center">
dsh-approve-for-me
Approve For Me · DeepSeek Harness 提权请求自动审批插件
 
English · 简体中文
<img src="docs/images/banner-approval.png" alt="审批通过示例:Approve For Me 已批准 pwsh · 风险 低" />
</div>
当 DSH 里的智能体因权限不足而请求提权(沙箱提权、更高权限重试等)时,弹窗不再直接打断你——配置好的 reviewer 模型会先审一遍:低风险请求自动批准,高风险请求按你选择的模式交还人工或自动拒绝。普通提问和方案确认完全不受影响。
🤖 两种审批模式
| 模式 | 低风险 | 高风险 |
|---|---|---|
| Approve For Me (Accept Only) | 自动批准 | 交给你人工审批 |
| Approve For Me (Accept & Refuse) | 自动批准 | 自动拒绝,全程无需人工 |
🚀 快速安装
一键安装
一条命令即可安装或移除:
Windows(PowerShell)
# 安装
irm https://raw.githubusercontent.com/watericetangcw/dsh-approve-for-me/main/scripts/install.ps1 | iex
# 移除
irm https://raw.githubusercontent.com/watericetangcw/dsh-approve-for-me/main/scripts/uninstall.ps1 | iexLinux / macOS(bash)
# 安装
curl -fsSL https://raw.githubusercontent.com/watericetangcw/dsh-approve-for-me/main/scripts/install.sh | bash
# 移除
curl -fsSL https://raw.githubusercontent.com/watericetangcw/dsh-approve-for-me/main/scripts/uninstall.sh | bash脚本会自动完成下面「手动安装」的全部步骤:
1. 定位 <DSH_HOME>/profiles/web/package.json(未设置 DSH_HOME 时默认 ~/.dsh); 2. 把 dsh-approve-for-me 加入 dependencies,并将 bundle 入口插入正确位置(@deepseek-ai/dsh-base 之后、@deepseek-ai/dsh-web-app 之前),修改前自动备份为 package.json.afm.bak; 3. 在 profiles/web 下执行 npm install(检测到 pnpm-lock.yaml 时改用 pnpm install); 4. 完成后提示重启。
安装完成后重启 dsh web 并刷新一次浏览器页面。脚本可重复执行,已安装时会自动跳过;也可以克隆仓库后在本地直接运行 ./scripts/install.sh(Windows 为 .\scripts\install.ps1),此时使用本地源码、无需联网。想先审阅脚本?见 [scripts/install.sh](scripts/install.sh) 与 [scripts/install.ps1](scripts/install.ps1)。
手动安装(备选)
如果想自己动手,也可以按下面的步骤手动安装:
1. 在 <DSH_HOME>/profiles/web/package.json 中加入依赖与 bundle 入口:
{
"dependencies": {
"dsh-approve-for-me": "file:../path/to/dsh-approve-for-me"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"dsh-approve-for-me",
"@deepseek-ai/dsh-web-app"
]
}
}
}2. 在 profiles/web 目录下运行 npm install。 3. 重启 dsh web 并刷新一次浏览器页面。
> ⚠️ bundle 顺序很重要:dsh-approve-for-me 必须位于 @deepseek-ai/dsh-base 之后、@deepseek-ai/dsh-web-app 之前,否则审批请求会被浏览器应答器先接管,插件会静默失效。
回滚:移除依赖与 bundle 入口,重新 npm install 并重启即可。
🚦 使用流程
① 配置 reviewer 模型
打开 设置 → Approve For Me,选择模型提供方、模型与推理强度并保存(推理强度越高的模型评估越严谨,耗时也越长):
<img src="docs/images/plugin-settings.png" alt="Approve For Me 设置页:选择 reviewer 模型与推理强度" />
② 切换到 Approve For Me 模式
在输入框旁的模式选择器中,从 Read Only / Workspace Write / Full Access 等常规模式切换到 Approve For Me (Accept Only) 或 Approve For Me (Accept & Refuse):
<img src="docs/images/mode-selector.png" alt="模式选择器:Approve For Me 与 Read Only / Workspace Write / Full Access 并列" />
③ 正常对话,低风险自动放行
继续像平时一样对话。智能体请求提权时,低风险请求会被 reviewer 自动批准,聊天流中出现绿色的「已批准」决策行,全程不需要你点任何东西:
<img src="docs/images/banner-approval.png" alt="审批通过示例:Approve For Me 已批准 pwsh · 风险 低" />
④ 高风险请求,按模式分流
- Accept Only 模式:高风险请求交回给你。审批弹窗变成醒目的警告面板,展示风险与评估理由,由你选择「拒绝」或「仍要允许一次」;聊天流中同步出现红色「未通过 · 已提交人工审批」决策行:
<img src="docs/images/manual-review.png" alt="人工审批弹窗:高风险请求交回人工决定" /> <img src="docs/images/banner-refusal.png" alt="未通过示例:Approve For Me 未通过 · 已提交人工审批 pwsh · 风险 高" />
- Accept & Refuse 模式:高风险请求被自动拒绝,聊天流中出现红色「已拒绝」决策行,无需人工介入。
> 💡 未配置 reviewer 模型时,两种 Approve For Me 模式会像 Workspace Write 一样走人工审批,不会卡住你的工作流。
📖 模式对比
| 情况 | Accept Only | Accept & Refuse |
|---|---|---|
| reviewer 判定低风险 | 自动批准 | 自动批准 |
| reviewer 判定高风险 | 提交人工审批(可拒绝或仍允许一次) | 自动拒绝 |
| reviewer 超时 / 报错 / 输出不合法 | 提交人工审批 | 自动拒绝(fail closed) |
| 未配置 reviewer | 人工审批 | 人工审批 |
| 请求被中断 | 取消 | 取消 |
🔗 链接
- 仓库:github.com/watericetangcw/dsh-approve-for-me
- English README:README.en.md
📄 许可证
[MIT](LICENSE) © 2026 WateRice