---
title: "为什么我的活动没有回复？"
description: "按顺序排查无声活动的原因，然后阅读执行记录来区分从未开始的活动和运行中途失败的活动。"
canonical: https://docs.afp.monster/zh-cn/start/troubleshooting
updated: 2026-08-19
pageType: start
---

先检查活动本身的状态，然后检查它绑定的主页，最后检查执行记录。有四件事值得在其他任何操作之前排除：活动已关闭、你编辑的活动图从未保存、活动绑定的主页与你评论的主页不同，或消息未匹配条件。执行记录随后区分一个从未开始的活动和一个已开始但失败的活动。

## 你需要什么

- 在画布上打开的活动，这样你可以看到 **Active** 切换开关、标题栏中的主页以及 **Executions** 视图。
- 显示在 **Accounts** 上的主页，这样你可以看到其存储的访问权限是否仍在正常工作。
- 除了主页本身之外的其他人来评论或发送私信。AFP 会忽略来自主页本身的事件，所以以主页身份评论永远不会启动执行记录。

## 哪些检查先做？

按这个列表往下排查，而不是直接跳到听起来像你的问题的部分。它按每项检查的成本排序：前七项通过查看画布就能回答，其余的需要执行记录或第二次测试。

| 序号 | 检查项 | 如何判断 | 修复方法 |
|---|---|---|---|
| 1 | 活动已关闭 | 画布标题栏或活动列表中的 **Active** 切换开关为关闭状态 | 打开它。AFP 仅将传入事件与活跃活动匹配 |
| 2 | 你的编辑从未保存 | 画布仍显示未保存的更改 | 点击 **Save**。只有最后保存的版本会启动新执行记录 |
| 3 | 保存的活动图没有触发节点 | 重新打开活动——画布加载保存的版本，所以你看到的就是运行的版本 | 添加一个触发节点并保存 |
| 4 | 活动绑定了另一个主页 | 画布标题栏中的主页不是你评论的主页 | 将活动重新绑定到该主页并保存 |
| 5 | 事件来自主页本身 | 你以主页身份发表评论或回复 | 从个人账户评论，或让其他人评论 |
| 6 | 触发类型与事件不匹配 | 评论触发器对应发送到主页的私信，或私信触发器对应评论 | 使用与你产生的事件匹配的触发器 |
| 7 | 触发器限定在一篇帖子 | 触发器的帖子设置指定了一篇帖子而不是所有帖子 | 在那篇帖子上评论，或将触发器改回所有帖子 |
| 8 | 消息未匹配条件 | 存在一条执行记录但未发送任何内容 | 扩大匹配范围，或将条件的 **No Match** 输出连接到某个操作 |
| 9 | 该人已有进行中的执行记录 | 同一活动的同一个人更早的执行记录仍处于活跃状态 | 等待它完成，或使用不同的账户 |
| 10 | 触发器每人只运行一次 | 触发器的每人一次设置已开启，且这个人之前已经触发过 | 使用不同的账户进行测试 |
| 11 | 主页的存储访问权限已过期 | **Accounts** 将主页或拥有它的社交账号标记为已过期 | 重新授权该社交账号，然后重新测试 |

## 为什么活跃的活动仍未触发？

活跃的活动只通过你最后保存的活动图版本触发。AFP 查找属于活动当前版本的触发节点，所以只存在于未保存的画布或旧版本中的触发器永远不会启动任何内容。

从活动列表打开切换开关会立即生效，且不检查活动图。当前版本没有触发节点的活动在读取时仍显示为活跃，但不会匹配任何内容，这是活动可能处于的最具误导性的状态。

关闭活动不会阻止事件到达主页。同一主页上的其他活动继续工作，每个触发器匹配事件的活动都会获得自己的执行记录——所以一个承载多个活动的主页可能看起来一半坏了，因为其中只有一个被关闭了。

活动还必须与主页的平台匹配。AFP 在保存时从主页本身派生平台，所以在 Facebook 主页和独立 Instagram 账户之间移动的活动会从新主页获取平台，而不是保留旧的平台。

