Skip to main content
← Back

例程

例程用于告诉某个 Bot 何时运行工作流。它可以按计划运行,也可以在特定事件发生时触发,例如收到 Slack 消息、电子邮件或 webhook 调用,或者发生 GitHub、Linear、Sentry、PagerDuty 事件。例程在云端运行,合上笔记本电脑也照常执行。

如何设置或更改例程?

在聊天中告诉 Bot 该做什么、何时执行。例如:“每个工作日上午 9:00,在此聊天中汇总新的支持工单。”Bot 会创建该例程,并将其显示在 Bot 的例程列表中。

在桌面端更改例程时,请打开该例程并选择 Edit。Grok Bot 会向 Bot 发起一条以 "Edit your routine:" 开头、后接例程名称的消息。补充需要更改的内容,然后发送即可。

在手机上,打开 Bot 的配置文件,在 例程 下点击 Add routine。Grok Bot 会发起一条以 "Set up a routine to " 开头的消息。补全这句话,然后发送即可。

在哪里查看 Bot 的例程?

在桌面端:

  1. 点击聊天顶部的 Bot 名称,打开其详情。
  2. 选择 Tasks。例程位于 例程 下。

每一行会显示例程的名称和运行时间,或显示 Paused。使用该行的开关可暂停或恢复例程。如果 Bot 没有任何例程,会显示 Ask in chat to set a routine。

点击某个例程即可打开:

  • Instruction:Bot 每次 run 时执行的操作。
  • When to run:列出触发该例程的计划和事件。
  • Webhook:显示由 webhook 调用触发的例程所用的 URL 和密钥。

底部的按钮包括 Pause 或 Resume、Test、Edit 以及 Delete routine (垃圾桶图标) 。删除前需要确认。删除后将停止后续所有 run,且无法撤销。

在手机上,打开 Bot 的配置文件并找到 例程。轻点某个例程可查看 Active、Schedule、Next run、Instruction 和 运行历史。关闭 Active 即可暂停该例程。如需删除,滑动该例程所在的行即可。

计划和时区如何运作?

计划使用的时区为设置中 Bot 下的 Timezone。Auto-detect 会跟随本机时区。若希望例程按其他时区运行 (例如相关工作所在办公室的时区) ,请手动指定时区。

用自然语言描述所需的计划即可,例如“每个工作日上午 8:00”或“每 2 小时”。然后打开例程,查看 When to run。这里会用文字显示已保存的计划,方便你确认是否符合预期。如果不符合,请选择 Edit,并告诉 Bot 需要修改哪些地方。

新建的例程会等到下一个计划时间点才运行,创建时不会立即运行。如果你在 8:05 设置了“每天上午 8:00”,首次运行将在明天上午 8:00。如需立即试运行,请使用 Test。

如何测试例程?

在桌面端打开例程,然后选择 Test。run 结束前,按钮会显示 Running…。结果会显示在 Bot 的聊天中。

测试会执行真实操作,可能会更改文件并使用已连接的插件。请使用安全的输入。如果测试无法启动,你会看到 Couldn't start a test run,或一条说明原因的消息。

部分例程不显示 Test,但仍会按计划或触发器 run。

用量下降过快时该调整什么?

先从例程的 run 频率入手。每次 run 都会消耗用量,因此频繁 run 的例程自然比很少 run 的消耗更多。每小时一次的计划、过短的间隔,或是繁忙频道上的 Slack 触发器,都可能一天就用掉一周的用量。

如果 Weekly usage 下降得比预期快,先暂停不需要的例程。接着让 Bot 放宽计划安排并收窄 Slack 触发器的范围,再考虑升级方案或提高按需上限。从未 run 的例程不会消耗用量,但 Test 会,因为它会实际执行相应工作。

有关每周用量和按需用量月度限额,请参阅方案和计费。

Slack 触发器如何工作?

Slack 触发器属于例程,而不属于 Slack 插件。插件让 Bot 能以你所连接的 Slack 用户身份发帖和读取消息;触发器则在 Slack 中发生特定事件时启动例程。使用前,请先在拥有该 Bot 的 Cherri Code 账户上连接 Slack。参见连接插件。

直接告诉 Bot 你想要什么触发器。例程可以在 Bot 被提及、某个词或短语被提及、你对消息添加表情回应,或收到任意消息时启动。它可以监视单个频道,也可以监视整个 Slack。When to run 会用文字描述该触发器,例如某个短语和某个频道。

频道和短语的范围应尽量收窄。如果在繁忙频道中针对任意消息设置触发器,它会频繁运行,并在无需 Bot 处理的消息上消耗用量。只有新活动才会计入,触发器创建之前的消息不会启动 run。

webhook URL 和密钥在哪里,200 又意味着什么?

让 Bot 为该例程添加一个 webhook 触发器,然后在桌面端打开该例程。Webhook 部分会显示三个字段:

  • POST to 是 URL。
  • key 是机密信息。发送方需以 Authorization: Bearer <key> 的形式携带它。
  • header 是完整的请求头,可直接复制。

点击任一字段即可复制。向该 URL 发送带有此请求头的 HTTP POST 请求。你可以发送 JSON 请求体,Bot 会连同例程指令一并接收该请求体。

响应 200 表示 Grok Bot 已接受该调用并启动了一次 run,但并不表示 Bot 已执行完该指令。结果请在 Bot 的聊天中查看。其他任何响应都表示 run 未启动,此时请确认例程未被暂停,并且请求使用的是当前密钥。

为什么我的例程没有 run?

请先检查以下几项:

  • 例程未处于 Paused 状态。在手机上,Active 已开启。
  • When to run 显示的计划或触发器符合预期,且时区正确。
  • 新建的计划会等到下一个时间点才 run。可使用 Test 立即 run。
  • 对于 Slack,消息须为新消息,发送在触发器监听的频道中,并与设定的短语匹配。
  • 对于 webhook,调用须返回 200,且使用的是当前密钥。

在手机上,运行历史 会将每次近期 run 的状态显示为 Running、Succeeded 或 Failed。失败的 run 会显示失败原因。No runs yet 表示该例程尚未被触发过。

相关内容

这篇文章对您有帮助吗?