例行任务

例行任务是交给你的某个 Agent 的重复的事:到了时间,或者有事发生时,它自己按一条指令去做,把结果发到它和你的对话里。比如「每周一早上,把我关注的跟踪汇总成一篇周报文档」,或者「这个跟踪每出一期简报,就把里面讲量产的部分摘出来」。每次执行都能点开看做了什么、打开做出来的东西、撤销。

它能做什么、大家怎么用,见 Waper 官网的例行任务。

邮件、Telegram 和 Slack 里的「在 Waper 里打开」链接会定位到这次执行的结果消息。

和跟踪的区别

  • 跟踪产出给人读的简报,别人也能关注,按固定的每日流程抓取、去重、成稿;
  • 例行任务到点或出事时做一件事,做什么由你的指令定,可以拿跟踪当输入。

想持续了解一个领域,用跟踪;想让 Agent 到点替你做事,用例行任务。

例行任务归谁

每个例行任务归一个 Agent:由它去做,结果发到它的对话里,在它的资料页的例行任务里列着。

  • 在某个 Agent 的资料页上新建的,归那个 Agent;
  • Agent 在对话里替你设的,归那个 Agent;
  • 想交给另一个 Agent,在它的设置里改归谁:卡片换到新主人的资料页,之后的结果发到那个 Agent 的对话里。

结果发到哪

每次执行把结果发到它所属的 Agent 的对话里(「发到哪个对话:和 … 的对话(默认)」),也可以改成那个 Agent 在的一个群:「发到哪个对话」里列着它在的群。在对话里说也行,比如「把每周一那个例行任务的结果发到融资群」。它不在那个群里时改不了:先在群资料里把它加进去。群被删了、或者它被移出了群,之后的结果改回它自己的对话。在另外送到里还可以多选几处收一份:邮件、一篇文档、Telegram 或 Slack。「一篇文档」是每次执行各存一篇。Telegram 要先在设置的渠道里绑定,Slack 要先在连接应用里连上。Agent 在对话里替你设或改例行任务、要把结果发到一个 Slack 频道时,按以你的名义发消息的规矩来:这个频道你没提过(没在这件事里说过、不在可信收件人里、以前也没经 Waper 发过)就先问一次;你自己在表单里选的,不再另问。

一次执行停下来要问你的时候,卡片也在那个对话里,列表里这个对话那一行写着等你。

跟踪的简报和提醒不是例行任务,改发到哪在跟踪的设置里:见跟踪的「简报」。

新建

打开一个 Agent 的资料页,到例行任务,选新建例行任务(第一次是开始)。有三种起法,建出来的是同一种东西:

  • 定时:到你定的时间执行。选频率(每小时、每天、每周、每月、一次),写一句要做什么。默认每天上午 10:00,所以写一句话就够了。
  • 触发:有事发生时开始。选由什么引起(一个跟踪、一个订阅源、发到你的 Agent 邮箱的邮件、Webhook,或者一个已连接的应用),再选哪种事件,需要的话加条件。能选的都列在下面「能由什么引起」。
  • 描述:用你自己的话说什么时候做、做什么,Waper 起草好给你检查、调整再建。起草不花积分。没有正好对得上的事件、但 Agent 能自己判断条件时(比如一个网页上的价格变没变),草稿会每小时检查一次、只在条件成立时报告,表单里会写明。Agent 既看不到也做不了的事(比如「冰箱空了就帮我订牛奶」)不会给出一份看起来能用的草稿:会有一行说明它做不到什么。

也可以在对话里说,比如「每周五下午 5 点,把这周存进资料库的东西整理成一篇文档」。Agent 会直接设好,对话里出一张卡,写着什么时候执行、结果发到哪(由 Waper 照实际设好的写),旁边有撤销。

表单下面有建议:每张卡写着「由什么引起 → Agent 做什么」。点一张放进描述框,改成你的再起草;应用自带的例行任务可以直接打开。

