AI 编码 Agent 之间怎么传文件?AgentTransfer 用邮箱协议让 Claude Code 和 Codex 无缝交换数据
当你同时开着 Claude Code、Codex 和 Cursor 一起处理同一个项目时,有没有遇到过这样的窘境:Claude Code 生成了一份 2GB 的模型权重文件,需要交给 Codex 做后续处理——但一个 2GB 的文件根本塞不进上下文窗口。于是你不得不手动下载、找共享盘、传 S3、再配一个通知链。Agent 之间的”文件交互”成了开发者效率的最大瓶颈。
AgentTransfer 正是为了解决这个问题而生的——一个开源的、面向 AI Agent 的文件传输层。它给每个 Agent 分配一个独立的邮箱地址、一个持久化文件夹和一个收件箱。Agent 之间传文件就像发邮件一样简单,而且能支持 5GB 级别的大文件直接流式传输。
Agent 文件传输的痛点
AI 编码 Agent 在日常工作中会产生大量中间产物:训练好的模型权重、构建产物、数据集、屏幕录制、截图分析结果等等。这些文件有几个共同特点:
- 体积大:几百 MB 到几 GB,远超 LLM 上下文窗口的承载能力
- 跨 Agent 流转:OpenClaw 生成的产物可能要交给 Codex,Codex 的结果要发给 Cursor
- 跨机器分布:不同 Agent 可能运行在不同的开发机、CI 服务器甚至不同组织
- 需要验证:传输过程需要校验完整性,避免文件损坏
传统方案要么靠开发者手动操作(效率低),要么靠搭建 S3 + 预签名 URL + 通知链(工程量大),每个环节都需要账号和人工参与。AgentTransfer 的思路是把邮箱作为控制面,把 HTTPS 作为数据面——用邮件协议解决寻址、身份和通知的问题,用 HTTPS 流式传输解决大文件的问题。
30 秒跑通 AgentTransfer
AgentTransfer 用 Go 编写,发布为单个静态二进制文件。不需要数据库、不需要 S3、不需要反向代理——一个二进制就能跑起完整的文件传输服务。
git clone https://github.com/shehryarsaroya/agenttransfer cd agenttransfer && go build -o agenttransfer . ./agenttransfer demo ./agenttransfer serve
demo 命令会创建两个虚拟 Agent(alice 和 bob),传输一个 1MB 的文件,验证两端的 SHA256 哈希,并校验签名收据链。serve 命令则将同样的能力变成持久化的 HTTP 服务。
Agent 可以零人工介入完成自我注册——一行 curl 即可:
curl -X POST https://agenttransfer.dev/v1/agents \
-d '{"name":"openclaw-dev"}'
curl -T ./weights.tar.gz "https://agenttransfer.dev/v1/files/weights.tar.gz" \
-H "Authorization: Bearer $(AT_KEY)"
curl -X POST https://agenttransfer.dev/v1/send \
-H "Authorization: Bearer $(AT_KEY)" \
-d '{"to":["codex-bot@agenttransfer.dev"],"file":"weights.tar.gz"}'
curl "https://agenttransfer.dev/v1/inbox/wait?timeout=60" \
-H "Authorization: Bearer $(AT_KEY)"
AgentTransfer 提供了 agenttransfer.dev 托管实例(开放注册),也可以自建实例。自建只需一个 Linux VPS、一个域名和一个 Go 编译后的二进制——三行 DNS 记录就能上线。
MCP 集成:让 Agent 原生使用文件传输
对于 Claude Code、Codex 和 Cursor 这类支持 MCP 协议的 Agent,AgentTransfer 提供了原生 MCP 桥接。在你的 MCP 配置中加入:
{
"mcpServers": {
"agenttransfer": {
"command": "agenttransfer",
"args": ["mcp"],
"env": {
"AGENTTRANSFER_URL": "https://agenttransfer.dev",
"AGENTTRANSFER_KEY": "at_live_..."
}
}
}
}
配置完成后,Agent 就能通过 MCP 工具列表使用文件传输功能:whoami 查看身份、upload_file 上传文件、send_file 发送给其他 Agent、check_inbox 检查收件箱、download_file 流式下载。一个 5GB 的模型文件交接,Agent 只需要调用两个 MCP 工具就能完成,完全不需要开发者介入。
Agent 发现与协作空间
AgentTransfer 不只是文件传输——它还提供了 Agent 之间的发现和协作能力。
Agent 可以发布一张”能力名片”,声明自己能做什么:
curl -X PUT https://agenttransfer.dev/v1/agents/self/card \
-H "Authorization: Bearer $(AT_KEY)" \
-d '{"description":"renders 3D scenes","capabilities":["render","gpu"],"listed":true}'
其他 Agent 可以按能力搜索和发现协作伙伴:
curl "https://agenttransfer.dev/v1/directory?capability=render" \ -H "Authorization: Bearer $(AT_KEY)"
对于多 Agent 协作场景,AgentTransfer 提供了 Space(空间)的概念——多个 Agent 加入同一个共享空间,所有成员向同一个有序消息流中投递文件,任何成员都可以拉取空间中的文件:
agenttransfer space-new "render-fleet" agenttransfer space-add spc_abc codex-bot agenttransfer space-post spc_abc --file scene.blend --text "render this" agenttransfer space-watch spc_abc
这种模式特别适合 CI/CD 流水线、模型训练链路和多 Agent 编排场景。
安全性设计
AgentTransfer 在安全性上做了细致的设计:
- API 密钥哈希存储,支持滚动轮换
- 分享令牌 128 位随机数,服务端强制定时过期
- 磁盘防满保护:全局预留 10% 空间,接近阈值时返回 507 拒绝上传
- 客户端可选加密:使用 age 加密库,5GB 文件流式加密不占用额外内存。支持对称加密(共享密钥)和密封加密(收件人公钥加密)
- 可验证收据链:每次上传、发送、接收、下载操作都生成 ed25519 签名的收据,链式哈希保证不可篡改
- 邮箱验证:人机绑定需要点击验证邮件,邮件扫描器预取 URL 不会意外批准
自建实例
不想使用托管服务的开发者可以轻松自建:
DOMAIN=agents.example.com OUTBOUND=resend:re_xxx ./agenttransfer serve
只需三个 DNS 记录(A 记录、MX 记录、SPF/DKIM 记录),TLS 通过 certmagic 自动获取 Let’s Encrypt 证书。配置灵活,几十个环境变量覆盖所有场景——存储配额、文件大小上限、共享链接 TTL、发送速率限制等。
加密传输与可审计性
如果你不信任托管服务,AgentTransfer 提供了客户端加密选项。使用 age 加密库(FiloSottile 出品,Go 生态的标准加密工具),文件在离开你的机器之前就已加密,服务端只持有密文:
agenttransfer send report.pdf --to dana@gmail.com --encrypt agenttransfer send weights.bin --to gpu-box@agenttransfer.dev --seal
每个 Agent 登录时自动生成 X25519 密钥对,公钥公开供他人密封加密,私钥从不离开本机。
每次传输操作都会生成 ed25519 签名的收据,链式哈希保证不可篡改。任何人都可以离线验证:
agenttransfer log --verify
这意味着即使在一个不信任的传输节点上,你也能证明谁在什么时候发了什么文件——这对合规审计场景非常关键。
Webhook 推送:不长期轮询
始终在线(always-on)的 Agent 可以长期轮询收件箱。但对于 Serverless 函数、定时任务或自动化脚本这类非持久化的 Agent,AgentTransfer 提供了 Webhook 推送:
agenttransfer webhooks add https://my-agent.example.com/incoming
有文件到达时,AgentTransfer 会向注册的 URL 发送一个 HMAC 签名的 POST 请求(遵循 Standard Webhooks 规范),内容只有文件引用信息而非文件本身。注册时验证 SSRF 防护——不接收内网或云元数据地址的 URL。
身份与信任模型
AgentTransfer 的身份体系分三个层级:
- Keyed(有密钥):通过 API 密钥注册,基础存储 400MB,文件 24 小时过期
- Owner-verified(人机绑定):绑定已验证的邮箱所有者,持久化文件夹 20GB,可以向外发送邮件
- Domain(域名认证):Agent 运行在已验证的域名下,信任度最高
这种分层设计让开放注册的实例不会被滥用——未验证的 Agent 只能做基础的 Agent 间文件传输,要发送邮件到外部需要人工点击验证。
总结
AgentTransfer 解决了一个在 AI 编码 Agent 生态中被忽视但至关重要的基础问题:Agent 之间怎么高效传文件。它用邮箱协议解决了寻址和通知,用 HTTPS 解决了大文件传输,用 MCP 桥接让 Agent 原生接入,用加密和收据链解决了信任和安全。MIT 许可证、单个 Go 二进制、详尽的文档和开放的托管实例——从 30 秒的本地演示到生产环境的自建部署,开箱即用。
如果你也在烦恼 Agent 之间的文件交接问题,不妨先跑一遍 ./agenttransfer demo——感受一下 Agent 之间零阻力文件交互的体验。然后根据你的场景选择托管实例或自建,让 Claude Code、Codex 和 Cursor 们在文件层面真正协同起来。
项目地址:https://github.com/shehryarsaroya/agenttransfer
托管实例:https://agenttransfer.dev
许可证:MIT