dsh-b2us-schedule:DeepSeek Harness 的持久化任务调度插件

前言

DeepSeek Harness (DSH) 采用了插件化架构,核心在于其灵活的扩展能力。除了实时的对话交互,许多工作流需要任务在后台定时触发,例如系统备份、定期提醒或定时启动 Agent 会话。dsh-b2us-schedule 旨在解决这一问题,为 DSH 提供持久化、可管理的定时任务调度能力,支持 Agent、Shell 命令和桌面通知三种主要动作类型。

是什么

dsh-b2us-schedule 是一个由 changyinliangbaikai 维护的 DSH 工作流插件。它将宿主插件与 Web 客户端集成在一个安装包中。Agent 可以通过五种类型化的对话工具创建和管理任务,用户也可以通过 Web 界面进行统一管理。该插件将任务定义、运行状态和执行记录存储在 DSH Settings 服务中,重启后可自动恢复。

核心功能

该插件提供了完整的调度与管理能力:

  1. 四种调度类型

    • Cron:支持 Croner 兼容的 5/6/7 字段表达式,可指定时区。
    • 延迟调度:创建后经过指定秒数执行一次。
    • 绝对时间调度:在指定的 UTC 日期时间执行一次。
    • 固定间隔调度:按固定秒数间隔重复执行。
  2. 三种执行动作

    • Agent 会话:每次执行创建一个新的顶级 DSH Agent,支持超时控制。
    • Shell 命令:通过 DSH ShellExecutor 执行脚本或命令。
    • 桌面通知:支持 macOS、Linux 和 Windows 的原生通知。
  3. 管理与持久化

    • Web 管理页面:访问 Settings → Plugins → Scheduled Tasks 进行增删改查。
    • 持久化:任务状态和执行记录保存于 DSH Settings。
    • 生命周期控制:支持卸载、禁用、删除任务,以及修改定义以取消相关计时器。

环境要求

使用该插件需要满足以下环境依赖:

Node.js: ^22.19.0 || >=24.0.0
DeepSeek Harness: 0.1.2-rc.1
Cordis: 4.0.2

典型用法

以下是基于文档的可复现示例:

  1. Shell 脚本调度:在 /srv/app 目录下运行 ./scripts/backup.sh,延迟十分钟后执行。
  2. 桌面通知:每天 9:00,在 Asia/Shanghai 时区发送桌面通知,提醒查看日报。
  3. Agent 调度:每天 8:00,在 /Users/me/tests 目录启动一个新的 Agent,使用默认预设,超时时间设为 15 分钟。
  4. 任务管理:禁用刚创建的任务,或列出所有定时任务及其下一次执行时间。

注意事项

  1. 投递保证:调度器提供“至少一次”投递保证。本地 Shell 退出或 Agent 会话完成仅代表本地执行结果,不代表外部业务成功。
  2. 执行串行化:任务按调度时间串行执行,同一时间只能有一个任务在运行。
  3. 最小间隔:Cron 和固定间隔调度默认最小间隔为 1 秒,高频任务场景建议在生产环境中调高此值。
  4. 执行器依赖:Shell 命令和桌面通知均通过 DSH ShellExecutor 运行,依赖宿主环境的 Bash 或 PowerShell 配置。
  5. 重命名与兼容:旧包名 dsh-auto-schedule 已重命名为 dsh-b2us-schedule,但为了兼容性,Settings 命名空间、Cordis 行 ID 和工具名称保持不变。

结语

dsh-b2us-schedule 通过 Web 界面和对话工具的结合,为 DSH 提供了完善的定时任务解决方案。它适用于需要自动化工作流、定期系统通知或定时启动 Agent 的场景。更多技术细节可参考 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