DeepSeek Harness 插件

doncelee229-cmyk/dsh-plugin-approval-alert

Star 数 ★ 1 分类 通知与集成 收录于 2026-08-14

审批与选择方案的系统级桌面通知:通知显示所属工作区、点击跳转到对应工作区,多语言(简中/繁中/英文),附提示音。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:doncelee229-cmyk/dsh-plugin-approval-alert

GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DeepSeek Harness 审批提醒插件 · Approval Alert for DeepSeek Harness

当 Harness 需要你审批某个操作时,在桌面右下角(浏览器外部)弹出系统级通知,显示所属工作区名称点击即可跳转到对应工作区;同时播放提示音,提醒不遗漏。

When DeepSeek Harness needs your approval, this plugin pops a native OS notification in the bottom-right corner of your desktop (outside the browser), shows which workspace needs attention, and jumps to that workspace when you click it — with a chime so you never miss a request.


功能特性 / Features

  • 🔔 系统级通知(Native notifications):显示在屏幕右下角、浏览器窗口之外;即使你切到其他窗口也能看到。 OS-level toast on the desktop, visible even when you are in another window.
  • 审批 + 选择方案全覆盖(Approval & decision prompts):需要审批(approval)或需要你选择方案/回答问题(ask_user_question、方案审阅)时都会弹出通知。 Notifies on both approval requests and question/plan-choice prompts (ask_user_question, plan review).
  • 🏷️ 内容简洁、显示工作区(Concise & workspace-aware):直接写明哪个工作区需要审批或选择方案(如 工作区「E:\sign」需要审批),不做冗余说明。 The notification simply names the workspace that needs approval or your input.
  • 🌐 多语言通知(Bilingual by system language):跟随系统语言自动切换——简体中文 / 繁体中文 / 英文(其他语言一律英文)。 Notification language follows the system: Simplified Chinese / Traditional Chinese / English (anything else falls back to English).
  • 🖱️ 点击跳转(Click-to-jump):点击通知拉回浏览器并跳转到对应工作区/会话;若点击导致浏览器新开窗口/标签页,新页面加载后也会自动打开目标会话。 Clicking the notification focuses the browser and navigates to the right workspace/session — even when the click opens a brand-new browser window, the fresh page auto-navigates.
  • ⏱️ 默认停留时长(OS default duration):通知按操作系统的默认停留时间显示并自动收起,因此会播放系统自带的通知动画(Win10/Win11/macOS/Linux 各不相同)。 Notifications linger for the OS's default duration and auto-dismiss, so the system's own notification animation plays (varies by OS).
  • 🔊 提示音(Chime):提醒到达瞬间播放双音上行提示音;首次交互自动解锁音频,规避浏览器自动播放策略,尽可能保证第一声就能听到。 A two-tone chime plays on arrival; audio is unlocked on the first user gesture so the very first alert is audible.
  • 📦 多会话提醒(Multi-session aware):其他会话(如子代理)需要审批/选择方案时同样会弹通知,点击即可跳转。 Prompts in other sessions (e.g. subagents) also raise notifications; click to jump.
  • 🌐 跨平台(Cross-platform):基于 Web Notifications API 与 Web Audio API,兼容 Win10 / Win11 / Linux / macOS(通知外观与动画由操作系统决定)。 Built on the standard Web Notifications & Web Audio APIs; compatible with Win10 / Win11 / Linux / macOS (toast appearance & animation are OS-controlled).

工作原理 / How it works

纯浏览器端(Client-only)插件,不触碰审批流水线,对 Harness 零侵入:

  • Harness 发起审批时,Web 客户端运行时会把该会话标记为 pendingInteraction: "approval"(响应式)。
  • 插件在 shell.overlay(全屏浮层插槽,加法式、不影响任何现有 UI)注册一个"隐形"观察组件,通过标准的 useSessions / useWorkspaces 快照监听审批状态。
  • 审批到达 → 通过 sessionIds 反查所属工作区 → 弹出系统通知 + 播放提示音。
  • 点击通知 → 原页面存活时直接 sessions.open(目标会话);否则把目标会话 id 暂存到 localStorage,新开的窗口/标签页加载后会等会话列表就绪再自动打开并清除标记。

A pure browser-client plugin with zero interference:

  • When Harness raises an approval, the web client runtime marks that session as pendingInteraction: "approval" (reactively).
  • The plugin registers an invisible watcher in the additive shell.overlay slot and observes the standard useSessions / useWorkspaces snapshots.
  • On arrival it resolves the owning workspace via sessionIds, shows the OS notification and plays the chime.
  • Clicking jumps directly via sessions.open(sessionId); if the click opens a brand-new window, the target session id is staged in localStorage and the fresh page auto-navigates once the session list is ready.

使用说明 / Usage

  1. 安装本插件(见下方"安装 / Install")。
  2. 首次使用请点击页面任意位置一次:插件会在这次交互中自动请求浏览器"通知"权限并解锁音频。
  3. 之后每次需要审批/选择方案:桌面右下角弹出通知(显示工作区名,按系统默认时长自动消失,播放系统通知动画)+ 提示音;点击通知即跳转到对应工作区。
  4. 真正的"允许一次 / 拒绝"决策仍在浏览器内的审批卡片上完成。

Notes:

  1. Install the plugin (see below).
  2. Click anywhere in the page once on first use — the plugin asks for notification permission and unlocks audio on that gesture.
  3. Every approval request then raises an OS toast (workspace name, ~3s auto-dismiss) plus a chime; click the toast to jump to the workspace.
  4. The actual Allow-once / Reject decision stays on the in-browser approval card.

提示:若系统未弹出通知,请检查浏览器站点权限中的"通知"是否已允许。 If no toast appears, check the site's notification permission in the browser.


安装 / Install

方式一:动态插件(当前会话,快速体验)

在 Harness 会话中通过 cordis_define / cordis_run 加载客户端插件(源码见 src/client/index.js),注册到 shell.overlay 插槽即可。

方式二:打包安装(推荐,可持久化)

以 npm 包形式安装到 Harness 的插件目录,并按官方文档把插件行加入你的 cordis.yml 组合:

npm install dsh-plugin-approval-alert

具体接入方式请以官方文档为准:


兼容性 / Compatibility

平台 系统通知 提示音 备注
Windows 10 toast 外观/退出动画由系统决定
Windows 11 圆角通知由系统提供
Linux 取决于桌面环境的通知服务
macOS 系统通知中心呈现

浏览器:Chrome / Edge / Firefox / Safari(需支持 Web Notifications 与 Web Audio API)。


许可 / License

MIT

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →