DeepSeek Harness Hub
← 返回列表

YZz-S/dsh-notifier

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DeepSeek Harnessdsh系统通知插件:当任务完成,或需要你在页面中手动输入 /…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档

DeepSeek Harness (DSH) Web GUI 的社区插件:系统通知器。纯 JavaScript,无需构建。

综合分
27.4
GitHub 分
27.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add YZz-S/dsh-notifier
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-notifier

English · 中文

DeepSeek Harness(dsh)系统通知插件:当任务完成,或需要你在页面中手动输入 / 确认信息时,发送一条操作系统原生通知,让你切到别的窗口时也不会错过关键节点。

System notification plugin for DeepSeek Harness (dsh): sends a native OS notification when a task finishes, or when manual input / confirmation is needed in the page, so you never miss a critical moment while working in another window.

中文

English · ← 返回 DeepSeekHarnessPlugins

功能特性

- 任务完成通知:当顶层会话从 running 回到 idle(一轮结束)时,发送“任务已完成”
- 确认 / 输入通知:当触发审批(approval/request,例如某个工具需要你确认)时,发送“需要操作”,并附带工具名称和原因
- 不干扰审批流程:审批通知会透明地穿过 waterfall 的 next() —— 绝不会替你作答或改变审批结果
- 跨平台:Windows(Toast + 回退气泡)/ macOS(osascript)/ Linux(notify-send)
- 显示会话标题:标题始终为“DeepSeek Harness”;正文显示“会话标题” + 状态(任务已完成 / 需要操作)
- DeepSeek Harness 品牌标识:在 Windows 上注册自定义 AppUserModelID,使来源应用名称和图标显示为 DeepSeek Harness

触发事件

| 事件 | 模式 | 通知内容 |
| --- | --- | --- |
| agent/status → idle(顶层会话,之前为 running) | emit | 任务已完成 |
| approval/request | waterfall | 工具 X 需要在页面中确认(+ 原因) |

文件

| 文件 | 描述 |
| --- | --- |
| index.js | 可安装的 Host 半部分(dsh.bundle 入口,ES 模块) |
| cordis.patch.yml | Bundle 补丁:插入 notifier 插件行 |
| host.js | 动态用法(cordis_define code.host) |
| package.json | 声明 dsh.bundle 的可安装包元数据 |
| README.md | 本文档 |
| LICENSE | MIT 许可证 |

安装(dsh.bundle)

本仓库同时也是一个可安装的 dsh 插件包(package.json 声明了 dsh.bundle):

dsh plugin --profile web add github:YZz-S/dsh-notifier

安装后,当任务完成或需要手动确认 / 输入时,会自动发送系统通知(纯 Host 插件 —— 无需刷新页面)。动态用法(cordis_define 加载 host.js)仍然保留;二者任选其一即可。

使用方法

方式 1:动态 Cordis 插件(临时)

在带有 Cordis 工具的 dsh Web GUI 会话中定义并运行:

1. 调用 cordis_define:将 host.js 的内容粘贴为 code.host(plugin.kind: 'new',idPrefix 为 3–6 个小写字母)
2. 调用 cordis_run 激活(纯 Host 插件 —— 无需刷新页面)
3. 下次任务完成或需要确认时,会弹出系统通知

注意:动态插件的生命周期与当前 dsh 进程一致。重启 dsh 后,你需要重新定义并运行它。
方式 2:作为常规插件安装(推荐)

参见上文“安装(dsh.bundle)”:dsh plugin --profile web add github:YZz-S/dsh-notifier。

工作原理

通知命令(按顺序探测降级,先可用者胜出):

1. powershell(Windows)→ 使用自定义 AppUserModelID(DeepSeekHarness.Notify,来源名称 + avatars.githubusercontent.com/u/148330874?v=4&s=200 图标)的 WinRT Toast 通知;如果 Toast 抛出异常,则降级为气泡通知
2. osascript(macOS)→ display notification … with title …
3. notify-send(Linux)

标题 / 正文在 PowerShell 单引号转义后嵌入到 -Command 脚本中;进程由 subprocess.spawn 以 argv 数组方式启动,由 Node 处理正确的命令行引号转义。

顶层会话过滤:agent/status 覆盖所有 agent(包括子 agent)。插件使用 agents.roots() 检测顶层会话,仅对它们发送“任务已完成”,避免子 agent 完成时产生通知轰炸;如果 agents 服务不可用,则降级为不过滤。

隐私

- 仅在 HKCU 中注册一个 AppUserModelID(来源名称 + 图标);不写文件、无遥测、无持久化存储
- 图标仅在显示通知时由 Windows 从公共 CDN(avatars.githubusercontent.com/u/148330874?v=4&s=200)获取
- 不收集或上传任何本地数据
- 所有副作用都挂在插件 Fiber 上,并在停止时清理

已知限制

- 当 subprocess 服务不可用时,插件会静默禁用自身
- Windows 通知图标来自 CDN;离线时不会显示图标(通知本身仍会弹出)
- agent/status → idle 会在每个顶层回合结束时触发——这就是“回合/任务已完成”的语义
- 动态插件是进程级的:重启后必须重新运行

发布前检查清单

