DSH 的插件生态允许扩展功能。一个常见需求是稍后提醒或检查后台任务。dsh-schedule-later 解决了这个问题,它是一个将消息调度到 dsh 聊天中供稍后发送的插件,支持日历选择和模型工具。
这是什么¶
dsh-schedule-later 是一个 DSH 客户端插件。它允许用户手动选择时间发送消息,也允许模型通过工具自主安排消息。该插件由 adithyanraj03 维护,采用 MIT 许可证。
核心功能¶
主机端投递
消息的定时和注入在 dsh 主机进程中运行,而非浏览器。这意味着即使关闭了浏览器标签页,只要 dsh 进程在运行,消息仍会准时发送。
UI 交互
* ⏱️ Schedule 按钮:位于消息输入框行,包含日历选择器和快捷选项(如 +5 min, Tonight 9 PM)。
* ⏱️ Scheduled 侧边栏:在侧边栏底部显示,列出所有待发送消息,按发送时间排序,支持一键发送、更改时间或取消。
模型工具
插件为模型提供了三个工具,使其能够自主调度消息:
* schedule_message:将消息调度到当前对话中,支持 delay_minutes 或 ISO 8601 at 时间。
* list_scheduled_messages:列出当前对话中待发送的消息。
* cancel_scheduled_message:取消模型自己调度的消息。
技能
插件包含 schedule-later 技能(SKILL.md),该技能会被注册到 dsh 的技能服务中。模型可以通过学习该技能,在无需用户提示的情况下自主安排后续的检查或提醒。
安装与启用¶
安装前请确保 dsh 已安装且配置了 web 配置文件,环境 Node 版本在 18 以上。
- 执行安装命令:
dsh plugin --profile web add dsh-schedule-later
- 如果 dsh 进程正在运行,请重启它:
dsh --profile web
- 在浏览器中执行硬刷新(Ctrl+Shift+R / Cmd+Shift+R)以确保加载最新客户端代码。
安装后,消息输入框会出现 ⏱️ Schedule 按钮,侧边栏会出现 ⏱️ Scheduled 入口。
典型用法¶
手动调度
在输入框输入内容,点击 ⏱️ Schedule 按钮,选择时间后确认。消息不会立即发送,而是进入待发送列表。
模型调度
通过对话让模型执行操作。例如:
* “提醒我下午 6 点推送发布。”
* “20 分钟后再次检查 CI 运行。”
模型会调用 schedule_message 工具安排消息,并在指定时间作为新对话轮次发送。
适用场景与限制¶
适用场景
* 需要定时提醒的任务(如下班前发送日报)。
* 需要定时检查后台任务状态(如定时检查 CI 运行结果)。
* 需要模型在一段时间后自动回复或执行特定操作。
限制与注意事项
* 仅限当前聊天:模型工具仅能调度当前对话中的消息。
* 时间限制:调度时间至少提前 1 分钟,最多提前 30 天。
* 数量限制:每个聊天最多同时存在 10 条待发送消息。
* 互斥性:与 dsh-send-later 插件互斥,两者注册相同的工具和按钮,不能同时运行。
* 客户端依赖:客户端仅依赖 React,无额外运行时依赖。