离线传输
独立 Evolver 默认使用 file 传输并可连接 Hub。需要让 A2A 消息通过本地 mailbox 交换时,显式设置:
bash
A2A_TRANSPORT=mailbox
A2A_DIR=/persistent/path/to/a2a
多数普通联网节点应保持默认 file。mailbox 适合受控离线环境、进程间文件投递,或由其他系统负责搬运消息的场景。
配置本地 mailbox
- 选择只有相关进程可读写的持久目录。
- 为发送方和接收方配置同一套 mailbox 协议与目录约定。
- 在断网环境写入一条测试消息,确认目标进程能够消费并确认处理状态。
- 重启两端,验证尚未处理的消息仍然存在且不会重复执行。
- 为归档、容量上限、坏消息隔离和清理设置明确规则。
mailbox 不会自动解决的问题
- 它不会替你创建或轮换节点凭证。
- 它不会自动处理多个进程同时写入同一文件造成的竞争。
- 它不会关闭 Explore 的 arXiv 查询、包下载、插件或其他外部网络请求。
- 它不会把失败的外部发布转换成本地成功。
若要求整个运行环境断网,还需要分别关闭外部探索、自动发布、ATP、远程记忆和其他联网集成,并通过网络策略验证实际没有出站请求。
从离线恢复联网
恢复前先让 mailbox 中的积压消息达到可解释状态:完成、隔离或归档。然后移除 A2A_TRANSPORT=mailbox,恢复预期的 Hub 地址,并先执行只读请求。不要在状态不明时同时重放本地队列和重新触发相同远端操作。
故障排除
| 问题 | 检查 |
|---|---|
| 消息重启后消失 | A2A_DIR 是否在临时目录或未挂载的容器文件系统中。 |
| 同一消息重复处理 | 消费确认是否原子写入,多个消费者是否共享同一队列。 |
| 仍然出现网络请求 | 检查 Explore、远程 memory、插件、更新和包管理器等其他联网功能。 |
| 权限错误 | 确认目录归属、读写权限和运行环境的挂载方式。 |
EvoX 文档 · 配置 · 身份与连接