跳转至

Orca automations 可从 CLI 按计划运行 prompt,这样重复的分类、审查和维护任务无需你手动打开 worktree 即可开始。阅读完本页后,你将创建一个禁用的自动化任务,检查它,并在准备好后运行它。

创建第一个安全的自动化任务

在调整 prompt 和目标时,先使用 --disabled:

orca automations create \
  --name "Weekday triage" \
  --trigger weekdays \
  --time 09:00 \
  --prompt "Triage new issues and summarize blockers" \
  --provider codex \
  --repo my-repo \
  --disabled \
  --json

--trigger 支持 hourly、daily、weekdays 和 weekly 等预设,也支持 cron 表达式或 RRULE 字符串。当计划应遵循特定的 IANA 时区而不是运行时默认时区时,请使用 --timezone <tz>。

选择运行发生的位置

当每次运行应在某个仓库中创建或选择工作时,使用 --repo <selector>。当自动化任务应在现有 Orca worktree 内运行时,改用 --workspace <selector>:

orca automations create \
  --name "Nightly status" \
  --trigger "0 18 * * 1-5" \
  --prompt "Summarize today's changes" \
  --provider claude \
  --workspace active \
  --disabled

当你省略这两个目标标志时,Orca 会在可行时从当前 shell 目录解析所在 worktree。

运行前预检

当简单的 shell 探针失败时,跳过计划中的任务(非零退出会记录一次跳过运行):

orca automations create \
  --name "PR review" \
  --trigger hourly \
  --precheck "gh pr list --json number -q .[0].number" \
  --prompt "Review requested PRs" \
  --provider codex \
  --repo my-repo \
  --disabled \
  --json

项目主机 / 设置目标

当自动化任务应在特定项目主机设置(project host setup)上运行,而非仅通过 --repo / --workspace 运行时:

orca automations create \
  --name "Remote triage" \
  --trigger daily \
  --time 09:00 \
  --prompt "Triage open issues" \
  --provider claude \
  --project <projectId> \
  --host <hostId> \
  --disabled \
  --json

当你已有 setup id 时,使用 --project-host-setup <id>。可选的 --source-context '<json>' 可将任务/provider 数据固定到某个主机/账号(编辑时传入 null 可清除)。

跨主机管理自动化任务

桌面端 Automations 页面会将这台计算机及受支持的已连接 Orca 主机上的计划加载到同一个表格中。Host 列显示每个自动化任务存储和排程的位置;使用 Filters → Host 显示一个或多个主机,或回到 All hosts。

当你在桌面 UI 中创建自动化任务时,Create on 会在你选择项目之前先选择其主机。随后项目选择器会显示该目标上可用的项目。需要更新版 Orca server 的已连接主机会保持可见但处于禁用状态,并显示 Update server 消息,而不会从选择器中消失。

错过运行的宽限期

orca automations edit <automationId> --missed-run-grace-minutes 30 --json

复用现有自动化任务会话

对于以现有 worktree 为目标的自动化任务,如果后续运行应继续使用之前的实时自动化终端,而不是每次都从空白终端开始,请添加 --reuse-session:

orca automations create \
  --name "Inbox digest" \
  --trigger hourly \
  --prompt "Summarize unread mail" \
  --provider codex \
  --workspace active \
  --reuse-session \
  --disabled

使用 orca automations edit <automationId> --fresh-session --json 将该自动化任务改回每次运行使用全新终端。

审查并启用

启用之前,先列出并检查自动化任务:

orca automations list --json
orca automations show <automationId> --json
orca automations edit <automationId> --enabled --json

在桌面端的自动化任务列表中,当计划很多时,可使用搜索字段按 name、project 或 prompt 文本筛选。位于 SSH 主机上的外部自动化任务即使在该主机断开连接时,也仍会以你可管理的任务形式出现(包括删除)——仅删除一个计划并不需要活动的 SSH 会话。

使用 Filters 可按 Host、Enabled 或 Paused 状态、上次运行结果(Failed、Succeeded 或 Never ran)以及一个或多个 Agents 来缩小列表范围。当 agent 子菜单列表较长时,可在其中搜索;生效中的筛选条件会显示为表格上方的可移除标签(pills)。表格会显示每个自动化任务的主机、上次运行结果和相对时间。点击 Name 或 Last run 列可排序;名称按字母顺序排序,上次运行则默认最新在前。

当自动化任务列表打开时,在搜索字段中键入并按 ArrowUp 或 ArrowDown 可在可见的匹配行中移动选择。列表会保持所选行在视野内;已修改或正在组合的输入会保持正常的光标行为。

使用 edit 更改名称、prompt、provider、目标、计划或启用状态。remove 删除自动化任务及其运行历史。

按需运行

创建自动化任务后,先手动触发一次,以在等待下一次计划时间之前检查 prompt 和目标:

orca automations run <automationId> --json
orca automations runs --id <automationId> --json

如果某次运行在打开 workspace 或重新连接到其目标之前失败,请在 Orca 中打开该次运行并点击 Rerun,为同一自动化任务排队一次全新手动运行。

后续步骤

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 orca48/orca