DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Macos Notify — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

dsh-macos-notify

Macos Notify

DeepSeek Harness 的原生 macOS 通知和可配置声音

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:CrombastiC/dsh-macos-notify#48b1236de090e193434337545a3d7a26038c09f1
README兼容性版本

兼容性与来源证明

Macos Notify 以 dsh-macos-notify 发布,当前版本为 0.4.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/5

版本

0.4.1stable
2026/9/5
0.4.0stable
2026/9/2

相关插件

正在加载相关插件…

最新版
0.4.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/5
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Im@xmanrui/dsh-im将十一种 IM 渠道和一个公网 AI Office 接入本地 DeepSeek Harness。Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。Chat Importdsh-chat-import将 25+ 个 AI 编程 Agent 的对话历史导入 DeepSeek Harness,作为可恢复会话继续使用,完整保留工具调用、推理和结果,并支持反向导出与同步。

README

dsh-macos-notify

Native macOS notifications for DeepSeek Harness, with event-specific sounds, notification filtering, multi-task coalescing, and a first-level settings page in the DSH Web UI.

Features

  • Notification Center alerts when a turn completes, fails, is blocked, or waits for approval.
  • Separate sounds for completed, error, aborted, and approval events; any event can be muted.
  • System sound picker, in-page sound preview via afplay, and managed custom sound import and deletion from the Web settings page.
  • Custom imports are converted to AIFF, limited to 5 MB and 10 seconds, capped at 20 managed files / 50 MB total, and stored in ~/Library/Sounds.
  • A 1.5-second coalescing window and optional digest mode prevent parallel tasks from flooding Notification Center.
  • Recent notification diagnostics explain whether an event was sent, queued, suppressed, or failed; they persist across restarts.
  • A six-event test matrix validates completed, error, approval, aborted, coalesced, and digest notifications.
  • Daily quiet hours and temporary pauses with custom durations and a remaining-time display.
  • Common toggles and the sound picker save instantly from the read-only view; number inputs are clamped to safe ranges.
  • Duplicate error suppression with a configurable cooldown window and volatile-fragment normalization.
  • Project path rules for muting, error-only alerts, or important-project bypasses.
  • Minimum turn-duration filtering avoids notifications for near-instant replies.
  • Optional Web-tab focus suppression and macOS HID idle-time gating.
  • Dedicated wording for API rate limits, including provider retry timing when available.
  • OSC 9 notifications for supported terminals, including tmux DCS passthrough.
  • Live settings updates without restarting DSH.

Requirements

  • macOS
  • Node.js 22 or newer
  • DeepSeek Harness with the web profile

Install

Install the published npm package:

npx -y @deepseek-ai/dsh plugin --profile web add dsh-macos-notify
npx -y @deepseek-ai/dsh web

Alternatively, install the latest source directly from GitHub:

npx -y @deepseek-ai/dsh plugin --profile web add github:CrombastiC/dsh-macos-notify

Then open Settings → macOS notifications from the first-level settings navigation.

To remove the plugin:

npx -y @deepseek-ai/dsh plugin --profile web remove dsh-macos-notify

Local development install

From this repository checkout:

npx -y @deepseek-ai/dsh plugin --profile web add .
npx -y @deepseek-ai/dsh web

dsh plugin anchors relative paths to the invoking directory and forwards the install to pnpm in the selected profile. Avoid absolute-path bundle overlays in cordis.dev.yml; install the local package through plugin add instead.

Configuration

The settings namespace is macos-notify. Values changed from the Web card apply live.

OptionDefaultDescription
onCompletedtrueNotify when a turn completes normally.
onErrortrueNotify for errors and blocked turns. These alerts bypass completion gates and digesting.
onAbortedfalseNotify when a user aborts a turn.
onApprovaltrueNotify immediately when a tool waits for approval.
minDurationSec30Suppress completed-turn notifications shorter than this many seconds; 0 disables the threshold.
onlyWhenIdleSec0Require this many seconds of keyboard/mouse idle time for completed notifications; 0 disables idle gating.
onlyWhenUnfocusedtrueSuppress completed notifications while any DSH Web tab is focused.
digestMinutes0Collect completed notifications into a periodic digest; 0 sends them immediately.
includeSubagentsfalseInclude subagent sessions instead of notifying only for top-level sessions.
channelautoauto, osascript, or osc9.
sounds.completedGlassSound for completed turns.
sounds.errorBassoSound for errors, blocked turns, and rate limits.
sounds.abortedemptySound for aborted turns; empty means silent.
sounds.approvalPingSound for approval requests.
coalesceMs1500Window for merging simultaneous turn results; disables merging.

