DeepSeek Harness 定时任务插件 (DSH Automations)

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”,这要求开发者能够灵活地扩展 Web Profile 的能力。在 Web Profile 中,通常需要手动触发智能体任务。当需要定期执行任务(如每日数据汇总)或避开高峰时段运行时,手动操作并不适用。dsh-plugin-automations 插件通过在 DSH Web Profile 中引入定时任务机制,解决了这一问题。

插件定位

这是由开发者 Sev7een 维护的 DeepSeek Harness Web Profile 定时任务插件。它提供了一组基础能力,支持一次性执行和标准 Cron 调度,并包含“准时执行”和“非高峰时段执行”两种模式。

核心功能

该插件包含以下已核实的功能特性:

  1. 界面与轮询
    提供设置页面表单和任务列表,界面每 5 秒轮询一次状态。

  2. 执行模式

    • 准时 (on_time):任务到期后立即创建隔离的 Session 并开始执行。
    • 非高峰时段 (when_idle):任务仅在非北京高峰时段运行(避开 09:00-12:00 和 14:00-18:00)。如果任务在高峰时段到期,系统会自动推迟到下一个空闲窗口。
  3. 调度类型

    • 一次性 (once):任务执行一次后即进入终端状态,不再运行。
    • Cron 表达式:支持标准的六字段 Cron 表达式。Cron 表达式在主机本地时区评估。
  4. Session 管理

    • 标题模板:支持自定义 Session 标题,可引用任务字段并使用 Moment 风格的日期格式(如 {{scheduledAt:YYYY-MM-DD}})。
    • 隔离性:每次执行使用一个独立的 Session,继承默认 Agent 预设、模型和主机工作区根目录。
    • 状态持久化:使用 ctx.storageDomain 确保任务状态的持久化。
    • 超时与恢复:固定 30 分钟执行超时,并包含显式的 host_interrupted 恢复机制。
  5. 安全与通信

    • API 安全:严格的 JSON API 验证、请求大小限制、同源检查以及自定义 mutation 头部。
    • 消息来源:自动生成的消息带有 { kind: 'plugin', plugin: 'dsh-plugin-automations' } 标记,不会冒充直接的人类输入。

安装与启用

安装该插件需要 DSH Web Profile 环境,并要求 Node.js 版本 >= 20。

  1. 执行安装命令:
    dsh plugin --profile web add github:Sev7een/dsh-plugin-automations
  1. 安装完成后,重启 DSH Web 应用。

  2. 打开 Settings -> 定时任务 (Scheduled Tasks) 页面即可看到插件界面。

典型用法

插件通过 HTTP API 提交任务,支持使用 curl 或其他 HTTP 客户端。

创建定时任务

使用 POST /dsh-scheduled-tasks/api/v1/tasks 创建任务。

请求头部:

Content-Type: application/json
X-DSH-Scheduled-Tasks: 1

请求体示例(Cron 模式,准时执行):

{
  "prompt": "check project tests",
  "schedule": {
    "type": "cron",
    "expression": "0 0 8 * * *"
  },
  "mode": "on_time",
  "sessionTitleTemplate": "Daily Feed · {{scheduledAt:YYYY-MM-DD}}"
}

请求体示例(一次性任务):

{
  "prompt": "summarize meeting notes",
  "schedule": {
    "type": "once"
  },
  "mode": "when_idle"
}

注意事项

  1. MVP 限制:当前版本(MVP)的 API 端点仅支持创建任务,暂不支持编辑、删除、暂停、取消、重试或分页功能。
  2. 时区问题:Cron 表达式解析基于主机的本地时区,而非 UTC。
  3. 开发环境:本地开发时需要使用 --legacy-peer-deps 标志以解决依赖兼容性问题。
  4. 权限与安全:插件以 DSH 进程的权限运行,在安装前建议检查源码与许可证(MIT)。自动生成的消息明确标识为插件行为,不会模拟人类用户。

总结

dsh-plugin-automations 为 DeepSeek Harness Web Profile 提供了基础的定时调度能力,特别是在非高峰时段执行方面提供了自动化支持。虽然功能尚处于 MVP 阶段,但它为构建周期性工作流提供了可行的技术路径。

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

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

小夜