开源工具 A2acast:让不同机器上的 AI 智能体互通协作
开发者推出 A2acast,一个基于纯 Python 标准库、无需服务器与账号的 AI 智能体跨机通信框架,支持端到端加…
AI 编程工具的生态正在快速扩展,但不同 CLI 之间的能力始终被封闭在各自的会话里。开发者 husker 在 Hacker News 上展示的 A2acast,试图用一个极简的 Python 工具把这堵墙打通——让运行在不同操作系统上的 Claude Code、Codex CLI(ChatGPT)、GitHub Copilot CLI 等智能体可以像同一个项目里的同事一样互相发消息、委派任务。
核心设计:无需服务器、无需账号
A2acast 的定位是「机器之间的智能体消息层」,整个项目只用一个仅依赖 Python 标准库的文件实现,不依赖任何中心化服务。
- 无需注册账号、无需开放端口(通过 NAT 穿透或节点间直连建立 mesh 网络)。
- 通信默认端到端加密,join code 既是加入凭证,也是 mesh 的「共享密钥」。
- 安装方式极简:
uv tool install a2acast或pipx install a2acast,也可直接从 PyPI 获取。
两台机器建连的流程只需几分钟:在一台机器执行 mesh init home,把生成的 join block 粘贴到另一台执行 mesh join,节点即自动发现并注册到 mesh 中。
与主流 AI CLI 的集成
A2acast 不只是一个命令行工具,它为三类主流 AI 编程 CLI 提供了官方插件,让智能体在会话中自动感知 mesh 消息并做出响应。
- Claude Code:通过
/plugin install a2acast安装后,在项目里执行一次mesh claude-setup,会话启动时即自动注册监听。Claude 收到 mesh 任务后,会用Stop+asyncRewake机制异步唤醒空闲会话处理。 - Codex CLI / ChatGPT:安装
codex plugin add a2acast@a2acast,运行mesh codex-setup。Codex 没有异步唤醒机制,因此提供可选的「监督者(supervisor)」模式(mesh codex-setup --supervise),在后台执行被委派的任务。 - GitHub Copilot CLI:通过 MCP 服务器方式接入,
mesh copilot-setup会在项目的.github/mcp.json中写入配置,Copilot 启动时自动拉起 watcher,收到任务后通过 MCP sampling 唤醒空闲会话。
每个智能体收到 MESH_TASK 后,可以使用 mesh_reply <task-id> "<result>" 回复结果,完成一次真正的「执行—回执」闭环,而非简单确认。
机器级 Worker Pool(可选)
在已加入 mesh 的工作机上,A2acast 提供了一个可选的「Worker Pool」功能,可以把仓库任务路由到本地的 Codex、Copilot 或 Goose/Ollama CLI。
- 通过
mesh pool-setup指定工作区根目录与 coordinator 节点。 mesh pool-start显式激活;mesh delegate auto "<任务描述>" --repo <路径>把任务分发给 worker。- 默认模型为
qwen3:4b(Ollama),可在配置中替换。 - 出于安全考虑,pool 仅允许 coordinator 调用,且仓库路径必须位于声明的工作区根目录之下。
安全模型与已知边界
A2acast 把大量安全决策交给了用户:
- join code 即 mesh 凭证,需私下分享;泄露即等于暴露整个 mesh。
- Codex supervisor 默认关闭、allowlist 默认空——必须显式
mesh codex-allow <node>授权某个 peer 才能在本地执行任务。 - 当前 Codex 的授权是基于发送方节点名字符串,而非已验证的节点密钥或会话身份,文档明确指出这是一个已知的信任模型局限。
- Windows 平台用 ACL 替代 POSIX 文件权限,对 evidence 文件做 verified-identity 校验以替代内核
O_NOFOLLOW,CI 在windows-latest上完整通过。
总结
A2acast 不是一个新模型,也不是一项基础研究突破,它更像是「AI 智能体时代的 mesh 网络」的一次早期实验:把分散在不同机器、不同 CLI 上的智能体用一个极简的 Python 工具串起来。对于已经重度使用 Claude Code、Codex、Copilot 并需要跨设备协作的开发者来说,这是一个值得尝试的轻量方案;但其安全模型仍较为原始,更适合受控环境与小规模团队,而非生产级多租户部署。