Project rule modes

  • mute — suppress every notification under the configured project path.
  • errors — allow only errors, blocked events, and approval requests.
  • important — bypass minimum-duration, focus, idle, quiet-hour, and temporary-pause filters.

The settings page keeps the last 50 decisions, the duplicate-error cooldown state, and recent session titles, persisted to ~/Library/Application Support/dsh-macos-notify/state.json so they survive DSH restarts. Each row records whether an event was sent, queued, suppressed, or failed and includes the reason. This history does not contain message content.

Notification channels

auto uses OSC 9 when the terminal is recognized as supporting it, and falls back to osascript otherwise.

Recognized OSC 9 terminals include iTerm2, WezTerm, Kitty, Ghostty, and Warp. tmux sessions are wrapped in DCS passthrough automatically.

Sound selection applies to the osascript channel. With OSC 9, the terminal controls whether and how a notification sound is played.

Custom sounds

In the settings page, select Edit → Import sound. Supported inputs include AAC, AIFF, CAF, FLAC, M4A, MP3, OGG, Opus, and WAV.

The host validates the extension, decoded size, converted duration, managed-file count, and total managed size before writing anything to the user sound directory. Imports are converted to 44.1 kHz mono AIFF using macOS afconvert, with ffmpeg as a fallback for formats that afconvert cannot decode. Existing files are never overwritten; a numeric suffix is added instead.

New imports are recorded in ~/Library/Application Support/dsh-macos-notify/sounds.json and can be deleted from the settings page. If a sound is currently selected, deletion asks for confirmation and changes affected events to silent. Files remain in ~/Library/Sounds if the plugin is removed without deleting them first.

Known limitations

  • The plugin is macOS-only. Native notifications use osascript, and custom import uses macOS audio tooling.
  • OSC 9 sound behavior belongs to the terminal and ignores the per-event sound selection.
  • The Web settings page uses the trusted /macos-notify RPC channel because the current DSH Web settings proxy has a namespace allowlist for built-in settings.
  • Only sounds imported by v0.2.0 or later are tracked as managed sounds. Earlier manually copied/imported files can still be selected, but must be removed from ~/Library/Sounds manually.

Development

The package is intentionally build-free:

  • index.js — host plugin, event handling, notification delivery, settings RPC, and sound import.
  • client.js — hand-written DSH client module for focus reporting and the first-level Web settings page.
  • src/policy.js — pure policy helpers (quiet hours, project rules, duplicate merging) covered by unit tests.
  • src/state.js — validated, atomic persistence for diagnostics, duplicate state, and session titles.
  • cordis.patch.yml — profile bundle patch.

Run the release checks:

node --check index.js
node --check client.js
npm test
npm pack --dry-run

中文说明

这是一个仅支持 macOS 的 DeepSeek Harness 通知插件。它可以在任务完成、出错、等待审批时发送系统通知,并支持通知诊断(跨重启持久化)、afplay 本地试听、测试矩阵、每日勿扰、自定义时长的临时暂停、自定义声音管理与导入指派、常用开关即时保存、重复错误抑制、项目路径自动补全、焦点抑制、合并通知和定时汇总。推荐从 npm 安装,也可以直接从 GitHub 安装最新版源码。

License

MIT © 2026 CrombastiC

0
quietHoursEnabledfalseEnable the daily local-time quiet period.
quietStart23:00Quiet-period start in local HH:mm time.
quietEnd08:00Quiet-period end in local HH:mm time. Overnight ranges are supported.
quietAllowCriticaltrueContinue sending error, blocked, and approval alerts during quiet hours.
pauseUntil0Temporary pause deadline as Unix milliseconds; managed by quick actions in the Web card.
duplicateWindowSec300Suppress identical errors from the same session within this window; 0 disables it.
projectRulesJson[]Project rules managed by the Web card. More-specific descendant paths win.