DeepSeek Harness (DSH) 的核心思想是“一切皆插件”。对于需要定时执行的任务,通常受限于 DSH Web 进程的存活状态。dsh-cron-scheduler 插件通过将任务规则存储为 Cron 表达式,交由用户机器的系统 crontab 在进程外执行,解决了这个问题。
核心功能¶
- 系统级调度:任务由系统 crontab 执行,不依赖 DSH Web 进程存活,机器开机即可运行。
- 语法支持:支持标准 5 字段 Cron 表达式(分 时 日 月 周)及快捷方式(
@reboot、@daily等)。 - 会话隔离:每次运行均为全新的 Agent + Session,结果自动挂载到规则所属工作区。
- Web 管理与工具:Web 端提供规则管理、部署与运行结果查看;Agent 工具支持
automation_create/list/runs/update/run_now/delete。 - 权限控制:支持
read-only(默认)或workspace-write沙箱模式。
安装与启用¶
使用官方插件通道安装:
dsh plugin --profile web add @mappedinfo/dsh-cron-scheduler
安装完成后,重启 DSH Web 并硬刷新浏览器即可。设置菜单中会出现“定时任务”入口,侧边栏工作区树会自动显示运行产生的会话。
使用方法¶
- 设置页管理:在 Web 端“设置 → 定时任务”中,可以新建、编辑、暂停、恢复、立即运行或删除规则。下方列表显示运行状态(排队中/运行中/成功/失败)及结果会话。
- 对话中调用:在对话中告诉 agent“每天 9 点运行 <任务>”,agent 会调用
automation_create创建定时任务,并支持后续的查询、更新和立即执行操作。
Cron 语法示例:
* 0 9 * * 1-5:工作日 9 点
* */15 * * * *:每 15 分钟
* @reboot:系统重启后执行
权限与安全¶
- 沙箱模式:每条规则可选
read-only(默认)或workspace-write模式,通过环境变量DSH_PERMISSION_MODE控制。 - 并发锁:同一规则同时只允许一个运行,叠加触发会被标记为
skipped。
已知限制¶
- 结果一致性:结果归属为最终一致。Web 进程在运行期间轮询并挂载会话;Web 未启动时运行照常完成,重启 Web 后会话会被补挂。
- 会话标题:目前由系统自动生成(含标记前缀),暂不支持自定义。
- 模型配置:模型/预设默认为 headless,暂不支持按规则单独选择。
生态背景¶
DSH 理念是“一切皆插件”,社区目录与 DeepSeek / 幻方无官方从属关系。本文介绍的插件由社区开发者 Mappedinfo 维护,遵循 MIT 许可证。