Lorca文档

例行任务

例行任务(routine)是智能体按计划运行的任务:早间简报、每小时检查、每周报告;也可以只运行一次、围绕日历事件运行、在 pull request 有动静时运行,或在它的 Webhook 被调用时运行。

例行任务是智能体按计划、在它和你的单聊里自己完成的工作。

设置一个

直接对智能体说:

每个工作日 9 点,检查我三个仓库的 CI 状态,告诉我哪些是红的。

智能体会创建这个例行任务:一个名字、一个时间安排,以及一段它写给自己的指令。编辑、暂停、删除也是同样的方式:“把我的早间简报改到 8:30。”

时间安排

例行任务可以按间隔运行(每 30 分钟、每 2 小时、每天),也可以在固定时间运行(工作日 9:00、每月 1 号 8:30)。最短间隔是五分钟。它还可以:

  • 只运行一次,在某个日期和时间:“周一 9 点提醒我续签证书。”运行过后,这个例行任务会自己删除,聊天里保留那次运行。
  • 关注一个 pull request:见下文。
  • 在 Webhook 被调用时运行:见下文。
  • 围绕日历事件运行:见下文。

时区

例行任务保留创建时的时区,默认是 Runner 的时区,除非你另外指定:“纽约时间每个工作日 9 点”。你出差,或者 Runner 换了时区,它的钟点都不变;夏令时也会正确处理:被跳过的那个小时当天不运行,重复的那个小时只运行一次。当你的电脑所在时区和例行任务不同时,例行任务的面板会写明它的时区,比如“纽约时间”。

错过的运行

运行时间到了而 Runner 关机或睡眠时,例行任务有两种处理方式:等 Runner 回来后,把错过的合并为一次运行(补跑一次,默认),或者等下一个时间点(跳过)。它永远不会每错过一次就补一次。要修改,直接告诉智能体。

一次运行是什么样

每次运行以智能体单聊里的一个 例行任务 · 名字 标记开始。智能体完成工作,把你该知道的内容回复给你。如果没什么值得说的,它就跳过,只留下那个标记。

和其他回复一样,有内容的运行会给你发通知。

关注某样东西的例行任务(比如收件箱、订阅源或某个网页),可以不经过模型先做一次检查:智能体写一段只读取的检查,只有发现新内容时才真正运行。没有动静的时候,不花一分钱。

例行任务与权限

运行时没有人在场回答权限卡片。例行任务会执行自动审查或你的规则允许的 shell 和插件操作;任何需要询问的操作都会留下来等你审核,聊天里也会写明。

关注 pull request

“关注 acme/project#42,有变化就告诉我。”这个 pull request 上每发生一件事,智能体都会在当时运行一次,并说明这对你意味着什么:

  • 新的提交、新的标题或描述、可以评审、转回草稿、重新打开
  • 一次评审(批准、要求修改或评论)、一条评审评论、一条评论、一个评审讨论被解决或重新打开
  • 失败的检查、检查套件、工作流运行或提交状态

GitHub 通过 Lorca GitHub 应用 把这些发给 Lorca。第一次关注某个仓库里的 pull request 时,例行任务会显示 未安装应用:在它的 GitHub 一行点击 安装应用…,在 GitHub 上选择这个仓库,再同意登录授权。如果应用已经装好(由你或组织的所有者安装),只需同意登录授权。跳转到的页面会告诉你是否成功,回到 Lorca 后关注就会开始。Lorca 只关注你的 GitHub 账户能看到的仓库。这个应用只读取(pull request 及其评论、检查、状态和工作流运行),不做任何修改;智能体运行时通过你自己的 GitHub 插件读取 pull request。

pull request 合并或关闭后,智能体最后运行一次,这个关注就自己删除。目标分支前进而产生冲突时,GitHub 不会发送任何事件,所以关注察觉不到这种情况。

例行任务的面板会显示这个 pull request(点击在 GitHub 上打开)、它和 GitHub 的连接状态(已接入,或 安装应用…),以及 上次事件。

Webhook