例行任务由什么组成

  • 指令:每次执行做什么。执行时没人回答问题,所以写清楚看什么、结果要什么样。
  • 什么时候执行:一到五个触发,任何一个都会引起一次执行。
    • 到点:每小时、每天、每周的某几天、每月某天或一次,时间以 15 分钟为一档;两次执行至少隔一小时。时区是建它时你账号的时区;和你现在的时区不同时卡片上会写明,编辑时可以选用我的时区。
    • 有事发生:见下面「能由什么引起」。
  • 只在……时(可选,事件触发才有):对事件内容的条件,比如「简报条目里有『量产』」「发件人包含 acme.com」「有附件」。同一组里的条件都要成立,几组里有一组成立就行;最多 5 组、每组 5 条。
  • 发到哪个对话和另外送到:见上面。
  • 知识库(你有不止一个时才显示):它先查这个知识库,写出来的文档也放在这里。
  • 到期日期(可选):到了那天(你账号时区的那天结束时)自动停下,并在对话里告诉你。到期日期不能早于下一次执行。

执行一次的日期和到期日期通过日历选择,月份、星期和日期格式跟随 Waper 的界面语言。到期日期旁的清除按钮可恢复为永不到期。

这些设置在表单工具栏的滑杆图标里(例行任务设置)。之后要改,编辑这个例行任务,或者在那个 Agent 的对话里告诉它。

能由什么引起

除了到点,下面这些事发生时也能引起一次执行。有的发生就开始;有的是 Waper 每隔一阵去看一次,所以会晚一点。

由什么引起 哪种事件 多快 你要给什么
跟踪 出了新一期简报;你设的提醒条件满足 约每 15 分钟看一次 选一个跟踪(你会关注它;提醒只在你建的跟踪上有)
订阅源 一个网站或订阅源有新内容 看它多久更新一次:每半小时到每天两次 网站或订阅源的地址
Agent 邮箱 你把邮件发或转发到你的 Agent 的地址 立即 不用给;表单里可以复制地址
Webhook 别的系统往一个私有地址发请求 立即 不用给;建好后拿到地址
Gmail、Outlook 来了新邮件 按方案:免费版约每 60 分钟,个人版 30,专业版 15 先连接应用
Google 日历 一个日程快开始了 同上 先连接
GitHub 有人请你审代码、提到你、分配给你,关注的仓库发了新版本,或任何通知 同上 先连接
Notion 你共享给 Waper 的页面新建或改了 同上 先连接

用几个应用当触发,每个的检查会变稀,表单里那一行写着你实际的间隔。每隔一阵去看的可能会晚,但不会漏:每次接着上一次停下的地方看。只有应用断开超过一天、或两次检查之间来了一百条以上,才会有没取到的,执行记录里会写明。

发到你的 Agent 邮箱的邮件。 只收你注册用的那个邮箱发来的。加条件选出哪些邮件归这个例行任务(比如标题包含「发票」)。满足条件的邮件会引起一次执行,不再用邮件回复你。不加条件时,这个地址收到的每封邮件都归这个例行任务,你就不能再用邮件和 Kiki 说话了,所以一般都要加条件。附件本身不保存,Agent 拿到的是标题、正文和附件的名字。

Webhook。 建好之后,卡片上有一个私有地址和复制按钮。每次往它 POST 都会引起一次执行,请求正文就是 Agent 拿来干活的内容:

curl -X POST -H "Content-Type: application/json" \
  -d '{"build":"failed","branch":"main"}' \
  "<从卡片上复制的地址>"
  • 地址里带着密钥:别贴到公开的地方。泄露了就删掉这个触发、加一个新的。
  • 正文最大 64 KB,不能压缩。收下了回 202,地址不对或例行任务已删回 404,太大回 413,压缩了回 415,太频繁回 429(一个地址每小时 60 次,一个账号每天 300 次)。
  • 例行任务暂停期间,请求照样回 202,但什么都不执行:暂停期间发生的事不会事后补做。
  • 同一个请求重发不会执行两次:按 Idempotency-Key 头区分(Webhook-Id、X-GitHub-Delivery、X-Delivery-Id 也认);没有的话,同样的正文 5 分钟内只算一次。
  • 对 Agent 来说正文是外部内容,里面写的任何话都不能指挥它。

