任务完成时弹出 Windows 原生系统通知(通知中心横幅):目标完成或 Agent 结束一轮。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:YuMo226/dsh-task-notify
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
一个 DeepSeek Harness (DSH) 插件:每当任务完成时(目标完成或 Agent 结束一轮),弹出原生系统通知。支持 Windows / macOS / Linux。
特性
- 各平台原生系统通知 — Windows toast、macOS 通知中心、Linux libnotify;真实系统横幅,非模态弹窗,不打断工作。
- 两个「任务完成」触发(可分别开关):
- 目标(goal)进入
complete状态 - Agent 一轮正常结束
- 目标(goal)进入
- CJK 安全 — Windows 通知文本经 UTF-8 临时文件传递,中文/日文/韩文不损坏。
- 零运行时依赖 — 仅用 Node 内置模块 + 系统原生命令(PowerShell、osascript、notify-send)。
- 防刷屏 — 两次通知之间可设置最小间隔。
平台支持
| 系统 | 机制 | 前提 |
|---|---|---|
| Windows | WinRT toast(通知中心) | 无(运行时自动注册 AUMID) |
| macOS | osascript display notification |
macOS 10.8+ |
| Linux | notify-send(libnotify) |
libnotify;缺失时回退 zenity → kdialog |
工作原理(Windows)
- 首次通知时注册 AppUserModelID(
dsh.tasknotify)到HKCU\Software\Classes\AppUserModelId,使CreateToastNotifier能投递到交互桌面。 - 任务完成时,把标题/正文写入 UTF-8 临时文件,运行一段小 PowerShell 脚本,通过
ToastNotificationManager展示 WinRTToastText02通知。 - 之后删除临时文件;失败只写入日志、绝不抛错,不影响 Agent 运行。
每次通知(及失败)都会记录到审计日志 <home>/task-notify.log。
安装
作为 dsh bundle,可通过 profile 插件管理器安装:
dsh plugin --profile web add dsh-task-notify
或直接安装该仓库:
dsh plugin --profile web add github:YuMo226/dsh-task-notify
手动安装(无 pnpm)
把本包复制到 profile 的 hoisted node_modules,并添加 loader entry:
- insert:
- id: notify
name: dsh-task-notify
config:
onGoalComplete: true
onTurnEnd: true
title: 'DeepSeek Harness'
minIntervalMs: 4000
安装后请重启
dsh web以便插件挂载。
配置
| 键 | 类型 | 默认 | 说明 |
|---|---|---|---|
onGoalComplete |
boolean | true |
目标完成时通知 |
onTurnEnd |
boolean | true |
Agent 一轮正常结束时通知 |
title |
string | DeepSeek Harness |
通知标题 |
minIntervalMs |
number | 4000 |
相邻两次通知的最小间隔(防刷屏) |
常见问题
- Windows:确认通知中心已开启,专注助手未处于「仅闹钟」/「仅优先事项」模式。
- Linux:安装 libnotify(提供
notify-send);缺失时插件回退 zenity,再 kdialog。 - 若未弹通知,查看
<home>/task-notify.log的报错记录,并可提交 issue。
License
链接
同类插件
xmanrui/dsh-im★ 1548
通过二维码或机器人凭据将 IM 机器人接入 DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord 和 WhatsApp 共 9 种渠道)。
shaobeichen/dsh-pocket★ 1415
手机远程访问 DSH Web 界面:扫码即用局域网或公网(cloudflared 隧道)访问,实时同屏、移动端适配布局,带设置页管理。
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 574
通过 WebSocket V2 将 DeepSeek Harness 接入 Avernet Bot 协作网络,支持自动注册、Agent 会话隔离、工具调用事件和多 Bot 路由工具。
omdsh-dev/dsh-notification★ 86
回合完成桌面通知,按结果分控 + 关键词过滤。
whyihaveyou/dsh-suite#plugin-notify★ 57
回合完成、错误或待审批时推送 IM webhook(飞书/企微/钉钉/Slack/Discord/自定义)与本地通知。
omdsh-dev/dsh-lark★ 55
DeepSeek Harness 的飞书/Lark 机器人渠道:每个会话驱动独立 agent,工具审批、模型提问与计划审阅都以卡片回到聊天,点按钮或直接回复即可作答;聊天里用 `/cd`、`/model`、`/new` 切工作区、换模型、重开会话,多个机器人各自独立并可在同群交接回合。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。