## 活动是否绑定在你测试的主页上？

一个活动只绑定到一个主页，AFP 将传入事件与产生它的主页上的活动进行匹配。在活动未绑定的主页上评论不会产生任何执行记录——不是失败的执行记录。

画布标题栏中的主页名称就是完整答案。在查看任何其他内容之前，将其与你评论的主页进行比较，因为这个原因和真正损坏的活动图从外部看是一样的：没有任何反应。

将活动重新绑定到不同主页不会触碰活动图。节点、它们的设置和连接都完好无损；只有哪些主页的事件到达触发器会发生变化。

## 主页的访问权限是否已过期？

**Accounts** 是过期主页出现的地方：主页和拥有它的社交账号会被标记为已过期，而不是活跃。AFP 为每个主页存储它获得的访问权限，一旦该访问权限失效，活动尝试对该主页执行的每个操作都会失败。

一个过期的主页会产生失败的执行记录，而不是缺失的。执行记录会启动，到达第一个必须访问 Facebook 或 Instagram 的节点，并在该节点上记录错误，而不是发送。

| 主页类型 | 如何恢复访问权限 |
|---|---|
| Facebook 主页，或通过 Facebook 访问的 Instagram 账户 | 刷新拥有该主页的 Facebook 社交账号的访问权限。AFP 会引导你到 Facebook 重新授权，你返回后清除过期标记 |
| 独立的 Instagram 商业账户 | 刷新该账户的访问权限。AFP 会引导你到 Instagram 重新授权，你返回后存储新的访问权限 |

拒绝授权屏幕会让主页保持原样，仍然标记为已过期。[连接主页](/zh-cn/start/connect-a-page) 涵盖 **Accounts** 上每个状态的含义。

## 为什么条件将执行记录引导到了 No Match？

条件将每条执行记录引导到两个输出之一——**Match** 或 **No Match**——而一个没有连接到任何内容的输出会在那里结束执行记录。在只连接了 **Match** 的图上，走 **No Match** 的条件会产生一条完成但未发送任何内容的执行记录。

这就是在执行记录中要查找的形状：一条访问了触发器和条件、完成、且从未到达发送私信节点的执行记录。

| 条件设置为 | 真实消息为什么会错过它 |
|---|---|
| 包含，或精确 | 你评论的文本不包含或未精确匹配节点上配置的短语 |
| 关键词列表 | 评论不包含列表中的任何关键词 |
| 反转匹配的关键词列表 | 评论包含列表中的一个关键词，反转匹配将其引导到 **No Match** |

你在条件仍指向它时删除的关键词列表会导致相反的问题。没有列表可查找时，条件停止过滤并匹配所有消息，所以活动会回复它本应忽略的消息。一个没有关键词的列表表现相同。

[用关键词列表匹配评论](/zh-cn/guides/keyword-lists) 涵盖编辑列表和反转匹配的作用。

## 如何阅读执行记录？

打开活动并将画布切换到 **Executions** 视图。它列出该活动最近的 20 条执行记录，最新的在前，测试执行和真实执行记录放在一起。每行包含是否是测试、是否仍活跃、收件人、何时开始、何时完成、当前所在的节点，以及如果有错误则显示错误信息。

选择一条执行记录会在画布上覆盖显示：它访问的节点标记为已访问，它停止的节点标记为当前，它从未到达的节点变暗。每个已访问的节点还记录操作做了什么，或它产生的错误——这就是你区分一个发送成功的私信节点和一个失败的私信节点的方式。

![覆盖在画布上的执行记录：它访问的节点高亮显示，它停止的节点标记为当前，它从未到达的节点变暗](../../../../assets/screenshots/start/troubleshooting/executions-overlay.webp)