“建一个例行任务,我的部署脚本调用它时就运行,告诉我部署为什么失败。”例行任务可以在每次有服务或脚本向它自己的 URL 发请求时运行。它的面板里有一个 Webhook 部分:

行是什么
Webhook URL请求发往的地址,比如 https://relay.lorca.app/webhooks/5VPZsRAyy2VIu_yNsFDw2g。
Webhook 密钥每个请求都要带上的密钥。点击后才显示。
Authorization 请求头携带密钥的请求头,可直接粘贴:Authorization: Bearer <密钥>。

每一行都有 复制。把 URL 和请求头粘贴到对方服务里,或者自己调用:

curl -X POST "https://relay.lorca.app/webhooks/5VPZsRAyy2VIu_yNsFDw2g" \
  -H "Authorization: Bearer $LORCA_WEBHOOK_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deploy": "web", "status": "failed"}'

每个请求都会让例行任务运行一次,智能体会读取请求发来的内容(JSON 或文本,最多 64 KiB),只把它当作信息,从不当作指令。没有密钥的请求会被拒绝。带上 Idempotency-Key 请求头,重试的请求就只运行一次。每个 Webhook 每秒接收一个请求,突发时最多 30 个。

密钥旁边的 重新生成…(手机上是 重新生成密钥…)会换一个新密钥;使用旧密钥的服务将无法再触发这个例行任务,直到你把新密钥交给它们。删除例行任务也会删除它的 URL。

Lorca 的中继在为你的 Runner 加密请求时会读取它,之后只保留加密后的副本。

日历事件

“每次客户电话前 15 分钟,给我讲讲这个客户。”例行任务可以在事件开始前的某个时间、开始时或结束后运行,针对 Runner 上某个 Google Calendar 账号的事件,也可以只针对包含某些词的事件。每个匹配的事件运行一次,并带上这个事件的信息。全天事件、你拒绝的事件和专注时间不算在内。例行任务的面板会写明用的是哪个账号,以及下一次运行对应哪个事件。

只运行一次的例行任务、pull request 关注、Webhook 和日历例行任务都只属于你自己的账号,所以分享的智能体和工作流只带重复性的例行任务。

管理例行任务

智能体的检查器里有 例行任务 一栏:每个例行任务显示用文字描述的时间安排、下次运行时间,以及一个暂停或恢复的开关。前面的符号表示它按什么运行:时钟、只运行一次的闹钟、pull request、表示 Webhook 的链接,或日历。点击其中一个打开面板:状态、时间安排、下次运行、错过时、上次检查和上次运行、一行 上限、它的指令和检查,以及 立即运行、暂停、在聊天中编辑… 和 删除。pull request 关注和 Webhook 没有下次运行,也没有错过的运行:它们由事件触发,Runner 关机时最多等它七天。手机在聊天的详细信息里显示同样的列表;在手机上要修改例行任务,就在聊天里告诉智能体。

例行任务在智能体的 Runner 上运行,所以那台电脑得开着。设置 › 设备 会显示某台 Runner 是否让 Lorca 在后台保持运行(见命令行)。

出了问题时

需要你处理的例行任务,会在它那一行的开头写明,需要你动手时显示为橙色:

显示怎么办
等待 Runner智能体的电脑离线了。电脑回来后它就会运行。
无法连接它连不上某个服务或 AI 服务商。检查会在五分钟后重试,之后间隔逐渐拉长,最长六小时一次。
登录失败某个服务或服务商拒绝了它的登录。在连续失败三次之前重新登录。
需要登录连续三次登录失败,它已暂停。重新接入服务商或登录插件,然后 恢复。
检查失败它的检查,或者日历的读取失败了。面板里会写明原因;让智能体修好它。
未安装应用关注的仓库还没有安装 Lorca GitHub 应用。在它的面板里点击 安装应用…。
已达上限它达到了某个上限。提高上限后在那里恢复它。

面板里会解释发生了什么、怎么解决。

当你不在时

如果你七天没有在任何聊天里发过消息,到期的例行任务会自己暂停,并在智能体的聊天里留一条说明,免得一直为没人看的结果花钱。拨一下开关就能重新打开。

本页目录