Task-completion notifications via ServerChan / DingTalk / Feishu / generic webhooks.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:yangyongzhen/dsh-notify
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.
DeepSeek Harness 任务完成通知插件:turn 结束后把结果摘要推送到 Server酱 / 钉钉 / 飞书 / 通用 Webhook。
长任务(几十分钟到几小时)跑完不用一直盯着终端,手机收通知即可。
- 监听
session/event事件流,turn/end后防抖debounceMs推送 - 通知内容:模型、耗时、工具调用数、token 消耗(含缓存读写)、最后一条助手消息摘要、回合结果(完成/出错/被中断…)
- 支持 4 种渠道:Server酱(form 表单)、钉钉(含加签模式)、飞书、通用 Webhook(JSON)
- 进程退出时 flush 待发送通知(headless 一次性任务也能送达)
安装
# 本地 checkout 安装
dsh plugin --profile <web|tui|headless> add file:/path/to/dsh-notify
# 或从 Git 仓库安装
dsh plugin --profile <web|tui|headless> add https://gitcode.com/qq8864/dsh-notify.git
配置
通过 profile 的 cordis.patch.yml 或 --patch overlay 配置渠道:
- id: notify
config:
enabled: true
debounceMs: 10000 # turn/end 后的静默等待
summaryMaxChars: 500 # 助手消息摘要截断
titlePrefix: '' # 通知标题前缀
notifyOnCompleted: true # 正常完成时通知
notifyOnError: true # 出错/达到上限时通知
channels:
- type: serverchan # Server酱(方糖)
url: https://sctapi.ftqq.com/<SENDKEY>.send
- type: dingtalk # 钉钉机器人
url: https://oapi.dingtalk.com/robot/send?access_token=<TOKEN>
secret: <加签模式的 secret,可选>
- type: feishu # 飞书机器人
url: https://open.feishu.cn/open-apis/bot/v2/hook/<TOKEN>
- type: generic # 通用 Webhook(JSON: title/content/timestamp)
url: https://example.com/hook
channels 为空数组时不发送任何通知(插件只订阅不动作)。
通知样例(generic 渠道)
{
"title": "[dsh] 任务完成",
"content": "模型:deepseek-official/deepseek-v4-flash\n耗时:4s\ntokens:8247 in / 122 out(缓存读 0 / 写 0)\n---\ndef fibonacci(n): ...",
"timestamp": "2026-08-14T09:22:36.409Z"
}
开发
pnpm install
pnpm run build # tsc -> lib/
端到端验证(本地 webhook):
node test/hook-server.mjs & # 监听 127.0.0.1:9999,落盘 test/hook-received.jsonl
dsh --profile headless --patch ./test/notify-patch.yml "一句话介绍你自己"
cat test/hook-received.jsonl
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.