```d2 title="Diagnosing a silent campaign from the Executions view, by whether an execution exists and what state it is in" data-wide="true"
direction: down
executions: "打开 Executions 视图"
exists: "是否存在该评论的\n执行记录" {shape: diamond}
never: "从未触发：\n按清单排查"
which: "它的状态" {shape: diamond}
ended: "运行到分支末尾：\n检查它走了哪个分支"
midrun: "运行中途失败：\n操作无法发送"
waiting: "等待：停在条件\n或延迟上"
early: "提前结束：\n阅读错误信息"
executions -> exists
exists -> never: 完全没有
exists -> which: 存在一条
which -> ended: 已完成，无错误
which -> midrun: 仍活跃，最后访问的节点有错误
which -> waiting: 仍活跃，无错误
which -> early: 已失败，有错误
```

| 你看到的内容 | 含义 | 操作 |
|---|---|---|
| 你评论的时间段没有执行记录 | 事件从未到达活动 | 回到清单——活动图中没有任何问题 |
| 已完成，无错误，发送节点变暗 | 执行记录走了一个在发送节点之前结束的分支 | 查看条件走了哪个输出 |
| 仍活跃，最后访问的节点有错误 | 操作失败。AFP 记录错误且不会继续到该节点之后 | 修复原因，然后启动新的执行记录。这条不会自行恢复 |
| 仍活跃，当前节点是条件 | 条件在等待一条尚未到达的回复 | 从你测试的账户回复，或等待 |
| 仍活跃，当前节点是延迟 | 延迟尚未过去 | 等待，然后刷新面板 |
| 已失败，有提示重试耗尽的错误 | AFP 重试了该步骤但持续失败 | 检查 **Accounts** 上主页的访问权限，然后重新测试 |

一条卡在失败操作上的执行记录不会永远保持活跃。如果它等待的是调度步骤，AFP 会在一个小时后将其标记为失败；如果等待的是回复，会在七天后标记为失败。

列表不会自动刷新。使用面板上的刷新控件重新拉取一条仍处于活跃状态的执行记录。[执行状态](/zh-cn/reference/execution-states) 列出执行记录可能结束的所有状态。

## 如何从画布运行测试执行？

测试执行会走过保存的活动图而不联系 Facebook 或 Instagram，这样用一次点击就能区分活动图损坏和连接损坏。

1. 在画布上打开活动，如果有任何未保存的内容，点击 **Save**。测试运行的是保存的版本，而不是屏幕上显示的内容。
2. 点击 **Test**。
3. 键入执行记录应视为传入评论或私信的消息。留空则执行记录会表现得像是 `test`。
4. 点击 **Run test**。
5. 画布切换到 **Executions** 视图，新的执行记录在顶部。点击它查看它走的路径。

每个操作节点记录它*本来会*做什么，而不是实际去做。不会发送私信，不会回复、隐藏或删除评论，也不会添加或移除标签。一个延迟节点会在那里结束测试并将执行记录标记为完成，所以测试无法告诉你延迟之后的节点的情况。

| 测试执行能证明 | 测试执行无法证明 |
|---|---|
| 活动图有触发器且节点已连接 | 活动是否绑定到正确的主页 |
| 给定消息在条件中走哪个分支 | 主页的存储访问权限是否仍然有效 |
| 哪些节点被访问，以及以什么顺序 | 真实评论是否匹配触发器的帖子设置 |
| 每个节点的设置是否足够完整以执行 | 消息是否实际到达 |

保存版本没有触发节点的活动根本无法测试：AFP 会提示缺少触发器，而不是创建执行记录。这个结果本身就是上面检查 3 的答案。

一条停在设置为等待回复的条件上的测试会停在那里并保持活跃，因为测试不会有回复到达。将停住的节点读作"活动图走到了这里"，而不是失败。

## 我怎么知道成功了？

从不是主页的账户，用你知道匹配条件的文本，再次在主页上评论。然后检查两端：该人在 Facebook 或 Instagram 上的收件箱中收到私信，且 **Executions** 视图顶部出现一条新的执行记录，有完成时间，没有错误，且发送节点标记为已访问。

这两个中有一个没有另一个就能立即缩小问题范围。一条已完成但没有私信的执行记录指向主页的存储访问权限；一条私信但没有执行记录意味着你在查看发送它的那个活动之外的不同活动。

## 下一步

- [测试和调试活动](/zh-cn/guides/test-and-debug-campaigns)
