dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
DSH 通知与远程操作控制面:一个 `notify()` API 接入 28 个出站渠道,六条入站控制通道承载手机审批、提问与任务控制;提供 DSH 原生「通知与控制」UI、出站热生效、多 agent 路由,并保持零运行时依赖。
*我们正在进行大规模重构 近期更新可能推迟*
Your agent, in your pocket.
Bring DeepSeek Harness to your phone: notifications, approvals, questions, remote conversation, and task/session control across 28 outbound and 6 inbound channels.
简体中文 · Quick Guide · Troubleshooting · Compatibility
dsh-notifier@0.13.1 · test/ 2011 tests · 2011 automated contract tests
dsh-notifier is the notification and remote-operations layer for DeepSeek Harness. It is built for the common workflow of leaving the DSH window while still wanting to know what your agent is doing — and respond when it needs you.
ask_user, continue a conversation, steer a running turn, or switch tasks/sessions.Copy this sentence to an AI/agent that can operate your terminal:
Install or upgrade the latest stable dsh-notifier on this machine. First detect the active DSH profile and current install source, verify the installed DSH/Node versions are compatible, and preserve the existing configuration. Do not modify unrelated plugins or print any token/secret. Install from the official package, restart the relevant DSH Host once, verify the actual installed version and the Notify & Control entry, then report the commands you ran, the result, and any remaining problem. Project: https://github.com/THEWOLFWALKER/dsh-notifierThe full AI installation procedure is in AI_INSTALL.en.md.
dsh plugin add dsh-notifier@latest --profile <profile-name>Restart DSH once so the new Host plugin and client.js are loaded. Then:
Outbound configuration changes are hot-applied after installation. Inbound transports can still show Restart pending when their long-lived connection must be recreated.
I want to… · Start here Only receive task notifications · Configure one outbound channel in Notify & Control Approve / answer questions from my phone · Add a supported inbound channel, then pair your identity Talk to the agent remotely · Pair your identity, then send plain text in the private bot chat Steer a running task · Send ! from the bound private chat Manage members, bindings, sessions or recovery · Open the Advanced Console from Native Automate or run headless · Use YAML / CLI from the guide
Outbound (28): Bark, Bell, Chanify, Desktop, DingTalk, Discord, Feishu, Google Chat, Gotify, iGot, Mattermost, ntfy, OneBot 11, PushDeer, Pushover, PushPlus, Qmsg, QQ official bot, ServerChan, Slack, Microsoft Teams, Telegram, Webhook, WeCom robot, WeCom app, WPS Bot, WxPusher, Xizhi.
Inbound control (6): Telegram, Feishu, QQ official bot, WxPusher, WeChat iLink, DingTalk.
Full channel matrix (generated from the channel registry)
type · Channel · Auth · Free? bark · Bark (iOS) · device key (or self-host URL) · ✅ bell · Terminal bell (local) · — · local chanify · Chanify (iOS) · token (or self-host) · ✅ desktop · Desktop notification (local) · — (Windows needs BurntToast module) · local dingtalk · DingTalk custom robot · webhook + secret (HMAC sign) · ✅ discord · Discord webhook · webhook URL · ✅ feishu · Feishu custom bot · webhook (+ sign secret) · ✅ gchat · Google Chat · space webhook URL · ✅ gotify · Gotify · server URL + app token · self-host igot · iGot (iOS) · push key · ✅ (limits) mattermost · Mattermost · base URL + token (+ channel) · self-host ntfy · ntfy · topic (+ server URL) · ✅ (self-host) onebot · OneBot 11 (QQ) · HTTP endpoint · self-host pushdeer · PushDeer · push key · ✅ pushover · Pushover · user key + app token · paid (one-time) pushplus · PushPlus (WeChat) · token · ✅ (limits) qmsg · Qmsg酱 (QQ) · key (+ optional group, v3) · ✅ (limits) qq-bot · QQ official bot · appId + appSecret · ✅ serverchan · Server酱 (WeChat) · sendkey · ✅ (limits) slack · Slack · incoming webhook URL · ✅ teams · Microsoft Teams · Power Automate workflow URL · ✅ telegram · Telegram Bot API · bot token + chat id · ✅ webhook · Any custom endpoint · — · — wecom · WeCom group robot · webhook key · ✅ wecom-app · WeCom app message · corpid + agentId + secret · ✅ wps-bot · WPS collaboration group robot (WOA) · webhook URL (with ?key=) · ✅ wxpusher · WxPusher (WeChat) · appToken + uid · ✅ (limits) xizhi · 息知 Xizhi · sendkey · ✅ (limits)
Provider behavior differs. Buttons, attachments, delivery receipts, reconnect behavior, and account limits are only claimed at the evidence level documented in Compatibility.
Common private-chat commands
Command · Purpose /help · Show commands /whoami · Show identity / pairing state /status · Current routing / session state /tasks / /use … · List or select active tasks /sessions · Session overview /stop · Stop the current turn /route · Show bidirectional routing /quiet … / /unquiet … · Mute / restore notification delivery /pair / /unpair · Pair / detach an inbound identity /log [N] · Bounded redacted recent-notification summary; off by default and owner-only
Plain text continues the conversation. Prefix with ! to steer a running turn. Unsafe remote-control semantics are not enabled in group chats.
DSH events / notify() / other plugins
│
▼
dsh-notifier core
┌────────┴────────┐
▼ ▼
28 outbound health / activity
channels │
│ │
▼ │
phone │
│ │
└─ 6 inbound ─────┘
│
▼
identity + Control Core
approval · ask_user · conversation · task/session controlThe Native UI, notifier runtime, tests, and Advanced Console are designed to observe the same underlying state rather than maintaining separate “UI truth” and “runtime truth”.
Please do not start by pasting a large log into an issue. The fastest support path is:
This keeps “old package / wrong profile / stale file: install / missing restart / provider credential” cases out of maintainer triage, while giving us a reproducible report when there is a real project bug.
Document · Use it for Guide · Install, first setup, outbound/inbound, pairing, daily use AI installation · Safe copy/paste prompt for a terminal-capable AI Troubleshooting · Human + AI first-line diagnosis Diagnostics · Evidence collection and support report format Compatibility · DSH / optional SDK / provider evidence levels Upgrade guide · Update, verify version, stale-install cleanup, rollback Plugin API · ctx.notifier consumer API Architecture · Internal design and runtime authorities Changelog · Release history
For reproducible bugs, prefer GitHub Issues after AI-assisted diagnosis.
Do not send bot tokens, webhook secrets, admin tokens, full state.json, or unredacted private chat content through an issue, QQ, or email.
Maintenance note: replies may be slower until 2026-10-01 because the maintainer is taking exams.
Node.js 22+, ESM, and zero mandatory runtime dependencies. Some provider onboarding features use optional dependencies and load them only when needed.
Release verification remains documented in AGENTS.md, OPERATIONS, and the repository test suite.
MIT