Skip to content

第 7 章 · 让 Bot 定时自动干活:Skills 和 Routines ​

本章大约需要 20 分钟。学会这一章,Bot 就能每天准时自己开工,不用你每次都去叫它。

7.1 Skill 和 Routine 有什么区别? ​

Skill(技能)Routine(例行任务)
是什么一套可以重复使用的做事方法规定什么时候去做某件事
打个比方一份“标准操作手册”一张“排班表”
归谁你所有的 Bot 都能用属于某一个 Bot
例子“怎么做每周客户健康度检查”“每个工作日早上 8 点,按那份手册做一次”

官方推荐的顺序 ​

text
① 先手动做一次,反复调整直到满意
        ↓
② 把这套方法存成 Skill
        ↓
③ 再设成 Routine,让它定时自动跑

为什么不一上来就自动化?

如果一件事手动都做不好,自动化只会更快地重复错误,还会白白消耗额度。先把流程跑顺,再交给 Routine。

7.2 把一次成功的任务存成 Skill ​

方法一:直接跟 Bot 说(推荐) ​

某个任务做得满意以后,在对话里告诉它,比如:

text
把我们刚才用的流程存成一个技能,叫“每周竞品动态”。
包括:要看哪些来源、怎么判断哪些信息重要、输出用什么格式,
以及一条规则:任何对外发送都必须先经过我同意。

一个好用的 Skill,最好写清楚这 6 点:

  1. 什么时候用这个技能
  2. 需要什么输入和权限
  3. 步骤是什么
  4. 怎么检查结果对不对
  5. 最后交付什么
  6. 哪些事必须先审批

用技能可能还需要先连插件

Skill 你所有的 Bot 都能用,但如果技能里要用到某个插件或者某个网站的登录状态,Bot 得先有这个连接或登录才行。

方法二:示范教学(Teach a task) ​

不想用文字描述?可以直接操作一遍给 Bot 看:

  1. 打开和某个 Bot 的一对一对话,以及它的电脑画面。
  2. 选择 Teach a task(示范教学)。
  3. 先简单说明你接下来要演示的是什么、想要什么结果。
  4. 在云电脑上亲自操作一遍这个流程。
  5. 停止录制,检查 Bot 根据你的操作生成的技能。
  6. 先用一个安全的例子测试,没问题了再设定时。

注意:

  • 录制的是屏幕上能看到的操作,最长 10 分钟,不录麦克风声音。
  • 演示过程中不要输入密码或密钥,需要的话用安全表单。
  • 生成的技能只是草稿。一次演示没法覆盖所有情况,你可以再补充判断规则、出错时怎么办、哪些步骤要审批。

待核实:你可能还看不到这个功能

官方说示范教学是逐步开放的。如果你的 App 里找不到这个按钮,就用方法一,让 Bot 根据文字说明和刚完成的任务来生成技能。另外,这个功能只能在电脑端使用。(截图待补)

在哪里查看我的技能? ​

官方文档的说法是:你的私人技能是所有 Bot 共用的一个技能库,可以在插件页面里管理插件和技能的地方看到。

待核实:引用技能的方式变了

官方文档说可以在输入框里打 / 来引用技能;但更新日志(v0.68.1,2026-10-07)写着“在输入框里打 / 不再弹出技能和操作菜单”。目前最稳妥的办法是:直接在消息里写技能的名字,比如“用‘每周竞品动态’这个技能”。(截图待补)

7.3 创建第一个定时 Routine ​

第一步:设好时区 ​

Routine 的时间按设置里的时区来算。

  1. 打开 设置 → 通用(General)→ Bot。
  2. 找到 时区(Timezone)。“自动检测”(Auto-detect)会跟随你这台电脑的时区;如果想让 Routine 按另一个地方的时间跑(比如公司所在地),就手动选一个时区。(截图待补)

中国用户

如果你人在中国、电脑时区也是北京时间,保持“自动检测”就行。跨时区工作的话,记得手动确认一下。

第二步:跟负责这件事的 Bot 说 ​

用大白话说清楚做什么、什么时候做就行,比如:

text
每个工作日早上 8 点,用“每周竞品动态”这个技能整理一次,
把结果发在这个对话里。
不要联系任何外部人员。
如果数据源打不开,就直接告诉我失败了,不要拿旧数据凑数。

Bot 会创建这个 Routine,并告诉你下一次什么时候运行。

设置之前,确认清楚这几件事:

  • 由哪个 Bot 负责
  • 时间表和时区
  • 用什么数据来源
  • 期望什么样的结果
  • 审批边界(哪些事不能自己做)
  • 数据源出问题时该怎么办

第三步:检查时间对不对 ​

打开这个 Routine,看看 “何时运行”(When to run)。那里会用文字写出保存下来的时间表,确认和你想的一样。不对的话,选择编辑,告诉 Bot 要改什么。

第四步:用“测试”马上试一次 ​

新建的 Routine 不会马上运行

新建的 Routine 会等到下一个预定时间才跑。比如你 8:05 设了“每天 8 点”,第一次运行就是明天 8 点。想马上看看效果,就用 测试(Test)。

在电脑上打开这个 Routine,选择 测试(Test),按钮会显示“运行中…”,结果会出现在 Bot 的对话里。

测试会真的执行

测试不是演习:它会真的打开网站、修改文件、调用已连接的插件,也会消耗额度。测试时请用安全的输入,会改动外部系统的操作要放在审批后面。

测试完,检查一下:

  • 用的是不是最新的数据?
  • 输出格式对不对?
  • 每个操作是不是都有来源可查?
  • 是不是在你预想的地方停下来等你审批了?
  • 失败的时候有没有明确告诉你?

