这是什么
你想让 AI「5 分钟后检查一下构建队列」、「今晚 11 点汇总今天的工作」、
或者「每隔 10 分钟看一眼部署状态」——说一次就行,到点它自己会做。
dsh-tick 把定时能力做进当前会话:到点后,你设定的那段提示词会被注入会话,
唤醒模型执行。任务存在会话自己名下,不会串到别的会话。
展开面板
三种定时模式
| 模式 | 你怎么说 | 行为 |
|---|
| 延迟 | 「2 分钟后检查构建队列」 | 倒计时结束后执行一次 |
| 固定时刻 | 「今天 23:00 汇总工作」 | 到那个时刻执行一次 |
| 重复 | 「每 30 分钟看一眼部署」 | 按固定间隔反复触发,直到你暂停或删除 |
延时上限 30 天(超过会被拒绝,并提示你改用固定时刻模式);周期不限时长。
想等更久,请用「固定时刻」模式指定一个绝对时刻。
小提示:周期间隔想设得很长时请留意——DSH 关闭期间计时会冻结,
想让周期任务严格按间隔跑,得让它一直开着。
三条管理路径
同一批任务,随你用哪种方式管:
- 输入框上方的面板 —— 点开就能看剩余时间、暂停、编辑、删除;
/schedule 命令 —— 不用打开面板,在聊天框里直接建;
- 让 AI 自己管 —— 你的助手可以直接创建、查询、暂停、删除任务。
/schedule +30m 检查构建队列
/schedule +2h30m 汇总今天的改动
/schedule every 10m 看一眼部署状态
/schedule @2026-09-21T09:00:00+08:00 早会前汇总未完成项
/schedule list
时长写法用 s / m / h(例如 +30m、+2h30m),也接受中文
「秒 / 分钟 / 小时」(例如 +30分钟、+1小时)。不支持 d(天)——
要等一天以上,用「固定时刻」模式给一个绝对时刻更稳妥。
装好之后
暂停与恢复会冻结剩余时间:暂停一个还剩 4 分钟的任务,明天再恢复,
它仍然等 4 分钟——不会因为过了一夜就立刻触发。
DSH 关掉时计时冻结(延迟与重复模式)。重新打开后任务会变成已暂停状态,
不会在你不在的时候突然触发。固定时刻的任务如果在那期间到点了,
会标记为已超时并等你处理。
超时与暂停
上图里三行分别是:已暂停(重复任务)、已超时(固定时刻,跨重启错过的)、
已暂停(延迟)。侧栏底部的红点数字是所有会话里的超时总数。
已超时的任务点一次播放按钮就等于「立即执行」——不会另外再等时间。
安装
dsh plugin --profile web add dsh-tick
装好后重启 DSH 即可。
需要 DSH 0.1.5-rc.2 或兼容版本。插件不修改 settings.yaml,
卸载时随插件目录一起消失,不留残留。
配置
插件自带一个配置文件(在插件自己的目录下,不写进 DSH 的 settings):
{
// 注入给模型的提示词用什么语言:'en'(默认)| 'zh' | 'custom'
"serverPromptLanguage": "en",
// ── 下面三道闸的默认值是**保守**的,按你的习惯自行调整 ──
"maxTasksPerSession": 50, // 每个会话最多存多少个任务
"maxActivePerSession": 10, // 同时处于启用态的任务上限
"maxInjectionsPerMinute": 1, // 每分钟最多注入几次(防自我循环)
"heartbeatMs": 15000, // 心跳间隔:DSH 关闭期间计时的精度
"graceMs": 60000, // 到点判定的宽限,避免把刚触发误判成错过
"showDock": true, // 是否显示输入框上方的面板
"showSidebarSummary": false, // 侧栏底部汇总入口(默认关闭)
"allowAiCreate": true // 是否允许 AI 创建任务
}
⚠️ 三道闸默认是保守值(maxTasksPerSession: 50、maxActivePerSession: 10、
maxInjectionsPerMinute: 1)。它们的作用是兜住 AI 的批量误建与自我循环,
不是性能限制。日常使用如果觉得紧,直接改大即可——这是给你自己的安全绳,
不是产品硬约束。
这些配置项改完即生效,无需重启 DSH。
注入语言(serverPromptLanguage)
决定模型看到的提示词用什么语言,与界面语言相互独立:
| 取值 | 效果 |
|---|
"en"(默认) | 英文 |
"zh" | 中文 |
"custom" | 用你自己的模板 |
默认英文是与 DSH 官方 goal / todo / schedule 保持一致的做法——
它们的界面有中英双语,但注入给模型的提示词始终是英文。
选 custom 后会生成一份带完整中文注释的模板文件,改完即生效、无需重启。
若该文件损坏,插件会把它改名保留为 .bad-<时间戳>、重新生成为初始模板,
并在对话窗口提示一次。
界面语言
面板、侧栏、/schedule 回执都会跟随 DSH 的语言设置
(设置 → 通用 → 语言),中文 / English 都支持。
未做过语言选择时默认中文。
注入给模型的提示词用的是上面的 serverPromptLanguage,
与界面语言互不影响。
与 DSH 的边界
- 不往会话日志里写自定义事件:任务状态存在插件自己的目录里。
DSH 的会话日志有事件类型白名单,插件没有公开途径登记自己的类型。
- 注入消息标记为插件来源,不伪装成用户发言。会话记录里始终能区分
「你说的」与「定时器注入的」。
- 不占用官方
dsh-schedule:官方那套的定位是「提醒」(要求模型
只转述、不执行),本插件的定位是「任务」(要求模型执行)。
两者语义不同,同时开启会让你和 AI 面对两套定时系统。
附:为什么没有「会话行内」的图标
会话列表里不会出现定时任务的图标。这不是遗漏,而是官方机制本身做不到。
DSH 的侧栏只开放 6 个插槽,其中会话列表区 sidebar.workspaces 是 single
插槽且已被官方独占:single 的语义是"渲染优先级胜者",
第二个注册者是替换而非并列,无法增量添加;而会话行内部没有 slot 渲染点。
唯一可行的路径是 DOM 注入(依赖压缩后的哈希类名),改版即碎、失效时还静默无提示,
代价大于收益,故不做。官方 goal 与 todo 也没有会话行内图标。
替代品:侧栏底部的跨会话汇总入口(即 showSidebarSummary,默认关闭)。
打开后它会显示所有会话的待执行 / 已超时总数,点开可展开跨会话列表并跳转。
用的是官方 sidebar.footer.action 插槽,零 DOM 依赖——把上面配置里的
showSidebarSummary 改为 true 即可。
已知限制
- 计时依赖 DSH 运行:延迟与重复模式在 DSH 关闭期间冻结计时,
需要它按真实时间流逝的话,得保持 DSH 开启。
- 不扫描历史积压:DSH 关闭期间错过的重复轮次全部丢弃,不会在重开后补跑。
- 注入频率默认每分钟 1 次(
maxInjectionsPerMinute):
设了比这更短的周期,实际触发会被限流。要跑更快就调大这个值。
- 时长不支持
d(天):用 h(如 +48h)或「固定时刻」模式。
许可
MIT
Copyright (c) 2026 Saretheya · MIT License