@weibaohui/dsh-tasks
Scheduled tasks: run a prompt on cron schedules, each run opens a new agent session to do the work, with workspace binding, manual run, session auto-naming, and a fullscreen task management page.
Install
dsh plugin --profile web add @weibaohui/dsh-tasks
Sandbox test results
| Stage | Result |
|---|---|
| 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
@weibaohui/dsh-tasks


定时任务插件:用 cron 表达式定时执行提示词——到点自动开一个新 agent 会话替你干活,也可以随时手动立即执行。
核心功能
- cron 定时执行:每个任务 = 标题 + 提示词 + cron 表达式;到点自动新建 agent 会话并提交提示词,执行结果出现在侧栏对应工作区下
- 可视化定时选择器:快捷模板(每天 9:00 / 工作日 8:30 / 每周一 10:00 等)一键填入,也可按「每小时 / 每天 / 每周」逐级选,或直接填写自定义 cron;选定后实时预览最近 5 次执行时间,周期对不对一眼确认
- 手动立即执行:任意任务可一键「立即运行」,不必等 cron 到点
- 绑定工作区(可选):任务可指定工作区,会话自动挂到该工作区并继承其目录
- 指定模型(可选):每个任务可单独选择执行时使用的模型(按 provider 分组下拉选择);不选则跟随全局默认模型
- 会话自动命名:执行出的会话以「任务标题 · 时间」命名,同一任务多次运行在侧栏也能一一区分
- 完整管理界面:全屏管理页——新建/编辑/启用停用/删除/立即执行,一页搞定
- cron 校验:保存时即时校验表达式,写错进不来
- 执行记录:每个任务保留最近 20 次执行历史(时间、成败、失败原因),面板可展开追溯,成功的执行可一键打开对话回看 agent 干活的过程与结果
- 通知推送:任务开始 / 完成 / 失败时,把结果推送到你绑定的 IM 聊天渠道(微信、飞书、钉钉、Telegram 等)——通过 dsh-im 等 IM 投递类插件完成,执行结论(agent 最终回复)可随完成通知一并推送;支持免打扰时段(起止时间可配,跨零点友好),时段内推送自动跳过;支持同时配置多个渠道,多渠道同时推送;未安装对应插件时通知自动不可用,不影响其他功能
安装
dsh plugin --profile web add @weibaohui/dsh-tasks -w
装完重启 dsh web 即生效。
使用
1. 打开 Web UI → 设置 → 左侧「定时任务」section 即管理面板(可搭配 dsh-settings-ui 插件把设置窗口调大/全屏)
2. 新建任务:填标题、提示词、cron 表达式(如 0 9 1-5 工作日每天 9 点),选择是否绑定工作区
3. 启用后按 cron 自动执行;列表里可随时 立即执行、编辑、停用或删除
4. 执行产生的会话在侧栏对应工作区下可见,点进去查看 agent 干活的过程与结果;展开任务卡片的执行记录,点某次成功执行旁的「打开对话」可直接跳到那一次的会话
示例
场景 · 提示词示例 · cron
每天早上整理待办 · 「汇总我昨天的会话,整理今日待办清单」 · 0 9 *
工作日晚间日报 · 「总结今天的代码提交与会议要点,输出日报」 · 0 18 1-5
每周知识沉淀 · 「回顾本周对话,把可复用的经验整理成文档」 · 0 20 5
通知推送
不想守在电脑前等定时任务跑完?配置通知后,任务的结果与执行结论会主动推到你的聊天软件里:
1. 安装并配置一个 IM 投递插件,例如 dsh-im:接入你的机器人,并在其设置页保存至少一个投递目标(选择要接收通知的会话或手动填写路由)
2. 回到「定时任务」设置页底部的通知推送区块:启用后勾选想接收的事件(开始 / 完成 / 失败)
3. 勾选「完成通知附带执行结论」——推送会带上 agent 的最终回复内容,不用点开会话就能直接看到干活的结论
4. 需要安静时段可开启「免打扰」并设置起止时间(支持跨零点,如 22:00–08:00);时段内的推送会被跳过,执行记录仍保留
5. 从下拉里依次选择插件 → 机器人 → 目标,点「添加渠道」(可添加多个,多渠道同时推送),最后「保存通知设置」
说明:
- 投递插件不限于 dsh-im:设置页会探测宿主上声明的全部服务,任何暴露
{ send, listBots, listTargets }投递契约的插件都会自动出现在「插件」下拉里(0.5.11 起,issue #9——此前硬编码只认 dshIm,未装它时发现端点永远为空) - 插件探测是实时的:投递插件未安装、未连接或机器人离线时,对应渠道会标记「不可用」,任务照常执行,只是通知发不出去
- 推送失败不再是静默的(0.5.11,issue #9):启用通知但未配置任何渠道时日志会告警;每次执行的历史记录会标注投递结果——「已推送」或「推送失败(原因)」,任务成功但推送失败一眼可辨
- 「失败」通知覆盖两种情况:agent 会话执行出错,或任务本身启动失败(如工作区不存在)
- 推送文本包含任务标题、耗时与失败原因;勾选「完成通知附带执行结论」后,完成推送还会带上 agent 的最终回复内容(截取末尾 1000 字);想知道 agent 干活的完整过程,仍可回到会话记录里查看
联系我 :飞书群
版本兼容性
本插件与 DeepSeek Harness(@deepseek-ai/dsh)的版本对应关系:
插件版本 · 适配 dsh 版本 · 备注
0.5.11 · 0.2.1-rc.2 · 修复 issue #9:通知出口不再静默——(1) 通用服务发现:设置页探测宿主声明的全部服务(cordis ctx.reflect.props,已用宿主自带 cordis 实证跨插件可见),任何暴露 { send, listBots, listTargets } 契约的插件自动可选,硬编码 dshIm 单点降级为兜底;(2) 失败要响:启用通知但零渠道时告警一次(保存配置重置),每次执行的历史记录标注投递结果(runs[].notify,成功「已推送」/失败「推送失败(原因)」)——任务成功但推送失败不再与纯成功同貌;(3) runSchema 新增可选 notify 字段(旧记录照常校验,domain version 保持 1)。注:dsh-wechat-plugin 的 wechatChannel 服务不含该契约(0.47.0 tarball 实证,它是通道运行时而非投递服务),其微信出口仍是会话内 notify_wechat 工具;离线测试 69 项
0.5.5 · 0.1.7-rc.2 · 已在 @deepseek-ai/dsh@0.1.7-rc.2 下验证运行
发版约定:每次发布新版本时,请在上表追加一行,记录该插件版本实际验证所用的@deepseek-ai/dsh版本。package.json的engines.dsh声明最低支持版本;本表记录实际验证版本,二者配合使用。
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::24,最后更新 2026-10-31