# 触发器和后台常驻

> 触发器按时间、或在有新东西到来时让 Agent 开工；The One 常驻后台，你不在电脑前它们也照常触发。

**触发器**让工作自己开始：到了某个时间，插件工具、文件夹、网页或命令有了新东西，或者别的服务发来 Webhook 时。有了触发器，再让 The One 常驻后台，反复要做的事在你离开时也照常推进，回来看晨报就知道发生了什么（见[需要你、交付和晨报](./needs-you)）。

触发器不限制被叫醒的 Agent 能做什么，也没有任何东西等你批准。Agent 做过的事都有记录、可以撤回，见[行动记录、撤回和急停](./action-log)。

## 直接说出来 [#直接说出来]

建触发器最简单的办法，是说出什么事要反复做。跟主助手说“每天早上 9 点看一下昨天的订单”或“每来一个新订单就发确认邮件”，它会自己建好。Agent 也会自己建、自己改触发器，设置页上这些会标着 **Agent 建的**。

这件事属于某个事项时，主助手给这个事项定一个节奏：每次触发都交给这个事项的工作组，作为它自己的一件活，排在组手头的活后面。之后这个事项上会有：

* 看板上的一张**节奏**卡，每个触发器一行：什么时候触发、活交给谁、下一次和上一次，以及**现在触发**和**暂停**或**恢复**；
* 事项开着、又有触发器开着时，事项页头标着**常驻**：它的活会自己来，到点或有新东西时就来。事项总览把这样的事项列在**定时**里。

