OS-level system notifications for the dsh web GUI: popups when a turn finishes or the agent needs your approval, answer, or plan review while the page is in the background.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:pany0593/dsh-ui-notifications
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
系统通知(System notifications)插件:当对话回合结束或 agent 开始等待你时——授权请求、ask-user 提问或计划审核——即使页面在后台,浏览器也会弹出 OS 级通知,让你不会错过。
这是一个 DeepSeek Harness 社区插件(GitHub topic: dsh-plugin),以独立仓库发布,独立于官方 deepseek-harness 仓库。
功能
- 回合结束提醒 — 页面隐藏时,会话 agent 停止工作(
runningtrue→false)→ 弹"对话结束"通知。 - 待处理交互提醒 — 出现授权、提问或计划审核等待 → 弹"需要授权 / 需要回答 / 需要审核计划"通知。
- 仅后台触发 — 只有
document.hidden时才弹通知,你在看页面时不会被干扰。 - 通用设置开关 — 设置 → 通用新增"系统通知"行,含启用开关和"开启系统通知"权限按钮(浏览器权限需要用户手势,按钮即入口),样式与其他偏好行一致。开关状态持久化在
localStorage。 - 排除子代理活动 — 内部编排回合不弹通知。
插件只监听浏览器端会话列表快照的实时状态变化,刷新和重连不会重放旧通知。
安装
通过 dsh plugin add(推荐)
本插件声明了 dsh.bundle manifest,可直接用官方插件安装命令:
dsh plugin --profile web add @deepseek-ai/dsh-client-ui-notifications
(npm 发布后生效;当前可从源码仓库安装:dsh plugin --profile web add pany0593/ui-system-notifications。)
手动加入 cordis.yml
在你的 dsh 配置(如 cordis.yml)中加入本插件:
- id: ui-notifications
name: '@deepseek-ai/dsh-client-ui-notifications'
安装依赖(需要与官方 dsh 客户端包同版本系,当前基于 0.1.0-rc.x):
pnpm add @deepseek-ai/dsh-client-ui-notifications
然后在 dsh web GUI 的 设置 → 通用 中打开"系统通知"开关,并点击"开启系统通知"授予浏览器通知权限。
开发
pnpm install
pnpm --filter @deepseek-ai/dsh-client-ui-notifications bundle # 构建 browser bundle
pnpm run test:gui # 客户端测试
已知限制
- 仅浏览器 Web Notifications — 原生桌面客户端需要自己的通知通道;本插件不超出网页范围。
- 单通道设计 — 尚无按类型(回合结束 vs 授权)的细分开关,行内只有一个总开关,后续可扩展。
- 权限由浏览器管理 — 若用户在浏览器中拒绝权限,插件无法再次弹请求;设置行会引导到浏览器设置。
- 独立仓库测试范围 — 本仓库只带纯逻辑测试(
tests/notifications.spec.ts);UI 组件级测试依赖官方 monorepo 的测试基建(源码解析与__ModuleLoader__注入),随官方仓库的packages/client/ui-notifications运行。
许可
MIT
Links
More in this category
xmanrui/dsh-im★ 1525
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 1396
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 572
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
omdsh-dev/dsh-notification★ 85
Desktop notifications for turn completions, with per-outcome controls and keyword rules.
whyihaveyou/dsh-suite#plugin-notify★ 57
IM webhook and local notifications on turn completion, errors, or approval (Feishu/WeCom/DingTalk/Slack/Discord/custom).
omdsh-dev/dsh-lark★ 55
Lark/Feishu bot channel for DeepSeek Harness: each chat drives its own agent, and tool approvals, model questions, and plan reviews return as cards answered by a button or a reply. Switch workspace and model from the chat (`/cd`, `/model`, `/new`), and run several bots that keep separate sessions and can hand turns to each other in one group.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.