CrombastiC/dsh-macos-notify
Sends native macOS notifications for DeepSeek Harness turns — completed, failed, blocked, aborted and waiting-for-approval — with per-event sounds, notification filtering, multi-task coalescing and a first-level Settings page in the DSH Web UI. It adds separate sounds for completed/error/aborted/approval events (any can be muted), a system sound picker with in-page preview via afplay, managed custom sound import and deletion, a 1.5-second coalescing window plus optional digest mode so parallel tasks do not flood Notification Center, recent notification diagnostics explaining whether an event was sent/queued/suppressed/failed, a six-event test matrix, daily quiet hours with temporary pauses, duplicate-error suppression with a configurable cooldown, project path rules for muting / error-only / important-project bypass, minimum turn-duration filtering, optional Web-tab focus suppression and macOS HID idle-time gating, and OSC 9 notifications for supported terminals.
Install
dsh plugin --profile web add dsh-macos-notifyREADME install: add the published npm package to the web profile, then start dsh web. Documented alternatives are the explicit-CLI form npx -y @deepseek-ai/dsh plugin --profile web add dsh-macos-notify, the GitHub source form (dsh plugin --profile web add github:CrombastiC/dsh-macos-notify), the full git URL form (installs a snapshot of main) and a local checkout form (dsh plugin --profile web add .). Remove it with dsh plugin --profile web remove dsh-macos-notify. After installing, open Settings → macOS notifications from the first-level settings navigation. The README warns against absolute-path bundle overlays in cordis.dev.yml — install the local package through plugin add instead.
Compatibility
macOS only; Node.js 22 or newer; DeepSeek Harness with the web profile. Settings namespace is macos-notify and values changed from the Web card apply live without restarting DSH.
Details
- Repo: CrombastiC/dsh-macos-notify
- Category: uncategorized
- Stars: 0
- Version: 0.4.1 (npm dsh-macos-notify; registry repository field → github.com/CrombastiC/dsh-macos-notify, verified 2026-09-12)
- Last push: 2026-08-17
- First seen: 2026-08-17
Recent updates
README documents per-option defaults (minDurationSec 30, coalesceMs 1500, duplicateWindowSec 300, quiet hours 23:00–08:00 with overnight ranges, sounds.completed Glass etc.) and the decision log: the last 50 decisions, duplicate-error cooldown state and recent session titles persist to ~/Library/Application Support/dsh-macos-notify/state.json across DSH restarts and contain no message content. Channel auto uses OSC 9 on recognized terminals (iTerm2, WezTerm, Kitty, Ghostty, Warp; tmux wrapped in DCS passthrough) and falls back to osascript.
FAQ
- How do I install dsh-macos-notify?
- Run dsh plugin --profile web add dsh-macos-notify, then start dsh web. GitHub source (github:CrombastiC/dsh-macos-notify) and local-checkout forms are also documented. Remove it with dsh plugin --profile web remove dsh-macos-notify.
- Can I control which events trigger a notification?
- Yes — completed, error, aborted and approval events each have a switch, plus minimum turn-duration filtering, project path rules (mute / errors-only / important bypass), daily quiet hours with optional critical alerts, and temporary pauses. All apply live from the Settings card.
- Do the notifications contain my message content?
- No — the README states the persisted decision history (last 50 decisions, duplicate-error state, recent session titles) does not contain message content.