ddtcorex/dsh-maestro-notifier
A pluggable notifier service for DeepSeek Harness with Telegram as its first transport and a never-throw delivery contract.
dsh-maestro-notifier is a pluggable notifier service for DeepSeek Harness: a tiny in-memory provider registry with Telegram as the first transport, exposed as a maestroNotifier service with register(provider), ids() and send(providerId, target?, message). Delivery is never-throw, so callers can notify without error handling and unknown providers or missing targets resolve to { sent: false, reason } instead of raising. The README stresses it is a transport only — message copy belongs to the consuming plugin, and consumers depend on it structurally rather than at compile time. A Settings tab edits the Telegram target and the review-notification toggle, and an optional resolveTarget hook reads the default target from the shared settings store.
Install
dsh plugin --profile web add @ddtcorex/dsh-maestro-notifierCopied verbatim from the README's Install block. The README says the package ships its own cordis.patch.yml applied automatically (do not copy it into the profile patch or add the rows by hand), then restart dsh web; an exact release can be pinned with @<version>.
Compatibility
The README's Requirements section lists Node.js ^22.19.0 || >=24.0.0 and pnpm 11+ (a Node-20 shell fails on node:sqlite) and DSH 0.1.x or 0.2.x (peer range <0.3.0-0). The settings domain lives at ~/.dsh/dsh-maestro-config/settings.json, and the bot token is write-only — the host answers hasBotToken, never the value.
Details
- Repo: ddtcorex/dsh-maestro-notifier
- Category: Notifications & Integrations
- Stars: 1
- Version: GitHub repo ddtcorex/dsh-maestro-notifier (MIT, per the README's License section); npm package @ddtcorex/dsh-maestro-notifier at 0.2.3 (registry check 2026-10-07). It is one package of the Maestro Harness suite (dsh-maestro-*).
FAQ
- What happens if the target is missing or the provider is unknown?
- The README says delivery is never-throw: unknown providers and missing targets resolve to { sent: false, reason }, and a resolver failure degrades to { sent: false, reason: 'not-configured' }.
- Does it compose notification messages itself?
- No. The README states it is transport only — message copy belongs to the consuming plugin, and this package never authors domain text.
Alternatives
aokamoaki/dsh-notify · Alan2Z/dsh-speak · AI-Galaxy-GPU/dsh-sound