Skip to content
dsh.fish
Bundle

dsh-approval-assistant-0nekbyte

Approval Assistant for DeepSeek Harness: approval reminders, auto-approval rules, completion reminders and question popups with per-feature channels (popup / system notification / sound / custom sound). 审批提醒、自动审批、完成提醒与提问提醒。

Source
0neKbyte
stars
2 stars
License
MIT
Updated
Updated 4 days ago

Readme

# 审批助手 Approval Assistant

DeepSeek Harness(dsh)插件:**审批提醒 · 自动审批 · 完成提醒 · 提问提醒**。

- **审批提醒**:有请求等待审批时,按配置弹窗 / 系统通知 / 声音提示。
- **自动审批**:全部自动通过,或按工具名关键词规则匹配通过(无需人工确认)。
- **完成提醒**:审批结果出来时提醒(已批准 / 已拒绝 / 已取消)。
- **提问提醒**:模型用 `ask_user_question` 向你提问时弹窗提醒(直接显示问题内容)。
- **任务完成提醒**(可选):已批准的工具执行完毕后提醒。
- 每个提醒组均可独立开关 弹窗 / 系统通知 / 声音,声音支持自定义(音频 URL 或 `data:` URI,留空用默认提示音)。

## 安装

```sh
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。

Install

dsh plugin --profile web add github:0neKbyte/dsh-approval-assistant_0neKbyte

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source