← 返回列表
未验证
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 · 中文
扫码进群