dsh-schedule-later

workflowtested: passnpmMIT

Schedule a message into a dsh chat for later: a Schedule button in the message box with a date and time picker, a sidebar panel of pending messages across chats, delivery as a normal user message even with the browser closed, and schedule_message, list_scheduled_messages and cancel_scheduled_message

下载量 / Downloads
3,047
依赖体积 / node_modules
0.31 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-schedule-later

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<picture>

<source media="(prefers-color-scheme: dark)" srcset="assets/banner-dark.png">

<img alt="schedule later" src="assets/banner-light.png" width="1012">

</picture>

<br>

dsh-schedule-later

[English](README.md) | 中文

一个 DeepSeek Harness 插件,把消息安排到稍后的 dsh 会话里——可以由你在输入框的日期时间选择器里挑选时间,也可以由模型用它自己的工具来安排。

它运行在宿主端,而不是浏览器里。 设好时间、关掉标签页、去睡觉:dsh 进程会准时把消息作为普通用户气泡发出去,模型回复它就像你亲手按了发送一样。

它做五件事:

  • 输入框里的 ⏱️ Schedule 按钮 —— 一个昼夜调度器:天空头部随所选时间变化,配模拟时钟、AM/PM 日月胶囊和快捷选项,与发送按钮同一行。
  • 宿主端投递 —— 计时和消息注入都发生在 dsh 宿主进程内,浏览器只是一个视图,标签页关掉也照常工作。
  • “⏱️ Scheduled” 侧边栏面板 —— 列出所有会话里待发的消息,按会话分组、最早优先、按发送时间着色,每条都可以立即发送、改时间或取消。
  • 三个模型工具 —— schedule_message、list_scheduled_messages、cancel_scheduled_message,让助手能自己回到会话里。
  • schedule-later 技能 —— 教会模型什么时候不用你说就主动安排自己的回访。

安装

需要一个可用的、带 web profile 的 dsh。

dsh plugin --profile web add dsh-schedule-later
dsh --profile web

也可以从 GitHub 或本地文件夹安装:

dsh plugin --profile web add github:adithyanraj03/dsh-schedule-later
dsh plugin --profile web add /path/to/dsh-schedule-later

然后重启 dsh(dsh --profile web,如果它正在运行),并强制刷新浏览器(Ctrl+Shift+R / Cmd+Shift+R)——普通刷新可能加载缓存的客户端 bundle。输入框一行里会出现 ⏱️ Schedule 按钮,侧边栏底部会出现 ⏱️ Scheduled 入口。

从 dsh-send-later 迁移?

这是同一个插件的正式发布名。不要在同一个 profile 里同时运行两者:它们注册同样的三个模型工具和同样的输入框按钮,所以先移除旧的——删掉 profile 的 cordis.patch.yml 里的那一行,以及 profile 的 package.json 里的条目。

待发消息存放在以插件命名的文件夹里;想保留它们,请在 dsh 停止时把队列复制过来:

mkdir -p ~/.dsh/dsh-schedule-later
cp ~/.dsh/dsh-send-later/tasks.json ~/.dsh/dsh-schedule-later/tasks.json

你会得到什么

调度器

位于输入框一行、发送按钮旁边。照常输入 → 点击 ⏱️ Schedule → 调度器打开(默认为 5 分钟后,允许任意未来时间)→ Confirm 把草稿变成一条定时消息并清空输入框。不会立刻发送任何内容。 多行文本和 Markdown 源码原样保留。

头部是一片随所选时间变化的天空——黎明、白昼、黄昏、夜晚——太阳或月亮沿弧线移动;模拟时钟扫到整点,钟面白天是亮的、夜晚是缀着星星的暗色。时间带着一个带太阳或月亮的 AM/PM 胶囊,9:00 PM 永远不会被误当成 9:00 AM。快捷选项:+5 分钟、+15 分钟、+1 小时、今晚 9 点、明早 9 点,下方还有实时的 “Sends in …” 倒计时。

动画生动但不吵闹:设时间时秒表在扫动、悬停时轻弹一下;有待发消息时侧边栏图标缓慢滴答;每次倒计时沙漏都会翻转。系统请求减弱动效时,全部动画停止。

手机和窄窗口(≤480px)下,选择器折叠成接近全宽的弹层,触控目标至少 40px 高:

可以在胶囊条或侧边栏面板里取消任何待发消息——两处都会先向你确认。

侧边栏面板

侧边栏底部的入口带着一个统计所有待发消息的徽标,点开是一个列出所有会话待发消息的面板——最早优先,每行用等宽字体显示消息(最多两行)、发送时间和倒计时。消息按会话分组——点击会话名即可打开它。点击一条消息看它的详情:全文、是谁在什么时候安排的,以及 Send now、Change time 和 Cancel。Send now 和 Cancel 都会先请求确认。在这里可以取消任何会话的消息。会话已被删除的消息会置灰,但仍可取消。

当前会话的待发消息还会以一行式胶囊条贴在输入框顶部——显示最早的一条(超长截断)、发送时间、实时倒计时和一个需确认的 ✕ 取消按钮。多于一条时,“+N”徽标统计其余消息。点击胶囊条,侧边栏面板会直接打开并定位到这条消息,全文在那里。

模型工具

三个工具让助手把消息安排进它正在工作的会话——稍后自己回来处理,不用你记着:

工具 · 做什么

schedule_message · 把一条消息安排进当前会话,用 delay_minutes 或 ISO 8601 的 at(不带时区 = 本机本地时间)。

list_scheduled_messages · 列出当前会话里待发的消息——你安排的、助手安排的——以及当前本地时间。

cancel_scheduled_message · 取消一条助手安排的消息。

尽管说 “remind me at 6pm to push the release” 或 “check the CI run again in 20 minutes”。到点时它作为新一轮对话抵达,模型会直接处理。

护栏——一个能叫醒自己的助手否则可能永远叫下去:

  • 仅限当前会话。 它只能安排进自己正在运行的会话,绝不碰别的会话。
  • 明显标记。 它安排的消息以 [Scheduled by the assistant] 开头,没人会把它误当成你实时敲的字。
  • 至少提前 1 分钟,最多 30 天,每个会话最多 10 条待发。
  • 它取消不了你的。 它能列出你安排的消息,但只能取消它自己的。
  • 它安排的一切都会出现在 ⏱️ 面板和会话内列表里,你可以取消。

技能

插件自带 schedule-later 技能(SKILL.md),注册到 dsh 的技能服务,模型每一轮都能看到它的目录条目。它教会模型什么时候不用你说就自己回来——还在跑的构建、部署或任务,将会变化的页面或状态,你说过稍后再做的事——怎么写这条消息让未来的自己能冷启动处理,以及告诉你它安排了什么、在什么时候。编辑 SKILL.md 即可改变这个行为;每次目录刷新都会重新读取。

要求

  • 一个 web dsh profile —— engines: dsh >= 0.1.0
  • Node 18+
  • 无运行时依赖——客户端 bundle 只依赖 react

许可证

MIT —— 见 [LICENSE](LICENSE) 文件。

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::13,最后更新 2026-10-28

Links

GitHub · Homepage · npm

Same category