7.4 事件触发(进阶,选读) ​

除了按时间跑,Routine 还可以在某件事发生时自动开始:

触发来源例子
Slack有人 @Bot、提到某个词、你给某条消息加了表情、或者某个频道有新消息
GitHub某个 Pull Request 有新动静
邮件Bot 的专属邮箱收到某个人或某个域名发来的邮件(见第 8 章)
Webhook其他系统向一个专门的网址发送请求
其他Linear、Sentry、PagerDuty、Microsoft Teams 等

设置方法同样是直接跟 Bot 说,比如:

text
当 #客户投诉 频道里有消息同时包含工单链接和“需要复现”这几个字时,
打开工单、复现问题,把复现结果发到这个对话里。
没有我的同意,不要在 Slack 里回复。

规则要“窄”,不然很费额度

官方特别提醒:不要用“每条新消息都触发”这种宽泛的规则。 在一个热闹的频道里,每条消息都触发一次,会产生大量没用的运行,一天就可能用掉一周的额度,还更容易处理到无关内容。请把频道和关键词限定得具体一些。

Slack 触发和 Slack 插件不是一回事

  • Slack 插件:让 Bot 能以你的身份读消息、发消息(第 6 章)。
  • Slack 触发:Slack 里发生某件事时,自动启动 Routine。 两者是分开的。用 Slack 触发之前,要先在拥有这个 Bot 的账号上把 Slack 连接好。另外,触发器只对新消息生效,设置之前的旧消息不会触发。
Webhook 触发(给懂一点技术的读者)

让 Bot 给某个 Routine 加上 Webhook 触发以后,在电脑上打开这个 Routine,Webhook 区域会显示三项:

  • POST to:要请求的网址
  • key:密钥,请求时放在 Authorization: Bearer <key> 里
  • header:已经拼好的完整请求头,点一下就能复制

向这个网址发送 HTTP POST 请求,可以带一个 JSON 请求体,Bot 会连同 Routine 的指令一起收到。返回 200 表示 Grok Bot 已经接收请求、开始运行,但不代表已经做完,结果要去 Bot 的对话里看。

7.5 管理 Routine,以及“为什么没运行?” ​

在哪里管理? ​

电脑上: 点聊天顶部的 Bot 名字打开详情面板,在 Routine 相关的区域(帮助中心写的是 Tasks 标签下的 Routines)就能看到这个 Bot 的所有 Routine。(截图待补)

你可以:

  • 暂停 / 恢复
  • 测试
  • 编辑时间表或指令(会自动帮你开头写好一条“编辑你的 Routine:……”的消息,补充要改的内容后发送就行)
  • 查看最近成功和失败的记录
  • 删除(⚠️ 删除会立刻生效,无法撤销)

手机上: 打开 Bot 的资料页,找到 Routines。可以开关“启用”(Active)、查看下次运行时间和运行记录。部分操作(比如测试)只能在电脑上做。

几个硬性限制 ​

  • 每个 Bot 最多 50 个 Routine。
  • 每个 Routine 保留最近 20 次运行记录。
  • 两次运行之间至少间隔 5 分钟。
  • 删除 Bot 会把它名下的 Routine 一起删掉。
  • 你很长时间没上线时,Grok Bot 可能会问你要不要让 Routine 继续跑,没回应就会暂停。回来以后记得检查一下被暂停的 Routine。

Routine 没运行?按这个清单排查 ​

  1. 它是不是被暂停了?(手机上看“启用”开关是不是开着)
  2. “何时运行”里的时间表和时区对不对?
  3. 是不是新建的,还没到第一次运行的时间?(想马上试就用“测试”)
  4. 负责的 Bot 还在吗?
  5. 需要的插件授权有没有失效?
  6. 云电脑能访问数据源吗?
  7. 额度是不是用完了?
  8. Slack 触发:消息是不是新的?在不是被监听的频道里?有没有包含设定的关键词?
  9. Webhook 触发:请求有没有返回 200?用的是不是最新的 key?

然后去看运行记录,失败的那次通常会写明原因。

7.6 让 Routine 靠谱的几个原则 ​

  • 先让它准备,再让它执行:先让 Bot 起草、对账、给建议,确认靠谱以后再考虑让它真正动手。
  • 发送、购买、删除、发布、改生产系统,一律要审批。
  • 写清楚没有数据或者数据过期时怎么办。
  • 告诉 Bot 只完成了一部分时在哪里汇报。
  • 网站、插件或者数据格式变了以后,重新测试一遍。

本章小结 ​

  • Skill = 方法,Routine = 什么时候做;先手动做顺 → 存成技能 → 再定时。
  • 新建的 Routine 要等下次到点才跑,想马上看效果就用“测试”,但测试会真的执行、也会扣额度。
  • 事件触发的规则要窄,避免浪费额度。
  • Routine 没跑?按清单逐项排查,再看运行记录。

本章常见问题 ​

Q:我关掉电脑,Routine 还会跑吗? 会。Routine 在云端运行,你的笔记本合上也不影响。

Q:为什么额度掉得特别快? 先检查 Routine 跑得是不是太频繁。每次运行都会消耗额度,每小时一次、间隔很短的定时,或者监听热闹 Slack 频道的触发,都可能一天就用掉一周的量。先暂停不需要的,再让 Bot 把时间间隔拉长、把触发规则收窄。

Q:可以只设一次性的提醒吗? 可以。更新日志显示,一次性的提醒类 Routine 会显示为“Once”,并带上日期和时间。

参考来源 ​

非官方教程,内容整理自官方文档和社区讨论,以官方最新说明为准。 · 联系作者 / 加微信交流