dsh-task-reminder
任务跑完了,不用再盯着侧边栏那盏灯
DeepSeek Harness(Web 与桌面端)的对话任务提醒:一条 Windows 系统弹窗 + 一声提示音
[](LICENSE)
[](https://github.com/deepseek-ai)
[](https://github.com/hawkongz/dsh-task-reminder/stargazers)
[](https://www.npmjs.com/package/@hawkongz/dsh-task-reminder)
[](https://www.npmjs.com/package/@hawkongz/dsh-task-reminder)
[](https://awesome-dsh-plugin.com/p/hawkongz/dsh-task-reminder/)
[](https://github.com/deepseek-ai/deepseek-harness)
语言: 简体中文 | English
---
## 目录
- [这是什么](#这是什么)
- [30 秒上手](#30-秒上手)
- [你会看到什么](#你会看到什么)
- [设置一览](#设置一览)
- [桌面端(DSH Desktop)](#桌面端dsh-desktop)
- [常见问题](#常见问题)
- [进阶](#进阶)
- [安装细节](#安装细节)
- [开发与相关文档](#开发与相关文档)
- [许可证](#许可证)
---
## 这是什么
Agent 在 DeepSeek Harness 里跑一个回合常常要好几分钟。这期间你切去别的窗口做事,任务停止的唯一信号就是侧边栏里那盏运行灯灭了——而它不告诉你任务是好端端跑完、还是出错停了;更不会告诉你**Agent 正卡在一个问题上等你回答**,你不切回去,它就一直在那儿等。
这个插件把这一刻变成一条真正的提醒:任务一停止,立刻发一条 **Windows 系统弹窗**(就是操作系统右下角的原生通知,浏览器退到后台也看得见),同时响一声合成提示音。点一下弹窗就回到那个会话,**并落在你这次提问的位置**——接着往下读就行。
三种停止原因都覆盖,而且**一次停止只提醒一次、错误优先**:完成通知不会和出错通知打架,你手点的「停止」也不会被误报成「任务完成」。所有设置都在自己的设置页里,改完自动保存,重启后仍在。
零运行时依赖:提醒逻辑全部跑在浏览器半侧,宿主半侧只多做两件页面做不到的事(桌面端点通知把窗口拉回前台、以及设置页里的检查更新)。为什么要这样做、边界情况怎么处理,写在 [docs/how-it-works.md](docs/how-it-works.md)。
## 30 秒上手
> **需要什么:** 跑着 `web` profile 的 DeepSeek Harness(`dsh web`)、`PATH` 上有 pnpm(`dsh plugin` 会把参数转给它)、一个能硬刷新的浏览器。桌面端不走命令行、也不需要 pnpm——见下面「桌面端」一段。
**第一步:装**
```powershell
# Windows(PowerShell),任意目录执行
dsh plugin --profile web add @hawkongz/dsh-task-reminder
```
```bash
# macOS / Linux
dsh plugin --profile web add @hawkongz/dsh-task-reminder
```
**第二步:重启宿主,再硬刷新浏览器**
```bash
dsh web
```
改过插件之后这两步都省不掉:宿主只在启动时读插件,浏览器又会缓存旧文件。
**第三步:允许通知**
打开「设置 → 任务提醒」——页面在,插件就活了。首次装载浏览器会问一次通知权限,选**允许**;当时错过了也不要紧,点「系统弹窗」这一行下面的**申请通知权限**按钮可以再问一次。
随便找个会话跑个任务,等着收提醒就行:默认「任何情况都弹」,哪怕你正盯着对话窗口,通知也会出现。
**桌面端**(DSH Desktop):侧栏 **插件** → **添加插件**,把 `@hawkongz/dsh-task-reminder` 填进「包名或地址」,点 **安装**,然后彻底退出并重开应用。
