前言¶
DeepSeek Harness (DSH) 在处理智能体任务时,需要用户对特定操作进行审批。当前的审批卡片详情区域仅支持显示 command 类型的工具参数(如 bash、pwsh)。对于 write、edit 等使用 file_path 或 path 参数的工具,该区域始终为空。这导致用户在点击“允许”或“拒绝”前,无法直观了解具体操作的内容和潜在风险。
dsh-approval-explain 插件通过在审批卡片中增加“Explain”按钮,利用一次 LLM 调用生成操作摘要(包含操作内容、涉及文件、安全性评估),解决详情区域为空的问题。
核心功能¶
- Explain 按钮:在审批卡片详情区域增加一个解释按钮,点击后生成操作摘要。
- 全参数支持:支持
command、file_path、path三种参数形状,不再局限于特定工具。 - 视觉复用:复用原生按钮样式(轮廓、36px 胶囊形状),并使用 DeepSeek 家族配色方案。
- 命令行支持:除按钮外,也支持在编辑器中直接使用
/explain <content>命令。 - 无需构建授权:插件直接提交构建产物,无需触发 pnpm 的构建提示。
- 非侵入式:作为增量插件,不会禁用 DSH 的其他功能。
安装与启用¶
该插件需要 DSH 版本 0.1.5-rc.1 或更高版本,且仅支持 Web GUI。
- 确保已安装 pnpm:
corepack enable pnpm
- 执行安装命令:
dsh plugin --profile web add github:Martlet-Tech/dsh-approval-explain
- 安装后需重启 DSH 进程,配置文件才会重新加载。
如果安装后未生效,检查 $DSH_HOME/profiles/web/package.json,确认 dsh.profile.bundles 中是否包含 dsh-approval-explain。
使用方式¶
安装并重启 DSH 后,在审批卡片中会出现“Explain”按钮。点击按钮,系统会调用 LLM 分析当前待审批操作,并返回三行摘要:
* What: 操作的具体内容
* Touches: 涉及的文件路径
* Safety: 安全性评估
也可以直接在消息编辑器中使用以下命令:
/explain <content>
注意事项¶
- Web GUI 限制:该插件目前仅支持 Web 界面。
- 日志留痕:每次点击解释都会在会话日志中留下
command/run和command/done的记录,便于审计,但也意味着每次操作都有痕迹。 - Token 消耗:解释功能会产生 LLM 调用,输出长度被限制在约 700 个 token。
- 卡片覆盖:该插件会接管整个审批卡片的显示,而非仅增加一个按钮。
- 底层耦合:插件内部逻辑依赖于 DSH 的
StreamChunk字段名(text-delta、block-end、finish),如果 DSH 更新这些字段,插件可能需要适配。 - 不影响结果:解释功能仅提供参考,不会改变审批的实际结果,也不会缓存判断。