OpenCowork
功能特性

定时任务

使用 Cron Jobs 创建持久化定时任务。

定时任务 / Cron Jobs

OpenCowork 支持持久化的 Cron 定时任务,基于 node-cron 实现,任务存储在 SQLite 中。

创建定时任务 / Create Cron Job

通过 Agent 对话创建:

每天早上 9 点帮我检查 GitHub 上的新 Issue 并发送摘要

Agent 会调用 CronCreate 工具:

{
  "name": "GitHub Issue 摘要",
  "schedule": "0 9 * * *",
  "prompt": "检查 GitHub 上的新 Issue 并生成摘要",
  "enabled": true
}

Cron 表达式 / Cron Expression

┌─────────── 分钟 (0-59)
│ ┌───────── 小时 (0-23)
│ │ ┌─────── 日 (1-31)
│ │ │ ┌───── 月 (1-12)
│ │ │ │ ┌─── 星期 (0-7, 0和7都是周日)
│ │ │ │ │
* * * * *

常用示例:

表达式含义
0 9 * * *每天 9:00
0 9 * * 1每周一 9:00
*/30 * * * *每 30 分钟
0 0 1 * *每月 1 日 0:00

持久化 / Persistence

任务存储在 SQLite 的 cron_jobs 表中:

CREATE TABLE cron_jobs (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  schedule TEXT NOT NULL,
  prompt TEXT NOT NULL,
  enabled INTEGER DEFAULT 1,
  created_at INTEGER,
  last_run INTEGER,
  next_run INTEGER
);

应用启动时通过 loadPersistedJobs() 自动恢复所有启用的任务。

执行记录 / Run History

每次执行结果记录在 cron_runs 表中,可在 UI 的 Cron 标签页查看历史记录。

管理任务 / Manage Jobs

通过 UI 的 Cron 标签页可以:

  • 查看所有定时任务
  • 启用/禁用任务
  • 手动触发执行
  • 查看执行历史
  • 删除任务

On this page