# 让 AI 智能体读取短信验证码

> n8n、浏览器或自建的 AI 智能体如何通过 Webhook 读取登录时发到你 iPhone 的短信验证码，并且只转发验证码短信。

最后更新：2026-10-25
规范 HTML 页面：https://www.fwrdsms.com/zh-hans/blog/ai-agent-sms-verification-codes
Published: 2026-10-25

AI 智能体自己读不到你 iPhone 里的短信，所以要由你把验证码交给它：“快捷指令”的“信息”自动化把每条验证码短信交给 Fwrd，Fwrd 再从 iPhone 把它发到智能体能访问的端点，例如 n8n 的 Webhook 节点或一台小服务器。然后智能体用正则表达式取出数字并填进去。请只用于你自己拥有、或已获授权自动化的账户。

**你需要：** 一部 iOS 26 或更高版本的 iPhone，装着接收验证码的号码；“快捷指令”App（手机上本来就有）；[Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=zhs-blog-ai-agent-codes&mt=8)；以及一个智能体能访问的公开 HTTPS 地址，例如 n8n 工作流、Zapier 或 Make 的 Webhook，或你自己的服务器。

## AI 智能体如何拿到发到我 iPhone 的短信验证码？

通过 Webhook。验证码到达 iPhone，Fwrd 把它以 JSON 发到你的端点，你的智能体再从那里读取。