- [x] 无硬编码密钥 / 令牌 / 密码(已扫描 api[_-]?key、secret、token、password、私钥头等模式)
- [x] 无个人信息(用户名、机器路径、内部 IP、电子邮件)
- [x] 唯一的网络端点是公共 CDN(avatars.githubusercontent.com/u/148330874?v=4&s=200,仅由 Windows 为通知图标获取),已在本 README 中披露
- [x] 已采用 MIT 许可证,README 完整
- [x] 无遥测 / 无第三方数据收集
- [x] 代码仅使用 dsh 动态插件公共接口(Services / ctx.on / subprocess);所有副作用都挂在插件 Fiber 上,并在停止时清理

许可证

MIT

中文

English · ← 返回 DeepSeekHarnessPlugins

DeepSeek Harness(dsh)系统通知插件:当任务完成,或需要你在页面中手动输入 / 确认信息时,发送一条操作系统原生通知,让你切到别的窗口时也不会错过关键节点。

功能

- 任务完成通知:顶层会话从 running 回到 idle(一个回合结束)时,发送「任务已完成」
- 需要确认 / 输入通知:触发审批(approval/request,例如需要你确认执行某个工具)时,发送「需要确认」,并带上工具名与原因
- 不干预审批流程:审批通知走 waterfall 的 next() 透传,绝不抢答、不改变审批结果
- 跨平台:Windows(Toast + 气泡兜底)/ macOS(osascript)/ Linux(notify-send)
- 会话标题显示:标题固定「DeepSeek Harness」,正文显示「会话标题」+ 状态(任务已完成 / 需要确认)
- DeepSeek Harness 品牌:Windows 通知注册自定义 AppUserModelID,来源应用名与图标显示为 DeepSeek Harness

触发的事件

| 事件 | 模式 | 通知内容 |
| --- | --- | --- |
| agent/status → idle(顶层会话,且此前为 running) | emit | 任务已完成 |
| approval/request | waterfall | 工具 X 需要你在页面中确认(+ 原因) |

文件说明

| 文件 | 说明 |
| --- | --- |
| index.js | 可安装的 Host 半边(dsh.bundle 入口,ES module) |
| cordis.patch.yml | bundle 补丁:插入 notifier 插件行 |
| host.js | 动态用法(cordis_define 的 code.host) |
| package.json | 声明 dsh.bundle 的可安装包元信息 |
| README.md | 本说明 |
| LICENSE | MIT 许可证 |

安装(dsh.bundle)

本仓库同时是可安装的 dsh 插件包(package.json 声明 dsh.bundle):

dsh plugin --profile web add github:YZz-S/dsh-notifier

安装后任务完成或需要人工确认/输入时自动发送系统通知(纯 Host 插件,无需刷新页面)。
动态用法(cordis_define 加载 host.js)仍保留,两种方式二选一。

使用方法

方式一:动态 Cordis 插件(临时运行)

在 dsh Web GUI 的会话中,用 Cordis 工具定义并运行:

1. 调用 cordis_define:code.host 粘贴 host.js 的内容(plugin.kind: 'new',idPrefix 取 3–6 个小写字母)
2. 调用 cordis_run 激活(纯 Host 插件,无需刷新页面)
3. 下一次任务完成或需要确认时即会弹出系统通知

注意:动态插件的生命周期与当前 dsh 进程相同。重启 dsh 后需重新定义运行。

方式二:安装为正式插件(推荐)

见上文「安装(dsh.bundle)」:dsh plugin --profile web add github:YZz-S/dsh-notifier。

工作原理

通知命令(按顺序降级探测,取第一个可用):

1. powershell(Windows)→ WinRT Toast,注册自定义 AppUserModelID(DeepSeekHarness.Notify,来源名 + avatars.githubusercontent.com/u/148330874?v=4&s=200 图标);Toast 抛出异常时自动降级为气泡通知
2. osascript(macOS)→ display notification … with title …
3. notify-send(Linux)

标题 / 正文通过 PowerShell 单引号转义后内嵌进 -Command 脚本;由 subprocess.spawn 以 argv 数组派生,Node 侧负责正确的命令行引号处理。

顶层会话过滤:agent/status 会覆盖所有 agent(含子代理)。插件用 agents.roots() 判断是否为顶层会话,只对顶层会话发「任务已完成」通知,避免子代理结束刷屏;agents 服务不可用时降级为不过滤。

隐私说明

- 仅在 HKCU 注册 AppUserModelID(来源名 + 图标),无文件写入、无遥测、无持久化存储
- 图标取自公开 CDN(avatars.githubusercontent.com/u/148330874?v=4&s=200),仅在显示通知时由 Windows 拉取
- 不采集、不上传任何本地数据
- 副作用全部挂在插件 Fiber 上,停止即清理

已知限制

- subprocess 服务不可用时插件静默停用
- Windows 通知图标取自 CDN,离线时图标不显示(通知本身仍会弹出)
- agent/status → idle 在每次顶层回合结束时触发,属于「回合/任务完成」语义
- 动态插件为进程级生命周期,重启后需重新运行

开源前检查

- [x] 无硬编码密钥 / Token / 密码(已扫描 api[_-]?key、secret、token、password、私钥头等模式)
- [x] 无个人信息(用户名、机器路径、内部 IP、邮箱)
- [x] 网络端点仅公开 CDN(avatars.githubusercontent.com/u/148330874?v=4&s=200,仅供 Windows 拉取通知图标),已在 README 披露
- [x] MIT 许可证齐全,README 完整
- [x] 无遥测 / 无第三方数据收集
- [x] 代码仅使用 dsh 动态插件公开接口(Services / ctx.on / subprocess),副作用全部挂在插件 Fiber 上,停止即清理

License

MIT

English · 中文

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群