Passer au contenu principal
W

dsh-tasks

weibaohui/dsh-tasks

Tâches planifiées : exécute un prompt selon des planifications cron, chaque exécution ouvre une nouvelle session d'agent pour effectuer le travail, avec liaison d'espace de travail, exécution manuelle, nommage automatique des sessions et une page de gestion des tâches en plein écran.

Installer

dsh plugin --profile web add github:weibaohui/dsh-tasks

README

@weibaohui/dsh-tasks

DSH plugin npm version

定时任务插件:用 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 干活的完整过程,仍可回到会话记录里查看

联系我 :飞书群

link

版本兼容性

本插件与 DeepSeek Harness(@deepseek-ai/dsh)的版本对应关系:

插件版本适配 dsh 版本备注
0.5.110.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.50.1.7-rc.2已在 @deepseek-ai/dsh@0.1.7-rc.2 下验证运行

发版约定:每次发布新版本时,请在上表追加一行,记录该插件版本实际验证所用的 @deepseek-ai/dsh 版本。package.json 的 engines.dsh 声明最低支持版本;本表记录实际验证版本,二者配合使用。

Plugins associés