iOS 不允许任何 App 或任何智能体读取“信息”的收件箱，[iPhone 有短信 API 吗？](https://www.fwrdsms.com/zh-hans/blog/iphone-sms-api)解释了原因。它允许的是你自己设置的“信息”自动化：匹配的短信到达时运行，并把它交给下一个操作。Fwrd 就是那个操作。它把短信直接从 iPhone 发到你给它的地址，没有账户，中间也没有 Fwrd 服务器。

验证码落在哪里，取决于你的智能体：

- **n8n 的 AI Agent 工作流。** Webhook 节点接收短信，工作流再把它往下传。[把 iPhone 短信转发到 n8n](https://www.fwrdsms.com/zh-hans/blog/forward-iphone-sms-to-n8n)介绍了节点的设置。
- **浏览器智能体或自建的 LLM 智能体。** 一台小服务器连同到达时间一起保存每条短信，智能体在请求验证码之后，向它要最新的一条。
- **Zapier 或 Make 场景。** 由 catch hook 或自定义 Webhook 启动运行。[把 iPhone 短信发送到 Zapier、Make 或 n8n](https://www.fwrdsms.com/zh-hans/iphone-sms-to-zapier-make-n8n)介绍了每一种工具。

如果是让聊天助手一般性地读取你的短信，而不是登录验证码，请看[ChatGPT、Claude 或 Gemini 能读取你的 iPhone 短信吗？](https://www.fwrdsms.com/zh-hans/blog/connect-chatgpt-to-iphone-texts)。

## 应该让智能体处理你的登录验证码吗？

只限你自己的账户，或你已获授权自动化的账户，而且只在服务没有更好的办法时。

- **优先使用服务自己的 API 令牌。** 如果服务提供 API 密钥、OAuth 或服务账户，就把那个交给智能体。它根本不用碰登录页面，你也可以单独撤销它。
- **个人登录优先使用通行密钥或验证器 App。** 短信验证码只留给没有别的选择的登录。
- **能读到你的端点的人，都能使用验证码。** 在地址里放一段长长的密钥，验证码用完就删除，并让端点的日志保持私密。
- **查看服务的条款。** 有些服务禁止自动登录，有些银行则完全禁止分享验证码。

## 如何把验证码短信发给你的智能体

添加一个只保留验证码的 Webhook 转发目标，再创建一个把每条验证码短信交给 Fwrd 的“信息”自动化。[Webhook 指南](https://www.fwrdsms.com/zh-hans/guides/webhook)完整介绍了端点这一侧。

1. **在 Fwrd 中添加 Webhook。** 打开 Fwrd，轻点 +，选取 Webhook。把你的端点的完整 HTTPS 地址粘贴到“配置”栏，轻点“发送测试信息”，让你的端点看到这些字段，然后轻点 ✓ 保存。

2. **只保留验证码。** 在同一个转发目标里，于“哪些短信”下选取“仅部分短信”，并打开“像验证码”，它会保留含 4 到 8 位数字验证码的短信。这只是一个条件，所以免费版就能用。

3. **创建“信息”自动化。** 在 iOS 27 上，打开“快捷指令”，轻点“资料库”，再轻点“自动化”，然后轻点 +。如果看到“描述快捷指令”，请轻点“编辑”。轻点“自动化”，再轻点“信息”，把“发件人”改为“信息”，并输入一个空格，这样任何含有空格的短信都会到达 Fwrd 的筛选条件。在 iOS 26 上，打开“自动化”标签页，轻点 +，选取“信息”，并在“信息包含”下输入这个空格。

4. **让它不经询问直接运行。** 在 iOS 27 上，轻点触发条件旁边的箭头，检查“运行前确认”是否已关闭。在 ⓘ 下的“隐私”中，检查“锁定时允许运行”是否已打开。在 iOS 26 上，选取“立即运行”，然后轻点“下一步”和“创建新快捷指令”。

5. **添加 Fwrd 的操作。** 搜索“转发”，添加“转发信息到所有目标”。把它的“信息”设为“输入快捷指令的信息”（在 iOS 26 上，依次选取“输入快捷指令的信息”和“信息”）。轻点返回以保存（在 iOS 26 上轻点“完成”）。

6. **这就完成了。** 新的验证码短信现在会自动发到你的端点，无论 iPhone 是否锁屏。

### 端点会收到什么？

一个带 `Content-Type: application/json` 的 POST，里面是原样的短信。信息在 `content` 中，同样的文字在 `text` 中重复一遍，供读取那个字段的服务使用。只有当你在 Fwrd 的“设置”中打开“附上发件人”，并在 Fwrd 的操作上选取“发件人”时，才会多出一个 `sender` 字段。

下面这条 curl 命令发送的请求和 Fwrd 发的一样，这样你可以在验证码到达之前，先搭好智能体这一侧：

```bash
curl -X POST "https://your-endpoint.example/sms/long-secret" \
  -H "Content-Type: application/json" \
  -d '{"content": "Your code is 123456", "text": "Your code is 123456"}'
```

要取出验证码，请匹配 `content` 里第一段 4 到 8 位的数字：

```python
import re

match = re.search(r"\b(\d{4,8})\b", body["content"])
code = match.group(1) if match else None
```

请求体里没有时间戳，所以请在你这一侧记录时间，并忽略比你的登录尝试更早的验证码。同一条短信的每次尝试都带有相同的 `Idempotency-Key` 请求头，所以你可以丢弃重复项。n8n 和小型服务器的可用示例，在 GitHub 上的 [fwrd-sms-webhook-examples 仓库](https://github.com/alanwtom/fwrd-sms-webhook-examples)里。

## 把验证码交给智能体的几种办法

| 办法 | 谁来转交验证码 | 智能体要等你吗？ |
|---|---|---|
| 你自己读，再输入 | 你 | 要，每次登录都要 |
| 智能体暂停，在聊天里问你 | 你 | 要，每次登录都要 |
| 改用服务的 API 令牌 | 没人，根本没有验证码 | 不要 |
| Fwrd 把它发到你的端点 | iPhone，自动完成 | 不要 |

## 这种设置做不到什么

- **它读不到更早收到的验证码。** 自动化只对新短信运行。
- **一个号码一次只能服务一次登录。** 两个智能体在同一个号码上请求验证码，可能会读到对方的验证码，所以请让登录这一步排队。对于 CI 和 QA 流水线，[用 iPhone 把短信验证码送进 CI 和 QA 自动化](https://www.fwrdsms.com/zh-hans/blog/sms-otp-codes-ci-automation-iphone)介绍了这种情况。
- **iPhone 要保持开机并联网。** 重新启动之后，转发要等你解锁一次才会恢复，而三天没有解锁的 iPhone 会自行重新启动。
- **Fwrd 不发送登录请求头。** 请把密钥放在地址里；Fwrd 会把完整地址保存在 iPhone 的钥匙串中。它还会拒绝 IP 地址以及 .local 或 .internal 名称。
- **它是单向的。** Fwrd 不能替你的智能体从 iPhone 发送短信。

## 关于 AI 智能体和短信验证码的问题

### 智能体也能读到我的其他短信吗？

只能读到你放行的那些。打开“像验证码”后，Fwrd 会跳过不含 4 到 8 位数字验证码的短信，端点根本看不到它们。

### 验证码会经过 Fwrd 的服务器吗？

不会。Fwrd 没有账户，也没有自己的服务器；每条短信都从 iPhone 直接发到你的 HTTPS 端点。

### 它能用于短号码发来的验证码吗？

能。自动化匹配的是短信的内容，而不是发件人，所以不在你的“联系人”里的短号码发来的验证码，同样会到达 Fwrd 的筛选条件。

### 费用是多少？

截至 2026 年 10 月，Fwrd 每月有 15 条免费转发，同一条短信无论发到几个地方都只算一次。Fwrd Pro 每月 $4.99 或每年 $29.99，均为美国售价，以美元计，订阅后不再有数量限制。

## 继续阅读

- [iPhone 有短信 API 吗？在 iOS 上获取短信](https://www.fwrdsms.com/zh-hans/blog/iphone-sms-api)
- [ChatGPT、Claude 或 Gemini 能读取你的 iPhone 短信吗？](https://www.fwrdsms.com/zh-hans/blog/connect-chatgpt-to-iphone-texts)
