前言¶
在 DeepSeek Harness(DSH)的使用场景中,需要定期执行脚本、生成日报或进行数据清洗时,现有的方案往往存在割裂:系统级 crontab 脱离浏览器或桌面环境,而同会话的 reminder 插件则会占用当前对话的上下文。这里介绍 dsh-cron-tasks,一个运行在 DSH Host 内部的调度插件。它通过新建独立的 root Session 来执行任务,并将运行记录隔离在侧边栏的「定时任务」入口中,既避免了干扰日常工作区,又提供了可控的调度策略。
核心功能¶
该插件为 DSH 提供了完整的任务调度能力,核心功能包括:
- 侧边栏管理入口:在「新会话」正下方提供「定时任务」入口,支持任务的创建、暂停/恢复、删除、立即运行以及搜索功能。
- 调度策略配置:在设置 → 插件 → 插件配置中,可设置全局调度策略,包括启用开关、默认时区(默认为
Asia/Shanghai)、历史记录保留策略以及重叠/漏跑的处理策略。 - 独立会话与历史:每次触发任务会新建一个 root Session,点击历史记录可直接打开原生对话窗口继续交互。
- 模型与路径锁定:每个任务可指定固定的模型,避免因切换聊天模型而影响额度预期;工作目录支持下拉选择已有工作区或自定义路径。
- 交互式创建:支持在对话中通过 skill
scheduled-tasks配合cron_create命令创建任务。
安装与启用¶
安装前需确保已安装 DeepSeek Harness。插件通过官方 CLI 安装,支持 Web 和 Desktop 两个 Profile。
- 执行安装命令。Web 和 Desktop 需分别安装。
dsh plugin --profile web add github:Whale-Zhang/dsh-cron-tasks
dsh plugin --profile desktop add github:Whale-Zhang/dsh-cron-tasks
- 安装完成后,重启对应的 Profile(
dsh web或 Desktop 应用)。 - 验证安装。运行以下命令应能在输出中看到
dsh-cron-tasks。
dsh --profile web --dump-config
典型用法¶
- 延时触发:使用
after_minutes参数设置任务在 N 分钟后触发,例如after_minutes: 60。 - 周期性调度:支持一次性
at调度或标准的 5 字段 cron 表达式。 - 本地开发安装:在本地开发环境调试时,建议使用
file:协议安装,而非link:。
dsh plugin --profile web add file:$HOME/.dsh/plugins/dsh-cron-tasks
适用场景与注意¶
- 运行环境:调度器运行在 DSH Host 进程中。如果 Host 未在运行,任务不会触发。
- 非官方/系统级:这不是官方的同会话 reminder 插件(
@deepseek-ai/dsh-schedule),也不是操作系统的crontab。 - 重叠与漏跑:若同一任务已有运行中的实例,新的触发将跳过;Host 宕机期间错过的调度节拍不会自动补跑。
- 本地开发提示:本地开发安装建议使用
file:路径,不要使用link:。
结尾¶
该插件通过独立的会话管理和侧边栏历史记录,为 DSH 用户提供了一套可控的定时任务解决方案。其核心价值在于将调度逻辑与对话上下文解耦,适合需要定期批量执行或自动化汇报的场景。源码与文档位于 GitHub,许可证为 MIT。