前言¶
DeepSeek Harness (DSH) 是一个基于插件的智能体开发框架。shifan3/dsh-approve-for-me 是一个 DSH 主机插件,它为 DSH 增加了一个 approve-for-me 审批模式。该模式利用大语言模型(LLM)的安全审查员,根据对话摘要自动判断并执行审批请求,同时拦截高风险的破坏性命令。
功能概览¶
该插件具备以下能力:
* 自动审批模式:在 ask 审批策略下,使用 LLM 对批准请求进行判断,回复 ALLOW 或 REJECT。
* 高风险拦截:对于 rm -rf、drop table 等破坏性命令,插件会跳过 LLM 判断,直接交由用户确认。
* 上下文摘要:读取最近的对话摘要(约 12k 字符)作为 LLM 判断依据。
* 审计日志:记录 approval/asked 和 approval/decided 事件。
安装¶
静态安装(推荐)可让插件在重启后保持激活。
dsh plugin --profile web add ./dsh-approve-for-me
安装完成后重启 dsh web 即可生效。
如果不想写入 ~/.dsh 目录,可以使用动态安装方式。动态安装仅运行在当前会话中,重启后会失效。Web UI 下可在 Cordis 面板新建插件并粘贴 host-code.js 内容。
配置¶
通过 cordis.patch.yml 配置插件行为。所有配置项均为可选:
- id: approve-for-me
config:
enabled: true # 启用/禁用插件
provider: deepseek-official # LLM 提供商
model: deepseek-v4-flash # 模型名称
maxTokens: 512 # 输出最大 Token 数
summaryMaxChars: 12000 # 摘要最大字符数
timeoutMs: 60000 # 超时时间(毫秒)
高风险命令拦截¶
以下命令会触发用户确认(跳过 LLM 判断):
* rm -r, rm -rf, rm -fr, rm -R, rm -rfv 等
* rm ... /(删除根目录)
* drop table, drop database, drop schema
* truncate table ...
* delete from ...
* mkfs, mkfs.ext4
* dd if=
* shred, wipefs
* git push -f / git push --force
* git reset --hard
* chmod -R 777, chown -R
* :(){ :|:& };:(fork bomb)
注意事项¶
- 策略枚举:插件未添加新的策略枚举,而是在现有的
ask审批策略内部工作。启用插件即切换为approve-for-me模式。 - 沙箱限制:动态安装模式运行在 DSH 动态主机 vm 沙箱中,不支持
setTimeout和AbortController,超时依赖 LLM 适配器的配置。 - 单实例限制:同一 DSH 实例中只能激活一个
approve-for-me回答器,后加载的会覆盖先加载的。
结语¶
该插件适合希望在自动化审批与人工安全检查之间取得平衡的开发者。通过 LLM 自动处理常规请求,同时保留对破坏性操作的人工控制,可提升 DSH 应用的操作效率与安全性。