工作流与定时任务

使用 Workflow Definitions 和 Scheduled Tasks 构建可复用自动化,并按 cron 或手动方式运行。

两层概念

EthanKit 把自动化拆成两层:

入口作用
Workflow Definitions/workflows构建可复用的工作流图。
Scheduled Tasks/schedules把工作流、agent prompt 或 eval experiment 按计划运行。

Eval experiment 类型的 scheduled task 只允许绑定当前团队的 active experiment。调度器会异步 enqueue attempt,并把 attempt 关联到 scheduled ExecutionRun;threshold 失败、取消、废弃、执行失败或超时都会让该 scheduled run 失败,而不是显示为成功。

这两个入口都是管理员专用。

Workflow Definitions

工作流由节点组成。当前工作流画布支持这些节点类型:

  • Schedule:定义时间窗口和展示时区。
  • Vercel 5xx Logs:拉取 Vercel 运行日志中的 5xx 事件。
  • Group and Dedupe:按指纹合并重复事件。
  • GitHub Context:通过 GitHub MCP 找相关提交、diff 或文件。
  • Agent Analysis:用 agent 生成原因、证据和下一步。
  • Incident Store:保存诊断结果。
  • Feishu Group:把结果推送到绑定的飞书群。

你可以从模板开始,也可以从空白画布添加节点。

Vercel 5xx 模板

内置模板 Vercel 5xx Daily Diagnosis 会串起这些步骤:

  1. Schedule 定义时间窗口。
  2. Vercel 5xx Logs 拉取生产日志。
  3. Group and Dedupe 合并重复错误。
  4. GitHub Context 查找相关代码上下文。
  5. Agent Analysis 生成原因、证据和下一步。
  6. Incident Store 保存诊断结果。
  7. Feishu Group 推送到绑定群。

使用这个模板前,需要先准备:

  • Vercel PAT:让 workflow 能读取目标项目日志。
  • GitHub PAT / GitHub MCP:让 workflow 能读取仓库上下文。
  • Feishu binding:让结果能发到指定群。
  • 可用 chat model:让分析节点能生成诊断。

Workflow 校验

Workflow definition 只描述要运行的图,不负责 cron 和启停状态。保存前,画布会检查必填节点配置,例如 Vercel connection、GitHub MCP server、Feishu group 等。

Run now 适合在连接都配好后手动验证。工作流执行后会生成 execution run,可以在 run trace 里查看每个节点和事件。

Scheduled Tasks

定时任务负责触发自动化。一个 task 可以指向:

  • Workflow:运行某个工作流定义。
  • Agent prompt:按固定 prompt 运行某个 agent。
  • Eval experiment:enqueue 一个固定 dataset、target 和 grader revisions 的 attempt。

每个 task 都有:

  • 名称和说明。
  • 状态:DRAFT、ACTIVE 或 DISABLED。
  • Cron 表达式。
  • 时区。
  • 目标类型和目标配置。

不同 target 的额外配置不同:

Target额外配置
Workflow选择 workflow definition。Cron 和启停状态由 schedule 管。
Agent prompt选择 agent,填写 prompt 和可选 session title。
Eval experiment选择 active experiment;执行结果、重试 successor 和 threshold 状态写回 attempt。

从 workflow 列表点击 Use in schedule,会带着 workflowId 打开 schedule 编辑器。

手动运行和历史

管理员可以对定时任务点击 Run now。每次执行都会生成 execution run,方便在历史里查看状态、输出和错误。

建议新建任务后先保持 DRAFT,手动运行确认输出正确,再切换到 ACTIVE。

Run history 会列出每次执行的 status、trigger、summary 和创建时间。点击 View logs 可以查看节点、事件、错误和实时流状态。

使用建议

  • 先把模型、MCP、GitHub PAT、飞书绑定等依赖配好。
  • 工作流负责“怎么做”,定时任务负责“什么时候做”。
  • 生产告警类工作流先使用保守频率和只读权限。
  • 推送到群之前,先检查诊断内容是否包含不该公开的信息。
  • ACTIVE 任务会按 cron 运行;DRAFT 和 DISABLED 不应用作生产触发。