审批助手 Approval Assistant
DeepSeek Harness(dsh)插件:审批提醒 · 自动审批 · 完成提醒 · 提问提醒。
- 审批提醒:有请求等待审批时,按配置弹窗 / 系统通知 / 声音提示。
- 自动审批:全部自动通过,或按工具名关键词规则匹配通过(无需人工确认)。
- 完成提醒:审批结果出来时提醒(已批准 / 已拒绝 / 已取消)。
- 提问提醒:模型用
ask_user_question 向你提问时弹窗提醒(直接显示问题内容)。
- 任务完成提醒(可选):已批准的工具执行完毕后提醒。
- 每个提醒组均可独立开关 弹窗 / 系统通知 / 声音,声音支持自定义(音频 URL 或
data: URI,留空用默认提示音)。
安装
dsh plugin --profile web add dsh-approval-assistant-0nekbyte
重启后打开 设置 → 审批助手 进行配置(含各通道的测试按钮与「请求通知权限」)。
系统通知依赖浏览器授权(设置页内一键请求);声音可能受浏览器自动播放策略限制,首次测试请先与页面交互。
本插件面向 web profile:宿主半部将 webServer 声明为硬依赖(保证浏览器配置通道的路由注册),在无 webServer 的 headless 环境下会保持 waiting 状态、不激活。
配置
| 卡片 | 配置项 |
|---|
| 审批提醒 | 启用;弹窗 / 系统通知 / 声音 / 自定义声音 |
| 自动审批 | 启用;模式:全部自动通过 / 按规则匹配(工具名关键词,逗号分隔);自动通过后发送完成提醒 |
| 完成提醒 | 启用;弹窗 / 系统通知 / 声音 / 自定义声音 |
| 提问提醒 | 启用(模型提问时提醒,弹窗显示问题内容);弹窗 / 系统通知 / 声音 / 自定义声音 |
| 任务完成提醒 | 启用(已批准的工具执行完毕后提醒);弹窗 / 系统通知 / 声音 / 自定义声音 |
工作原理
- Host 半部(
index.js):以 prepend 监听 approval/request 瀑布(先于 Web 审批应答器执行),自动审批时直接返回 'allowed-once' 认领请求,否则包住用户决策并前后入队提醒;tools/result 用 callId 关联已批准工具的执行完成;tools/pre-execute 纯观察 ask_user_question 提问。配置与提醒队列经 webServer 同源 HTTP 路由(/dsh-approval-assistant/*)暴露给浏览器。
- Client 半部(
client.js):标准 dsh.client web 模块,在 shell.overlay 渲染右上角弹窗、在 settings.section 提供设置页,轮询提醒队列并按配置触发弹窗 / Notification / 声音(默认 Web Audio 合成提示音,自定义声音用 new Audio(url))。
许可
MIT License。