2026年7月15日 2 分钟阅读

AI Agent 之间如何传文件?AgentTransfer 给每个 Agent 一个专用文件收发通道

tinyash 0 条评论

问题:Agent 之间的文件传输,比想象中复杂得多

当你用 Claude Code 写完代码、Codex 跑完训练、Pi 完成推理——这些 Agent 各自产出了结果文件,但想让它们之间互相传递文件时,你会发现现有的工具几乎都不好用:

  • 邮件附件:Agent 没有邮箱,即使有也要人工配置 SMTP/IMAP
  • S3 预签名链接:要额外管理密钥、过期时间、权限,整套操作假设你是人类管理员
  • scp/rsync:需要双方互信 SSH 密钥和网络可达性,Agent 之间往往是隔离的
  • MCP 内联文件内容:文件直接塞进模型上下文窗口,大文件就超出 token 限制了

这些方案每一套都假设有人在中间协调——要么是你在命令行粘贴链接,要么是你在 Slack 上喊对方接收。但 Agent 应该是自主工作的,它们不应该等人来帮忙传文件。

AgentTransfer:给每个 Agent 一个身份 + 一个收件箱

AgentTransfer(MIT 许可证,Go 语言,GitHub 44⭐)做了一个很直接的抽象:每个 Agent 注册后得到一个邮箱地址、一个专用文件夹、一个收件箱和一把 API 密钥。这就够了。

┌──────────────┐   upload    ┌───────────────────────┐    inbox offer     ┌──────────────┐
│   Agent A    │ ──────────► │   AgentTransfer       │ ────────────────► │   Agent B    │
└──────────────┘             │   Instance            │                    └──────────────┘
                             │                       │ ◄───────────────────┘
                             │   folder · links      │   HTTPS download
                             │   receipts · apps     │   + sha256 verify
                             └───────────────────────┘

核心思路是:文件传输不只是存储问题,而是身份 + 投递 + 收据的组合。AgentTransfer 用一个 Go 二进制就包含了服务端、CLI 和 MCP 桥接器。

30 秒跑起来:本地验证完整流程

不需要注册账号,不需要配网络,clone 下来就能跑端到端演示:

git clone https://github.com/shehryarsaroya/agenttransfer
cd agenttransfer && go build -o agenttransfer .

./agenttransfer demo

demo 命令会在本地创建两个 Agent(alice 和 bob),传一个 1 MiB 文件,双向验证 SHA256 哈希,最后验证 ED25519 签名收据。全部在本地完成,不需要网络。

如果要运行真正的实例:

./agenttransfer serve  # API + MCP 在 :8080 启动,首次启动打印管理员令牌

Agent 自己注册:四步完成文件交换

AgentTransfer 的一个关键设计是 Agent 可以自主注册——不需要人工审批。以下是在公开实例 agenttransfer.dev 上的完整流程:

1. 自注册

Agent 选个名字,调一次 API 就拿到身份:

curl -X POST https://agenttransfer.dev/v1/agents \
  -d '{"name":"openclaw-dev"}'

返回结果包含邮箱(openclaw-dev@agenttransfer.dev)、API 密钥和初始配额(400 MB 可达空间)。密钥只显示一次。

2. 上传文件

curl -T ./weights.tar.gz "https://agenttransfer.dev/v1/files/weights.tar.gz" \
  -H "Authorization: Bearer "$AGENT_KEY""

3. 发送给另一个 Agent

通过收件箱投递,不需要邮件系统参与:

curl -X POST https://agenttransfer.dev/v1/send \
  -H "Authorization: Bearer "$AGENT_KEY"" \
  -d '{"to":["codex-bot@agenttransfer.dev"],"file":"weights.tar.gz","note":"训练集 v3"}'

4. 接收方拉取

对方轮询收件箱、下载文件、校验哈希:

curl "https://agenttransfer.dev/v1/inbox/wait?timeout=60" -H "Authorization: Bearer "$AGENT_KEY""
curl -L "?dl=1" -o weights.tar.gz && shasum -a 256 weights.tar.gz

MCP 桥接:直接集成到 Claude Code 和 Codex

AgentTransfer 内置了一个 MCP 服务器,这样你的 Agent 不需要通过 curl 手动操作——MCP 协议让它直接拥有文件上传、发送、收件箱查询的能力。

./agenttransfer mcp --host agenttransfer.dev --key "$AGENT_KEY"

MCP 桥接器作为一个独立进程运行,Agent(Claude Code、Codex 等)通过 MCP 协议与之通信。文件上传后,MCP 返回的是元数据(哈希、大小、链接),文件本身不会进入模型上下文——这是与内联 MCP 文件工具的关键区别。

信任层级:从免验证 App 到邮件验证生产环境

AgentTransfer 的信任模型是分层的,从低信任到高信任逐步解锁:

层级要求容量功能
第 0 级公开注册400 MB/24h 过期上传、发送、收件箱、发现同伴
第 1 级邮件验证20 GB/5 GB 单文件持久文件夹、外发邮件、静态站点
第 2 级管理员启用可配置App 托管(容器)

每个上传文件都会生成一个 ED25519 签名收据——谁传的、传给谁、文件哈希是什么,全部可独立验证。运营者可以导出整个实例的哈希链并发布公钥供外部验证。

自部署:一个二进制

export STORAGE_DIR=/data/agenttransfer
export JWT_SECRET=$(openssl rand -hex 32)

./agenttransfer serve

自部署支持 SQLite 和 PostgreSQL 后端。公开 URL 需要一个域名或隧道(如 ngrok)。邮件集成需要配置 SMTP。完整的 Docker Compose 示例在项目的 docs/self-hosting.md

安全模型

AgentTransfer 把安全放在设计核心而非事后补丁:

  • 文件流式传输,不在服务端或上下文中缓存完整文件
  • 每个请求签名,所有 API 调用需要 Authorization: Bearer
  • ED25519 收据链,单文件签名 → 实例全局哈希链,可独立验证
  • 最小化 Docker 权限,App 运行器作为独立进程运行,不从公共服务端暴露 Docker socket
  • 可选客户端加密,上传前用 AES-256-GCM 加密敏感文件

适用场景

  • 多 Agent 协作:Claude Code 产出的代码传给 Codex 做测试,再发给 Pi 做审查
  • CI/CD 管线:构建 Agent 产出二进制,传给部署 Agent 发布
  • 数据管道:爬虫 Agent 收集数据,传给分析 Agent 处理
  • 跨团队共享:不同项目组之间的 Agent 通过公开实例交换文件

总结

AgentTransfer 解决的痛点很明确:现有文件传输工具都是为人类设计的,不适合 Agent 自主工作。它给每个 Agent 一个明确身份(邮箱地址),用收件箱取代了人工中转,同时签名收据提供了可审计性。MIT 许可证、单二进制部署、MCP 集成,这些特性让它可以快速融入现有的 Agent 工作流。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。