DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在实际开发中,当任务运行时间较长或涉及多轮 Agent 交互时,频繁刷新页面或检查 UI 状态会消耗额外精力。dsh-notify 插件通过系统通知、浏览器 Tab 标题和左侧会话列表,为任务的运行、完成或异常提供明确的状态提示。
这是什么¶
dsh-notify 是一个标准的 DSH Host/Client 插件,不修改 DeepSeek Harness 核心逻辑。它通过监听 Session 事件、Agent 与 Job 生命周期,在任务收敛时通过多种渠道分发状态。
- 维护者:
weekitmo - 许可:MIT
- 定位:任务状态通知
核心功能¶
插件提供以下状态反馈机制:
- 系统通知:仅在顶层任务全部收敛后发送完成、错误、中止、阻塞或 Token 限制结果。可在设置中单独关闭某一类通知。
- 钉钉机器人:配置 Access Token 与 Signing Secret 后,可独立选择发送“成功/完成”或“失败/中止”消息。支持免打扰模式(默认 23:00-08:00)以及结束后错过消息的汇总功能。
- Tab 状态:
- 空闲时显示最近工作区会话标题。
- 运行中显示 spinner 和会话数。
- 完成或异常后显示未读结果计数。
- 侧栏状态灯:
- 绿点:会话完成且尚未查看。
- 红点:错误、中止、阻塞或 Token 限制。
- 打开会话后清除状态灯。
- 可配置:在 WebUI 的 设置 > 通知 中控制通知权限、Tab 动效、favicon、spinner 和侧栏状态灯。
安装与启用¶
前置条件¶
安装前需确保 pnpm 已在 PATH 环境变量中。
安装命令¶
macOS、Linux 或其他 POSIX 系统使用以下命令安装最新稳定版:
curl -fsSL https://github.com/weekitmo/dsh-notify/releases/latest/download/install.sh | sh
Windows 用户可克隆仓库后运行批处理安装器:
git clone --depth 1 https://github.com/weekitmo/dsh-notify.git
cd dsh-notify
install.bat
安装后刷新 WebUI。若插件未自动加载,请重启对应的 dsh web 进程。
启用与配置¶
- 打开 WebUI,进入 设置 > 通知。
- 开启需要的通知功能。
- 如需系统通知,点击 请求授权,并在浏览器提示中允许通知。
- 如需钉钉通知,在钉钉配置组打开官方文档创建自定义机器人,填写 Access Token 与 Signing Secret,选择需要发送的结果类型后保存。
注意事项¶
- 迁移状态:本仓库已迁移至
weekitmo/oh-my-dsh-plugins,本仓库不再维护。后续开发、Issue 和 Release 请使用 monorepo 中的@weekit/dsh-notify。 - 钉钉配置路径:钉钉凭据保存在
$DSH_HOME/dsh-notify/settings.json,不会写入浏览器localStorage。 - 子代理通知:子代理独立完成通知固定为关闭,仅跟随父会话显示运行计数。
- 安全限制:钉钉凭据管理接口仅接受本机回环地址上的同源 WebUI 请求。通过局域网或公网地址访问 WebUI 时不能修改钉钉配置。
结语¶
dsh-notify 通过多渠道的状态反馈,降低了长时间运行任务的管理成本。配合 DSH 的插件化架构,它为智能体开发者提供了一个轻量级的状态监控方案。