进阶 onorca.dev 2026-10-18 18:52:10 · 20 阅读

第25章 定时自动化:用 Orca 按日程运行提示词

定时自动化

Orca 的自动化功能允许你在 CLI 中按设定日程运行提示词,使得常规的分诊、审查和维护任务无需手动打开 worktree 即可自动触发。阅读完本页后,你将能够创建一个处于禁用状态的自动化,查看其配置,并在准备好时运行它。

创建一个安全的初始自动化 在调整提示词和目标时,建议先以禁用状态启动:

```bash orca automations create \ --name "工作日分诊" \ --trigger weekdays \ --time 09:00 \ --prompt "分诊新问题并总结阻碍项" \ --provider codex \ --repo my-repo \ --disabled \ --json ```

--trigger 支持如 hourly、daily、weekdays、weekly 等预设值,同时也接受 cron 表达式或 RRULE 字符串。如果希望日程遵循特定的 IANA 时区而非运行时默认值,请使用 --timezone 。对于没有预设标签的多日规则(例如周二/周四/周六),系统会显示其实际存储的日程设置,而不是提示“无效日程”。

选择运行位置 如果每次运行需要在某个仓库中创建或选择工作,请使用 --repo 。如果希望自动化在现有的 Orca worktree 或文件夹工作区内运行,请使用 --workspace :

```bash orca automations create \ --name "每日状态总结" \ --trigger "0 18 * * 1-5" \ --prompt "总结今日的变更" \ --provider claude \ --workspace active \ --disabled ```

如果未指定这两个目标参数,Orca 会尝试根据当前 shell 目录解析包含的 worktree。

当定时运行发生在 Orca 服务器上的现有工作区时,一旦代理(如 Aider、Goose、Amp 及类似代理)准备就绪,Orca 会将自动化的提示词输入给它们,而不是让它们处于闲置状态。而对于通过命令行接收提示词的代理(如 Claude 和 Codex),这一机制从未产生影响。

运行前的预检查 如果简易的 shell 探针执行失败(非零退出码会被记录为跳过运行),则跳过此次定时任务:

```bash orca automations create \ --name "PR 审查" \ --trigger hourly \ --precheck "gh pr list --json number -q .[0].number" \ --prompt "审查请求的 PR" \ --provider codex \ --repo my-repo \ --disabled \ --json ```

项目主机 / 设置目标 如果自动化应在特定的项目主机设置中运行,而不仅仅依赖于 --repo 或 --workspace,可以使用以下配置:

```bash orca automations create \ --name "远程分诊" \ --trigger daily \ --time 09:00 \ --prompt "分诊开放问题" \ --provider claude \ --project \ --host \ --disabled \ --json ```

如果已有设置 ID,可使用 --project-host-setup 。可选参数 --source-context '' 用于将任务或提供商数据固定到特定的主机/账户(编辑时传 null 可清除)。

跨主机管理自动化 桌面的 Automations 页面会将此计算机和支持的已连接 Orca 主机的日程加载到同一个表格中。Host 列显示每个自动化的存储和调度位置;使用 Filters → Host 可显示一个或多个主机,或返回显示所有主机。

在桌面 UI 中创建自动化时,选择 Create on 会先选定其主机,然后再选择项目。随后,项目选择器将显示该目标主机上可用的项目。需要更新 Orca 服务器的已连接主机在显示时会保持可见但被禁用,并附带“更新服务器”的提示信息,而不是从选择器中消失。

错过运行的宽限期

```bash orca automations edit --missed-run-grace-minutes 30 --json ```

重用现有自动化会话 对于指向现有 worktree 的自动化,如果后续运行应延续在上一个实时自动化终端中,而不是每次都从空白终端开始,请添加 --reuse-session:

```bash orca automations create \ --name "收件箱摘要" \ --trigger hourly \ --prompt "总结未读邮件" \ --provider codex \ --workspace active \ --reuse-session \ --disabled ```

使用 orca automations edit --fresh-session --json 可以将自动化切换回每次运行都使用新终端的模式。

单次运行的模型和 effort 配置 每个自动化都可以在每次运行时传递额外的代理参数,使得某个自动化可以使用不同的模型或 effort,而无需更改主机上其他自动化的默认值:

```bash orca automations create \ --name "文档整理" \ --trigger daily \ --prompt "整理文档" \ --provider claude \ --extra-agent-args="--model opus --add-dir docs" \ --disabled ```

在桌面自动化编辑器中,该字段位于 Advanced → Extra agent arguments。每次新建运行时,Orca 会从该代理主机的默认 Arguments 开始,并追加额外参数;额外参数中的模型或 effort 选项将覆盖默认值。由于该值以 -- 开头,必须使用 = 符号传递。

额外参数仅接受模型和 effort 选项,以及 Claude 的 --add-dir,适用于 Claude、Codex、CodeBuddy、Cursor、Grok 和 OMP。权限、配置、提示词和会话选项将被拒绝。这些选项需要每次运行都有新会话,因此不能与 --reuse-session 组合使用;使用 orca automations edit --extra-agent-args= 可将其清除。

审查并启用 在启用之前,请先列出并检查自动化:

```bash orca automations list --json orca automations show --json orca automations edit --enabled --json ```

在桌面自动化列表中,如果有许多日程,可以使用搜索字段按名称、项目或提示词文本进行过滤。即使主机断开连接,位于 SSH 主机上的外部自动化仍会作为可管理的任务显示(包括删除功能)——你不需要保持活跃的 SSH 会话即可删除日程。

使用 Filters 可按 Host、启用或暂停状态、上次运行结果(失败、成功或未运行)或一个或多个 Agent 来缩小列表范围。在 Agent 子菜单中可进行搜索,当列表较长时尤为有用;激活的过滤器会以可删除的标签形式显示在表格上方。表格显示每个自动化的主机、上次运行结果和相对时间。点击 Name 或 Last run 列可排序;名称按字母顺序排序,上次运行默认按最新优先排序。

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

键盘导航也适用于自动化详情:按 Enter 打开选定的自动化或运行,ArrowUp / ArrowDown 在运行历史中移动,ArrowLeft / ArrowRight 在 Overview 和 Runs 之间切换,按 Escape 从详情页返回列表。

使用 edit 修改名称、提示词、提供商、目标、日程或启用状态。remove 会删除自动化及其运行历史。

手动触发运行 创建自动化后,请手动触发它以检查提示词和目标,而无需等待下一个定时时间:

```bash orca automations run --json orca automations runs --id --json ```

如果运行在打开工作区或重新连接到目标之前失败,请在 Orca 中打开该运行,点击 Rerun 为同一自动化安排一次新的手动运行。

下一步

Orca CLI 概览 — 查看 CLI 在 worktree、终端和浏览器控制方面的其余功能。 Skills 注册表 & MCP — 安装 Orca CLI skill,以便代理可以调用相同的命令。

评论 (0)