前言¶
写 DSH(DeepSeek Harness)应用时经常碰到这类需求:对话进行到一半,想让它在 25 分钟后提醒用户喝水;或者每天早上 9 点拉一次站会、每周一 10 点生成周报。DSH 本身没有内置这类调度能力,常见的做法是自己起一个 cron,或者切出去用别的工具记一笔——会话和提醒是割裂的。
dsh-reminder 要解决的就是这个问题:在 DSH 会话内一句话设提醒,后台调度器到点自动触发,不需要离开对话。下面介绍它的功能、安装和用法。
这是什么¶
dsh-reminder 是一个 DSH 插件(Cordis Bundle),源码在 GitHub 仓库 Komorebi3x3/dsh-reminder,许可证为 MIT,插件自身版本 0.1.0,peer 依赖 @deepseek-ai/dsh-tools。
一句话定位:在 DSH(DeepSeek Harness)里创建定时提醒与重复任务,会话内一句话设提醒,后台调度器到点自动触发。
核心功能¶
1、一句话设提醒。支持相对时间、每天、工作日、每周几、今天/明天、绝对时间等 when 格式,例如 in 25 minutes、every day 21:00、every weekday 9:30、every monday 10:00、tomorrow 9:00、today 14:30、2026-09-01 10:00。
2、后台调度器。每 15 秒检查一次,到点把提醒写入到期队列并记录到控制台。
3、重复任务。每天 / 每个工作日 / 每周某天的提醒会自动滚动到下一次。
4、完整管理。支持列出、取消、推迟(snooze)、查看已到期提醒。
5、本地持久化。数据存于 $DSH_HOME/scheduler,重启不丢,全程不上传任何数据。
插件对外提供五个工具:set_reminder、list_reminders、cancel_reminder、snooze_reminder、get_due_reminders。
安装与启用¶
通过 DSH Launcher 的「插件市场」搜索 dsh-reminder,或使用 CLI 从市场安装:
dsh plugin --profile web add dsh-reminder
也可以从源码仓库安装(把 你的用户名 换成你自己的 GitHub 用户名,main 换成对应分支):
dsh plugin --profile web add "github:你的用户名/dsh-reminder#main"
安装后需重启 web 并刷新页面,插件才会生效:
dsh web
用下面两条命令验证插件是否挂载成功:
dsh --profile web --dump-config # 应能看到 dsh-reminder 这一层
dsh plugin --profile web list
典型用法¶
在对话中直接说,DSH 会自动调用对应工具:
- “25 分钟后提醒我喝水” →
set_reminder(when:"in 25 minutes", message:"喝水") - “每天早上 9 点提醒我站会” →
set_reminder(when:"every day 9:00", message:"站会") - “每周一 10 点生成周报” →
set_reminder(when:"every monday 10:00", message:"生成周报") - “列出我的提醒” →
list_reminders - “我有什么到期的提醒” →
get_due_reminders
各工具的职责如下:
| 工具 | 说明 |
|---|---|
set_reminder |
创建提醒,返回 id 与下次触发时间 |
list_reminders |
列出所有未完成提醒 |
cancel_reminder |
按 id 取消 |
snooze_reminder |
推迟 N 分钟(推迟后变为一次性) |
get_due_reminders |
取已到期未确认提醒(clear=true 清空) |
注意一点:snooze 推迟之后,提醒会变为一次性,不再按原周期滚动。
实现与兼容性¶
插件基于 @deepseek-ai/dsh-tools 的 defineTool 与 Cordis 的 ctx.tools / ctx.effect API 实现,已在 0.1.0-rc 系列宿主版本验证。时间解析是纯函数,可以单独测试:
node test-time.mjs
本地开发时,README 建议用独立 profile,避免影响 web 生产会话:
git clone <repo> && cd dsh-reminder
dsh plugin --profile plugin-dev add ./dsh-reminder
dsh --profile plugin-dev --dump-config
dsh --profile plugin-dev
需要提醒的是:DeepSeek Harness 处于开发者预览期,迭代极快。升级宿主版本后要重新验证插件;若宿主 API 发生变动,以官方文档为准。建议在你自己的插件文档里固定住验证过的 DSH 版本号。
适用场景与注意¶
适合的使用者:在 DSH 会话内需要轻量定时提醒和周期任务的人,比如站会提醒、阶段性提醒、每周固定时间触发的例行事项。数据全部落在本地 $DSH_HOME/scheduler,不上传。
两点注意:
1、插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。dsh-reminder 是 MIT 许可,源码公开,安装前可以先读一遍 index.js 和 time.js 确认行为符合预期。
2、宿主处于预览期,版本升级后插件可能需要重新验证,别默认它在所有宿主版本上都可用。
小结¶
dsh-reminder 把定时提醒和重复任务收进了 DSH 会话:一句话设定,后台调度器到点触发,管理动作齐全,数据本地留存。对需要在对话流里加轻量调度的场景,是个可以直接装上试的插件。
- 社区插件目录页:https://www.skillhub.cn/plugins/Komorebi3x3/dsh-reminder
- GitHub 仓库:https://github.com/Komorebi3x3/dsh-reminder