dsh-tool-notify
by rizkirmdhnnn
DSH 插件:面向模型的 notify 工具——发送通知
DSH plugin: model-facing notify tool for DeepSeek Harness — send notifications t
安装
dsh plugin --profile web add github:rizkirmdhnnn/dsh-tool-notifyGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
A DeepSeek Harness (DSH) plugin that adds a model-facing notify tool. The agent calls it when a long task finishes or something needs attention, and a message is delivered to your notification channel.
Supports two channel types:
- ntfy (default) — publishes to a topic on an ntfy server (
https://ntfy.shor self-hosted). - webhook — POSTs a JSON payload to any generic webhook endpoint.
Status
Developer preview. DeepSeek Harness is iterating rapidly and breaking changes are expected. This plugin is tested against DSH
0.1.0-rc.6/ cordis4.0.1/ Node22.19+. Pin versions when you install.
Requirements
- Node.js
>=22.19(or>=24) - pnpm via Corepack (
packageManager: pnpm@11.7.0) - A running DeepSeek Harness profile (
dsh --profile <name>)
Install
From npm (prebuilt, no build permission needed)
dsh plugin --profile demo add dsh-tool-notify
From GitHub (sources — build runs at install)
dsh plugin --profile demo add github:rizkirmdhn/dsh-tool-notify#<commit-sha>
pnpm ≥10 refuses to run the package's prepare build script until you allow it. dsh prints the exact package key; add it to the profile's pnpm-workspace.yaml:
allowBuilds:
dsh-tool-notify: true
and re-run the add. That allowance means "run this package's code on my machine at install time" — only add packages whose source you trust, and pin a commit.
From a tarball
pnpm pack
dsh plugin --profile demo add ./dsh-tool-notify-0.1.0.tgz
Configuration
The bundle inserts a row with id notify. Override it in your profile's cordis.patch.yml (later layers win per row; a patch replaces the whole config):
- patch:
- id: notify
config:
endpoint: https://ntfy.sh
defaultTopic: dsh-alerts
timeoutMs: 10000
channel: ntfy
# tokenRef: NTFY_TOKEN
| Field | Type | Default | Description |
|---|---|---|---|
endpoint |
string | https://ntfy.sh |
Base URL of the ntfy server or the full webhook URL |
defaultTopic |
string | dsh-alerts |
Topic used when the model does not pass one (ntfy only) |
timeoutMs |
number | 10000 |
HTTP request timeout |
channel |
'ntfy' | 'webhook' |
'ntfy' |
Channel type |
tokenRef |
string | — | Credential reference (env-var style name) for a Bearer token |
Auth via credentials
Secrets never go in config. Set tokenRef to the name of a credential (e.g. NTFY_TOKEN), then configure that credential through DSH's normal credential provider (env var, .env, or the UI). The plugin resolves it once per call through ctx.credentials, so a rotated token reaches the next call without a restart.
Usage
The model sees a notify tool with parameters:
{
"message": "string (required)",
"title": "string (optional)",
"priority": "'min' | 'low' | 'default' | 'high' | 'max' (optional, ntfy)",
"topic": "string (optional, ntfy override)"
}
A successful call returns { ok: true, status, channel }; a non-2xx response returns { ok: false, status, channel } (not an error). Network failures and timeouts are reported as tool errors.
ntfy
POSTs to {endpoint}/{topic} with body { topic, message, title, priority }.
webhook
POSTs to {endpoint} directly with body { message, title } — no ntfy-specific fields.
Development
pnpm install
pnpm run typecheck
pnpm run test
pnpm run build
The package is a standard DSH bundle: package.json declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, the plugin registers via ctx.tools.register(defineTool(...)), and registrations are effects that unwind when the plugin unloads.
License
MIT
原始 README: https://github.com/rizkirmdhnnn/dsh-tool-notify/blob/main/README.md ↗
同类插件
查看全部 →
dsh
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

dsh-qqbot
让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

dsh-open-in-vscode
从 Web GUI 一键在 VS Code 中打开工作区目录。

dsh-notification
回合完成桌面通知,按结果分控 + 关键词过滤。

dsh-notifier
DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

chatccc
飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent