在 DeepSeek Harness (DSH) 生态中,插件通常运行在浏览器环境。如果需要定时发送消息,依赖浏览器的插件方案存在一个核心缺陷:关闭浏览器后,定时任务就会中断,无法执行。对于需要模拟特定时间点触发响应的场景,这不够可靠。
@ottttto/dsh-scheduled-send 旨在解决这个问题。它利用 DSH 的宿主进程能力,将定时逻辑从浏览器剥离,运行在服务端。这样即使关闭浏览器,只要宿主进程在运行,定时任务就会如期执行。
核心功能¶
该插件提供了以下核心功能:
- 输入框定时按钮:在 DSH Web 输入框工具栏中增加「⏰ 定时」按钮。
- 以你的身份发送:任务到点投递时,生成
role: 'user'的消息气泡,触发模型响应,而非系统提示。 - 服务端调度:调度逻辑在 DSH 宿主端执行,不依赖浏览器在线。
- 会话隔离:每个会话的任务独立管理,互不干扰。
- 侧边栏「定时任务」面板:在侧边栏底部提供入口,统一查看和管理所有会话的待发送任务。
- 会话内折叠列表:在会话内显示任务列表,支持展开/收起。
- 断电补发:任务数据持久化在本地,重启 DSH 后自动恢复队列并补发。
- 移动端适配:界面针对移动端进行了适配。
安装与启用¶
安装该插件需要先安装 DeepSeek Harness (DSH),并确保 dsh web 命令能正常运行。
dsh plugin --profile web add @ottttto/dsh-scheduled-send
安装完成后,需要重启 dsh web 并硬刷新浏览器(Cmd/Ctrl+Shift+R),输入框工具栏和侧边栏才会出现相应的入口。
典型用法¶
- 在 DSH Web 输入框打好草稿。
- 点击输入框工具栏中的「⏰ 定时」按钮。
- 在弹出的时间选择器中选择发送时间,确认后内容转为定时任务,输入框清空。
- 到达设定时间后,消息会以正常用户气泡的形式出现在原会话中,并自动触发模型响应。
适用场景与注意¶
- 适用场景:适合需要在特定时间点向 DSH 会话发送消息并触发模型响应的场景,例如模拟延时对话、定时测试等。
- 注意:该插件以当前 DSH 进程的权限运行。安装前应检查源码与许可证。
已知限制¶
- 不支持重复规则(仅支持一次性定时)。
- 不支持指定模型发送(旧任务的
model字段会被忽略)。 - 到点投递要求创建时的会话在 DSH 宿主中存在。如果会话在创建时已关闭,任务会保留,待会话恢复时补发。
总结¶
@ottttto/dsh-scheduled-send 通过将调度逻辑下沉至宿主进程,解决了浏览器插件在定时任务上的天然缺陷。其会话隔离和断电补发机制,为需要稳定定时触发的开发者提供了可靠的工具。
GitHub 仓库:https://github.com/OTTTTTO/dsh-scheduled-send