插件目录 / Developer / dsh-tool-notify
dsh-tool-notify
已验证 · 实测可装 rizkirmdhnnn
功能简介
dsh-tool-notify — DSH 插件(其他)
可用 — 实测通过,早期项目
dsh-tool-notify — DSH 插件(其他) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-tool-notify
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: [email protected]) - 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
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tool-notify」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:rizkirmdhnnn/dsh-tool-notify Headless(CLI)profile:
dsh plugin --profile headless add github:rizkirmdhnnn/dsh-tool-notify 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。