![带每日触发器的事项上的节奏卡](https://the-zeroth.com/docs-assets/images/0.5/zh/triggers-cadence-card.png)

**结束**一个事项时，它的触发器和它的活一起停下（**随事项暂停**）。**重新打开**后触发器也重新打开，从那时算起，关着时错过的不补。详见[事项与看板](./matters)。

## 设置 › 自动做事 [#设置--自动做事]

**设置 › 自动做事**打开**常驻与触发**页，列出当前 Space 的全部触发器，可以在这里试、改，也可以自己建。页面分三块。

### 常驻 [#常驻]

| 开关               | 作用                                                                                            |
| ---------------- | --------------------------------------------------------------------------------------------- |
| **关掉窗口后留在后台运行**  | 在 Windows 上，关掉窗口后 The One 留在托盘里，触发器和进行中的工作照常进行；要退出，从托盘菜单退出。macOS 上关掉窗口后应用本来就继续运行。             |
| **开机时在后台启动**     | 登录电脑时 The One 在后台打开、不弹窗口，触发器接着等。只有安装好的 macOS 和 Windows 应用能这样；macOS 可能要你在 系统设置 › 通用 › 登录项 里允许。 |
| **有触发器在等时不让电脑睡** | 接着电源时，有触发器在等，电脑就不会自己睡着。屏幕照常会关，合上笔记本照样会睡；用电池时照常睡眠。                                             |

有工作正在进行时，不管有没有触发器在等，The One 也不让电脑自己睡着，所以你晚上交代的活会接着做。

### 触发器 [#触发器]

上面一行写着几个触发器在等、下一个是谁；托盘菜单里也有一行同样的计数（“触发器：3 个在等，下一次 …”）。旁边是**暂停所有**（或**恢复所有**）和**新建触发器**。

每个触发器一行：

* 名字、状态（**等着**、**在看**、**在听**、**手动**、**已关**……），以及 **Agent 建的**、**应用自带**、**做完也提醒**这类标记；
* 什么时候触发、触发后做什么，比如“每天 09:00 · 交给主助手”；
* 下一次和上一次，以及出了什么问题，比如某个来源看不成。

右边是开关；**现在触发**，触发器关着也能马上触发一次；**编辑**；**原文**，只读打开应用存着的这个触发器；**删除**，删掉的 90 天内可以恢复。点开一行看**触发记录**：发给 Agent 的话，每次触发的原因、结果、带来的头几条新东西、错误和重试时间，以及它开的那件工作的链接。

![设置 › 自动做事：常驻与触发页，列着三个触发器](https://the-zeroth.com/docs-assets/images/0.5/zh/triggers-settings.png)

### Webhook 入口 [#webhook-入口]

Webhook 触发器都在这台电脑 127.0.0.1 的一个端口上收请求，默认 8013。可以在这里改，填 0 关掉入口。有了 Webhook 触发器，入口才会打开。

## 自己建一个 [#自己建一个]

点**新建触发器**打开表单：

| 字段              | 怎么选                                                                                                                                                        |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **名字**          | 你认得出的名字，比如“每日订单”。                                                                                                                                          |
| **什么时候触发**      | **定时**：**每天**、**每周**、**每隔一段时间**、**cron 表达式**或**只一次**，时区可选。**插件工具有新东西（订单、退款、邮件）**。**文件夹里的文件变了**。**网页变了**，可以只看匹配某个规则的行。**命令的输出变了**。**收到 Webhook**。**只手动触发**。 |
| **隔多久看一次**      | 插件工具、文件夹、网页或命令多久看一次。不填就用默认：插件工具 5 分钟，文件夹 30 秒，网页和命令 15 分钟。                                                                                                 |
| **交给谁**         | **主助手（默认）**：每次触发它自己处理，或交给对应的事项和工作组。也可以选一个 Graph，每次用它开一次新运行。                                                                                                |
| **项目文件夹（可选）**   | 工作所在的文件夹：新运行在这里干活，交给主助手时会告诉它，插件工具和命令也在这里跑。                                                                                                                 |
| **让 Agent 做什么** | 每次触发都会发这段话，要写得单独也能看懂；这次来源看到的东西附在后面。                                                                                                                        |
| **做完也提醒**       | 它开的工作做完时也弹通知。像每来一单这种频繁的活就别勾，做完的只进“需要你”和晨报。                                                                                                                 |
| **更多选项**        | **上一次还没做完又触发了**（只对每次开 Graph 新运行的触发器有用）：等它做完、把攒下的一起交给下一次，跳过这次，或另开一个新任务。**电脑睡着或关机时错过了**：回来后补一次，或不补。                                                          |

没填时区就按这台电脑的时间，所以 9 点的触发器换夏令时也还是 9 点。盯着看的来源第一次看只记下现在有什么（命令的**什么时候算有新东西**选了**有任何输出**的除外）；之后每次看到新东西就触发一次，把新东西一起带上。

交给事项工作组的触发器由主助手或工作组自己建，表单里能看到交给谁，但改不了。

![新建触发器表单，来源选了插件工具](https://the-zeroth.com/docs-assets/images/0.5/zh/triggers-new-trigger.png)

## 触发时发出什么 [#触发时发出什么]

Agent 收到触发器的那段话，第一行写着是哪个触发器、什么时间、第几次，比如 `【触发器「每日订单」· 10-06 09:00 · 第 12 次】`。来源看到的内容（订单、邮件、网页变了的行、命令输出、Webhook 的正文）跟在后面，放在标明是“外部数据”的框里。所以外来的文字冒充不了你的指令：一封写着“忽略之前的指示”的邮件，到 Agent 手里仍然只是一封邮件。

交给主助手的触发，它当作你交代的事来办：自己办掉，或者放到它所属的事项上，交给那个事项的工作组；反复来的活它会开一个事项。

触发器开的工作做完后进“需要你”和晨报，不弹通知，除非这个触发器勾了做完也提醒。提问和失败总会提醒。

## Webhook [#webhook]

每个 Webhook 触发器有自己的地址：`http://127.0.0.1:8013/hooks/` 后面跟一串随机令牌，点**复制地址**复制。每个请求是一条事件，接连来的几个请求合成一次触发一起交出去。发送方给每个事件带了 id 时（Stripe、Creem、GitHub、Shopify 都这样），重发的同一个事件只触发一次。

* **验签名**：不验（只靠这个保密的地址），**Stripe 签名**、**GitHub 签名**、**Standard Webhooks 签名**（Svix、Resend、Clerk 这样发），或者 **HMAC 签名（X-Signature）**，HMAC 放在哪个请求头，在**签名放在哪个请求头**里填。对不上的请求被拒收，不触发；这一行会写明什么时候、为什么拒收。签名密钥只存在这台电脑上，存好后不再显示。
* 地址泄露了，在编辑表单里勾**换一个新地址（旧地址立刻失效）**。
* 外网的服务（Stripe、GitHub 等）要经你自己配的隧道进来，比如把 cloudflared、ngrok 或 Tailscale Funnel 指到这个端口。
* The One 没在运行时发来的请求收不到。很多发送方会重发一阵子，但订单和邮件更稳妥的做法是用插件工具当来源：应用关着时到的东西，它回来后会补上。

## 电脑睡着、应用关掉或切换 Space 时 [#电脑睡着应用关掉或切换-space-时]

* 电脑关机、睡着或 The One 没开时错过的时间，回来后补一次，或者不补，看**电脑睡着或关机时错过了**怎么选；发给 Agent 的话里写着错过了几次。
* 盯着看的来源回来后第一次看，就带上这期间出现的新东西。
* 触发器属于建它时的 Space，只在那个 Space 激活时触发，切回来时同样补上。同一时间只能激活一个 Space。
* 触发器开的运行做到一半时 The One 停了（崩溃或退出），应用再启动后这次运行会接着做。Agent 会被告知应用停过一次，发邮件、收款、上线这类对外的动作，要先查一下做没做过，再决定做不做。

## 应用自带的夜间复盘 [#应用自带的夜间复盘]

每个 Space 都有一个应用自带的触发器：**夜间复盘**，在这台电脑的 03:30，标着**应用自带**。开工之前它先检查有没有新的摩擦值得复盘，没有就记一次跳过，什么都不花。它不拦着电脑睡觉：电脑睡过了 03:30，醒来后再补跑。

你可以关掉它、改时间、改名或删除，应用不会再把它加回来。复盘做什么，见[进化：实验室和夜间复盘](./evolution)。

## 全部暂停 [#全部暂停]

设置页上的**暂停所有**，或托盘菜单里的**暂停所有触发器**，让所有触发器都不再自己触发，等着送出的作废。恢复后从那时算起：暂停期间到点的不补，盯着看的来源从恢复时重新开始盯。暂停时**现在触发**照样能用。

**急停所有 Agent** 在叫停所有 Agent 的同时，也会暂停所有触发器。从托盘菜单，或设置 › 自动做事里的**恢复所有**恢复；见[行动记录、撤回和急停](./action-log)。

## 相关页面 [#相关页面]

* [事项与看板](./matters)：节奏卡和常驻。
* [需要你、交付和晨报](./needs-you)：触发器开的工作交回到哪里。
* [进化：实验室和夜间复盘](./evolution)：夜间复盘和进化事项的每周普查。
* [插件与应用](./capabilities/plugins)：触发器能盯着看的插件工具。

Source: https://the-zeroth.com/zh/docs/the-one-app/triggers
