rizkirmdhnnn/dsh-tool-notify ↗★ 0

dsh-tool-notify

DSH plugin: model-facing notify tool (ntfy / webhook / Telegram-style) 适合让模型主动推送通知的用户;需配置端点与通道

パッケージ
dsh-tool-notify
互換性
未検証
Harness ピア範囲
^0.1.0-rc.6
Cordis ピア範囲
^4.0.1
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/08/14

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:rizkirmdhnnn/dsh-tool-notify

ドキュメント

README 全文を読む ↗

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
FieldTypeDefaultDescription
endpointstringhttps://ntfy.shBase URL of the ntfy server or the full webhook URL
defaultTopicstringdsh-alertsTopic used when the model does not pass one (ntfy only)
timeoutMsnumber10000HTTP request timeout
channel'ntfy' | 'webhook''ntfy'Channel type
tokenRefstring—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.