dshbase

插件目录 / Developer / dsh-taskdone-notify

dsh-taskdone-notify

已验证 · 实测可装 MuziiXzx

✓ 持续维护

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-23最近推送
跨平台平台

功能简介

任务完成时通知用户

✅
我们的评价
可用 — 实测通过,早期项目

任务完成时通知用户 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-taskdone-notify

DSH 会话提醒插件 / Session alerts for the DSH web GUI.

在两个关键时刻提醒你:

时刻 触发条件
任务完成 根 agent(交互式会话,不含 subagent 子代理)由运行中转为空闲——这一轮任务已完成,正在等你
等你回答(v1.1 新增) agent 调用 ask_user_question 工具提问——轮次阻塞中途,agent/status 仍是 running,完成提醒不会覆盖此场景

每个时刻都走三个通道:

通道 机制 覆盖场景
Windows 系统通知 Host 侧直接调用 Windows PowerShell + WinRT Toast API 弹系统通知(进入 Windows 通知中心) 浏览器全部关闭也有效
浏览器通知 Web Notification API;页面右下角有一次性「开启系统通知」授权按钮 浏览器开着、DSH 页面在后台标签
页面内 toast 右下角提醒卡片:任务完成为绿点/10 秒消失,等你回答为黄点/20 秒消失 页面正打开时

点击任一提醒即可跳转到对应会话。

安装 / Install

dsh plugin --profile web add link:D:/AICODING/DSH/dsh-taskdone-notify

然后重启 web 服务(重启后生效)。

安装到其他机器:把本目录放过去,改用路径安装,或发布到 npm 后:

dsh plugin --profile web add @muziixzx/dsh-taskdone-notify

组合配置 / Composition config

cordis.patch.yml 中的插件行支持一个开关:

键 默认 说明
osToasts true 是否从 Host 进程弹 Windows 系统通知(浏览器通道不受影响)

工作原理 / How it works

  • Host 半(lib/index.js,标准 Cordis 插件)
    • 任务完成:监听 agent/status 事件;仅统计「先见过 running 再转 idle」的根 agent,避免 agent 创建时的初始 idle 误报、避免工作流子代理刷屏;激活时对已在运行的 agent 做快照,插件随服务启动时也能正确补报进行中的轮次;
    • 等你回答:挂 tools/execute 环绕分发钩子,识别 ask_user_question 调用——该钩子在 pre-execute 审批之后、真正分发之前触发,此时问题卡片必然出现,不误报;通知后立即 next(),绝不阻塞或改写分发;从 arguments.questions[0] 取问题标题作为提醒正文;
    • 通过 sessionQuery.readTitle 取会话标题(仅提取叶子字段);
    • OS 通知以 argv 数组调用 PowerShell,正文经注入安全处理(剥除引号/控制字符、截断 80 字符);
    • GET /api/taskdone-notify/poll?since=<游标> 提供游标式轮询(环形缓冲 50 条,条目带 kind: task|question):每个浏览器各自维护游标,服务端重启后客户端自动重新基线,局域网多访问端互不抢通知。
  • 浏览器半(lib/client.js,shell module-loader 格式,零依赖纯 DOM)
    • 每 2 秒轮询;首次轮询只基线不回放(打开页面不会重播历史完成);
    • toast 卡片按 kind 区分视觉(绿点/黄点)与停留时长(10s/20s)、浏览器通知区分标题(tag 常量去重,多标签页不叠加)、授权引导 pill;
    • 点击经 sessions 服务跳转会话;挂载/轮询失败只记日志,绝不拖垮页面。

限制 / Notes

  • OS 系统通知弹在 DSH 服务端所在机器(dsh-lan 瘦终端模型下即服务器本机);局域网访问端请用浏览器通知通道(点一次授权)。
  • Windows 专注助手/勿扰模式可能拦截系统通知,请在系统设置中放行。
  • 后台标签页的浏览器通知受浏览器节流(约每分钟一次),近实时通知由 OS 通道与页面内 toast 保证。
  • 「任务完成」判定为该会话本轮 agent 转入空闲,无论以正常回复、出错还是中止结束。

License

Apache-2.0

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-taskdone-notify」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:MuziiXzx/dsh-taskdone-notify

Headless(CLI)profile:

dsh plugin --profile headless add github:MuziiXzx/dsh-taskdone-notify

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →