Repository navigation
Releases
Releases · HonestShine/dsh-desktop-notify
v0.1.1
v0.1.1
修复
- Windows 通知身份:通知头此前显示 AUMID 原文(
com.deepseek.dsh)和默认图标。现在自动读取开始菜单里已注册的DeepSeek Harness.lnk的 AppUserModelID,通知头显示 DeepSeek Harness,并通过appLogoOverride使用安装目录的鲸鱼图标;windows.appId默认留空即自动识别。 close()用解析后的 AUMID 关闭 toast(此前用配置值,自动识别时关不掉)。
新增
- 交互提示音:权限确认(
approval/request)与提问 / 计划征询(user-questions/request)触发时播放独立提示音,与通知铃声分开配置(bundled/custom/none,可试听),不受窗口焦点限制——窗口在前台、显示应用内审批面板时也会响;800ms 去重,并静音该次交互 toast 自带提示音,避免双响。内置assets/alert.wav(三连上行短音)。 - 设置页「交互提示音」分组;
POST /desktop-notify/preview-attention试听接口。
变更
- 通知服务生命周期:加载/启用时注册
dshnotify:协议(带每实例 nonce),禁用/卸载时自动注销协议并清理轮询目录;重载不会误删新实例的注册。
安装
dsh plugin --profile web add github:HonestShine/dsh-desktop-notify#v0.1.1桌面端(Electron 的 desktop profile)请用内置 plugin_manager 安装,或直接用下方 tgz:
dsh plugin --profile web add file:D:\Downloads\dsh-desktop-notify-0.1.1.tgz校验
node test/unit.test.js:21/21 通过;node --check全部通过。- 协议注册 → 注销 → 恢复 全流程实测通过;两段内置音频均为合法 RIFF/WAVE。
完整变更见 CHANGELOG.md。
v0.1.0
首个公开版本:系统通知里直接处理审批
dsh-desktop-notify 是 DeepSeek Harness 桌面端的原生通知插件:权限确认直接出现在系统通知里,点「拒绝 / 允许一次」即回传 Host;提问、任务完成、错误提醒与通知铃声也一并覆盖。
亮点
- 通知内审批:Windows 用 WinRT Toast +
dshnotify:自定义协议回传(VBS 写 rendezvous JSON,Host 轮询消费),macOS 走 terminal-notifier,Linux 走notify-send -A。 - 前台回退:窗口在前台、用户切回前台或通知超时后,自动退回 DSH 原生审批面板。
- 离开判定:窗口虽在前台,但超过设定秒数(默认 180 秒)无键鼠输入也按离开处理。
- 提醒开关:提问、任务完成、错误三类提醒独立开关,可限制为仅后台;相同错误 2 秒内去重。
- 铃声:
system/bundled(原创提示音)/custom/none四种模式,设置页可试听。 - 设置页铃铛图标:0.2.2+ 走原生
settings.section.icon,0.2.0/0.2.1 用 DOM 补丁,失败时回落默认齿轮。 - 可复用服务:Host 注册
ctx.desktopNotify,其他插件可调用show()弹出带按钮的通知。
安装
两种方式,任选其一,装完重启 dsh web 并 F5 刷新。
方式 A:本地目录 / 压缩包
dsh plugin --profile web add link:D:\Plugins\dsh-desktop-notify
# 或拷贝安装(依赖一起装上,源目录改动不再同步)
dsh plugin --profile web add file:D:\Plugins\dsh-desktop-notify
# 也可直接装下方的 tgz 附件
dsh plugin --profile web add file:D:\Downloads\dsh-desktop-notify-0.1.0.tgz方式 B:直接从 GitHub 安装
dsh plugin --profile web add github:HonestShine/dsh-desktop-notify
# 固定到本 Release:加 #v0.1.0dsh plugin 会自动把带 dsh.bundle 的包加入该 profile 的 dsh.profile.bundles。桌面端(Electron)的 desktop profile 由应用管理,请改用桌面端内置的 plugin_manager 安装同一目录或 tarball。详细说明见 README「安装」。
兼容性
- DSH
0.2.0-rc.2/0.2.1-rc.x/0.2.2-rc.1(peer 依赖@deepseek-ai/cordis ^4.0.0、@deepseek-ai/schemastery ^3.18.0)。 - Node.js
^22.22.2 || ^24.15.0 || >=26.0.0。
本版本校验
node --check index.js client.js lib/winrt.js全部通过。node test/unit.test.js:18/18 通过。- 发布前审计:无硬编码本机路径、无 token/密钥;
dshnotify:回传的 token/decision 已加 UUID 与字符集校验,杜绝路径穿越。
已知限制
- macOS 通知身份显示为 terminal-notifier(node-notifier 限制,无法显示为 DeepSeek Harness)。
- Windows 自定义音频仅支持
.wav;按钮回传依赖 Host 进程存活,应用退出后历史通知按钮失效。 - Linux 通知内按钮需要 libnotify 0.7.10+ 且守护进程支持 actions。
- 无通知中心/历史,关闭应用后不补发。
完整变更见 CHANGELOG.md。