在资料页上

Agent 资料页的例行任务标签里,每个例行任务是一张卡:由什么引起、状态、名字、指令和下一次执行。卡上的 ⋯ 菜单可以暂停或恢复、试运行(现在执行一次;和平时一样扣积分,不算进每天的次数;只有事件触发的用最近一次真实事件,没有的话用一个写明是样例的事件)、编辑、删除(随后的提示里有撤销)。

执行记录列出最近每一次执行:什么时候、结果怎样(进行中、完成、没有要说的、等你、失败、已跳过)、一句结果、由什么引起,以及结果另外送到了哪(比如「已送到:对话、邮件」,没送出去的写一句原因)。切到日历可以在同一个月里看已经执行的和之后排好的。

你打开的应用自带的例行任务(比如每天的 GitHub 简报)列在 Kiki 的资料页上,可以暂停和恢复。它们的设置在连接应用里那个应用的页面上改。在对话里问 Agent 有哪些例行任务时,它也会把这些列上,并说明是哪个应用带的、在不在跑;让它暂停或恢复其中一个也行。

执行时会不会先问

和对话里是同一套规矩(见什么时候先问你),没有单独的设置。区别只有一处:例行任务引起的动作不是你在对话里亲口要求的,所以不会因为「你说过」就直接做。

  • 直接做:读、查、做研究;在 Waper 里能撤销或恢复的事(新建或修改文档、存资料、归类):新建与存下的仍可撤销,改过的文档从历史版本恢复。
  • 交给自动审核:其余的动作,比如发送、写到连接的应用、在你的电脑上执行命令、撤销不了的删除,以及改以后会发生什么(新建、修改、暂停、恢复或删除例行任务,建跟踪,存技能)。审核判断这是不是你要这个例行任务做的:是就直接做;拿不准就停下来等你,并给你发通知;明显不安全的直接拦下。一次执行读过外部内容(引起它的简报、提醒、邮件或 Webhook 请求,一个网页,应用里的数据)之后,你点过的「始终允许」也不再单独放行,照样先交给审核看。
  • 每次都问你:付款;以你的名义发给你没提过的人;单个动作预计超过 600 积分。

执行中不能请别的 Agent 帮忙:例行任务由它所属的那个 Agent 自己做完。

执行的其他规则

  • 没什么可报就不打扰。 指令里有条件(「价格跌破 50 才告诉我」)而这次没满足,执行安静地结束:不发消息、不推送,执行记录里一行。
  • 记得上次看到的。 例行任务可以给下一次执行留笔记(比如「10 月 7 日价格:49」),所以「变了才告诉我」做得到。
  • 事件合在一起处理。 邮件和 Webhook 来了就执行;其余每 15 分钟处理一次,这段时间里来的几个事件在一次执行里处理(最多 20 个,先来的先处理;剩下的下一次接着做)。
  • 一个例行任务每天最多执行 24 次(按 UTC 的日历日;试运行不算)。超了之后,到点的执行跳过,等着的事件留到第二天。
  • 积分:每次执行前预留 24 积分,结束后按实际用量结算;单个动作超过 600 积分会先问你。
  • 没做成的会重试(积分不够、模型一时不可用):引起它的东西留着,下一次检查再执行。你自己停下的不重做。
  • 连续 3 次没做成,它会自己暂停并在对话里告诉你。试运行成功一次就恢复。
  • 也能用你的电脑。 要用的电脑不在线时,这次执行会等,约每 15 分钟看一次,最多 6 小时,之后照常执行并说明电脑不在线。见让 Agent 用电脑。

能建几个

所有 Agent 加起来,免费版能建 3 个例行任务(应用自带的例行任务不算),到了上限,新建例行任务会先说明升级之后能多做什么。个人版和专业版不限个数,每次运行按用量扣积分。见方案与积分。