dsh-task-notify
by V-Reason
DeepSeekHarness任务完成时进行消息推送提醒(微信+Windows通知)
安装
dsh plugin --profile web add github:V-Reason/dsh-task-notifyGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DSH(DeepSeek Harness)Web 插件:Agent / 子代理 / 工作流任务完成时,以及 agent 停下来等你操作时(需要审批、向你提问、计划待确认、目标受阻),弹出真正的 Windows 系统通知(带提示音与 DeepSeek 图标),可选 PushPlus 微信推送。浏览器关闭也能收到。
特性
- 系统级通知:经 BurntToast(PowerShell 模块)调用 Windows 通知中心,播放系统提示音,无需网页授权;
- 手机推送:通过 PushPlus 同步推送到微信,电脑不在身边也能收到;
- 通知内容:会话名(沿父链回溯到根会话)、时间、状态(完成 / 失败 / 中止…);
- 需要审批:agent 权限不足发起提权 / 越权执行审批时,通知「需要你的审批」(含工具名与原因)——审批策略为
ask时提醒你去批准; - 询问用户:agent 调用
ask_user_question主动停下咨询时,通知「Agent 正在问你」(含问题文本); - 计划待确认:
/plan完成后 agent 调用exit_plan_mode提交计划、等待你确认执行时,通知「计划待你确认」(含计划标题与摘要,每条评审只提醒一次); - 目标受阻:goal 自动回合因持续阻塞而停止(模型上报或到达轮次上限)时,通知「目标受阻」(含阻塞原因),提醒你处理或清除;
- 分类开关:主回合 / 子代理 / 工作流 / 需要审批 / 询问用户 / 计划确认 / 目标受阻 独立开关,另有总开关一键关闭全部通知;
- 持久配置:配置存于 DSH settings(
task-notify命名空间),重启不丢; - 布局自适应:配置面板逐帧(rAF)跟随 dsh-better-sidebar 面板让位,不遮挡。
界面
- 会话标题栏右侧铃铛按钮:总开关关 → 空心铃铛;总开关开 → 实心铃铛;总开关开且推送开 → 右上角白色手机剪影;
- 毛玻璃配置面板:总开关 / 提醒对象(主回合、子代理、工作流、需要审批、询问用户、计划确认、目标受阻)/ 手机推送,含保存、测试推送、测试通知。
环境要求
DSH Web(profile 插件机制),Windows 10/11;
PowerShell 7(pwsh)与 BurntToast 模块:
Install-Module BurntToast -Scope CurrentUser
安装
在 profile 的
package.json中dependencies增加:"dsh-task-notify": "file:<本仓库路径>"在
dsh.profile.bundles数组末尾追加"dsh-task-notify";在 profile 目录执行
pnpm install,重启 DSH。
宿主行由本包自带的 bundle 补丁(
cordis.patch.yml)注入,不要再写入 profile 的cordis.patch.yml,否则启动报duplicate loader entry id: dsh-task-notify。
使用
- 在 https://www.pushplus.plus 扫码登录,复制「一对一推送」token;
- 点击标题栏铃铛 → 打开「手机推送(PushPlus)」开关 → 粘贴 token → 保存;
- 用「测试通知」「测试推送」验证两条通道;
- 「提醒对象」中按需开关:需要审批(agent 提权/越权审批,仅审批策略
ask时提醒)、询问用户(agent 提问)、计划确认(/plan完成后 agent 提交计划等你确认)、目标受阻(goal 因持续阻塞停止)。
注意:审批策略为
never(如danger-full-access权限预设)时审批会被自动拒绝、无需人工操作,因此不会发送审批提醒。
测试与验收
五类通知的触发方式与预期内容(实测环境:Windows 11 + DSH Web,桌面 toast 通道):
| 通知 | 触发方式 | 预期内容 |
|---|---|---|
| 任务完成 | agent 正常跑完一个回合(含子代理 / 工作流) | 会话名、时间、状态(完成 / 失败 / 中止…) |
| 需要审批 | 权限设为 read-only,agent 写文件被沙箱拒绝后申请提权(审批策略 ask) |
工具名、提权原因 |
| 询问用户 | agent 调用 ask_user_question 抛出问题后主动停下 |
问题文本 |
| 计划待确认 | /plan 进入计划模式,agent 调用 exit_plan_mode 提交带 # 标题的计划 |
计划标题与摘要(每条评审只提醒一次) |
| 目标受阻 | 创建注定无法完成的目标,跑满自动轮次上限或模型上报 blocked | 阻塞原因 |
v1.2.0 已实测通过:任务完成 / 需要审批 / 询问用户 / 目标受阻。
计划待确认需先在会话中进入计划模式(/plan)后由 agent 调用 exit_plan_mode 触发,按上表操作即可验收。
构建
node build.mjs
# pnpm 对 file: 依赖按内容拷贝,改完后同步到 profile 再刷新页面 / 重启:
Copy-Item lib\*.js <profile>\node_modules\dsh-task-notify\lib\ -Force
Copy-Item deepseek.png <profile>\node_modules\dsh-task-notify\ -Force
说明:构建使用 DeepSeek Harness 自带的 esbuild 与 vendored schemastery/cosmokit(@deepseek-ai/dsh-* 保持外部引用);harness 不在默认路径时用环境变量指定:
$env:DSH_HARNESS = 'D:\path\to\deepseek-harness'
wire 编解码为手写严格 schema,无额外运行时依赖。
许可
MIT
图标 deepseek.png 由 DeepSeek 品牌标识(deepseek.svg)转出,仅用作应用图标。
原始 README: https://github.com/V-Reason/dsh-task-notify/blob/main/README.md ↗
同类插件
查看全部 →
dsh
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

dsh-qqbot
让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

dsh-open-in-vscode
从 Web GUI 一键在 VS Code 中打开工作区目录。

dsh-notification
回合完成桌面通知,按结果分控 + 关键词过滤。

dsh-notifier
DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

chatccc
飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent