Windows-only tray monitor for DeepSeek Harness: deploys and manages the standalone DshTaskWatcher tray app - four-state tray icon (gray=disconnected, green=idle, amber=running, red=attention), a per-task panel with live duration/tps/tokens, and completion & outcome notifications. Start/stop switch in Settings > Plugins; the watcher is an independent process that survives DSH restarts.
Install
# from npm (prebuilt)
dsh plugin --profile web add @yeqingtang/dsh-task-watcher-plugin
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:YeqingTang/dsh-task-watcher-plugin
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.
DSH 任务监视器插件(薄壳)——把 DshTaskWatcher
(独立 Windows 托盘监视程序)打进插件包:安装即部署到 %LOCALAPPDATA%\DshTaskWatcher
并拉起托盘,无需再从 GitHub 下载安装包。
形态
- Host + Web 双半端:host 负责部署/拉起/管理路由;浏览器半端在 设置 → 插件 → 任务监视器 提供状态显示与启停开关(10s 轮询、中英双语)
- 脱离宿主进程:
CREATE_NO_WINDOW直起 powershell(无终端窗口)、无 job 绑定——DSH 重启不影响托盘常驻 - 独立生命周期:桌面快捷方式启动、托盘右键退出照常可用;插件停用/卸载不杀运行中的监视器
- 停止意图记忆:托盘退出或开关停止后写
stopped.flag,DSH 重启不会自动拉回(崩溃/强杀仍允许自动恢复) - 单实例互斥:监视器内置 mutex,与手动安装并存也不会双托盘
- 零依赖零构建:
lib/纯手写 ESM,assets 为运行时载荷
管理 API(仅 loopback POST)
| 路由 | 作用 |
|---|---|
/api/dsh-task-watcher/status |
运行状态 / pid / 已部署版本 |
/api/dsh-task-watcher/start |
部署(增量覆盖,config.json 只在缺失时写入)+ 拉起托盘 |
/api/dsh-task-watcher/stop |
停止托盘(只匹配 -File <路径>DshTaskWatcher.ps1 启动形态,绝不误伤提及该文件名的其他进程) |
宿主启动时:已有部署但未运行 → 自动拉起;全新安装不擅自部署(首次显式 start 才落盘)。
安装

方式一(推荐,npm 源):
dsh plugin --profile web add @yeqingtang/dsh-task-watcher-plugin
方式二(GitHub 源):
dsh plugin --profile web add github:YeqingTang/dsh-task-watcher-plugin
重启 web 服务后生效。
已知坑(实现记录)
- node spawn 旗标互斥:
detached:true(DETACHED_PROCESS)与windowsHide:true(CREATE_NO_WINDOW)组合会让 CreateProcess 静默失败(异步error事件无输出、pid 照常分配, 极难排查)。Windows 下普通 spawn 的子进程本就能活得比父进程久,直接去掉 detached 即可。 - stop 误杀面:进程匹配必须锚定
-File\s+\S*DshTaskWatcher[.]ps1启动形态;宽松匹配 (仅文件名)会杀掉任何命令行里提到该文件的进程(编辑器、Get-Content、测试壳)。
升级监视器
插件包 assets 随 git/npm 更新;start 前会增量覆盖部署(config.json 用户文件只在缺失时写入)。
Links
More in this category
xmanrui/dsh-im★ 2147
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★ 1929
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.
OpenPetsHQ/openpets#dsh★ 1309
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 641
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.
c1overzz/dsh-bili-scroll★ 203
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
Oscar-Williams/dsh-deepcanary★ 91
Evidence-first attention supervision for DeepSeek Harness with C0–C3 policy, deduplicated Inbox alerts, quiet hours, and redacted outcome records.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.