A local, in-memory text mailbox for two running AI agents.
Agent Mailbox
把两个正在运行的 AI Agent 接到同一个本机文本信箱。一边写完,另一边读取;用户看着双方的文字,也可以暂停、补充要求或结束。
它不运行模型。Cursor、Codex 或其他能执行命令的 Agent 继续用自己的工具,通过应用自带的原生收发工具传递 UTF-8 文本,无需安装 Python。消息留在应用进程的内存里,退出后消失,不写入磁盘。
源代码:github.com/xuwupeng2000/agent-mailbox
双击运行,无需 Python
Agent Mailbox 是完整的 Mac 应用。打开 Agent Mailbox.app,填写任务,将界面生成的接入说明分别交给两个 Agent,再开始对话。收发工具已随应用打包,不需要用户手动运行脚本。
- 双击应用,确认端口已打开。
- 填写参与者名称、共同任务和轮数。
- 把两份接入说明分别发给正在运行的 Agent,点击开始。
- 从帽子菜单查看记录,按需暂停、补充或结束。
从源码构建并运行
bash scripts/build-macos.sh open "dist/Agent Mailbox.app"
生成的应用和原生收发工具放在同一个 .app 中,压缩包在 dist/Agent-Mailbox-0.1.0-macOS-universal.zip。下载包的签名与 Apple 公证状态请看发行说明。
环境要求
- 使用:macOS 14+;通用版本同时支持 Apple Silicon 和 Intel。
- 协作:两个正在运行且允许执行本机命令的 Agent;默认端口
127.0.0.1:9777可用。 - 构建:完整 Xcode、Swift 工具链和 macOS SDK;已在 Xcode 27.0 验证。普通用户无需安装这些工具。
- 运行与构建均不需要 Python、pip、Node.js、Docker 或数据库。Agent 自身的模型、账号和网络由各自软件提供。
程序坞和菜单栏
Mac 应用放在程序坞里,运行时菜单栏也有一枚帽子标记。下面两张是 2026-10-26 从这台 Mac 的实际界面截取的,不是图标源文件。
打开之后
Mac 应用监听 127.0.0.1:9777。窗口左右各一张卡片,对应两位参与者。还没有人写信时,卡片保持空白。
一位 Agent 开始读取
Agent 执行一次阻塞的 wait。队列里还没有新消息时,它的卡片出现橙色提示,名字来自它自己的 --as。对方 write 之后,这条等待才会拿到完整正文。等待期间不调用模型。
两边都写完
每条消息以 <<<END>>> 结束。写完的正文出现在对应卡片上,另一位 Agent 用 wait 取走发给自己的那一条。
按轮查看记录
「查看两人对话」打开记录。每一轮有分隔线,方便回头找某一段。记录里也可以按关键词搜索;搜索只过滤显示,不改信箱里的内容。
用户能做的事
- 展开「发起双 Agent 对话」,填写两位不同的名称、共同任务和 1–20 轮。A 先发言,双方各回复一次算一轮。
- 暂停后续投递,或把补充要求送给下一位发言者。已经交给 Agent 的文字不能撤回。
- 结束时,两位 Agent 各自向
user报告自己完成的动作;两份报告都到齐后会话停止。 - 关掉主窗口后,Mac 应用仍留在菜单栏并继续听端口。
Agent 怎么接入
用户只需分享界面生成的接入说明。说明会包含当前应用内原生工具的完整路径,Agent 可从任意目录执行,无需 Python 或仓库副本。移动应用后请重新生成说明。
"/Applications/Agent Mailbox.app/Contents/MacOS/mailbox" wait --as cursor --timeout 30
这条命令由 Agent 执行,不是用户启动应用的步骤。受控会话回复保留收到的 SESSION;完整规则在应用内的 Contents/Resources/AGENT_README.md。普通聊天留在原聊天窗口,只把用户明确分发的协作任务送入信箱。
沟通路径
用户分发任务 → 应用内存队列 → Agent A 读取并回复 → 应用校验会话与轮次 → Agent B 读取并回复 → 达到轮数后双方报告 actions。
等待连接本身不调用模型;读取与生成回复仍由各 Agent 平台计费。软件不会自动启动模型或唤醒已停止的聊天。
这组截图说明了什么
这组是历史截图,其中可能出现旧版 Python 接入文字;当前使用上面的原生工具和应用生成的接入说明。
窗口、程序坞和菜单栏都是 2026-10-26 从这台 Mac 上正在运行的 Agent Mailbox 截取的,不是设计稿。
这些图说明窗口布局、端口状态、读取提示、左右分栏、结束标记、按轮分开的记录,以及当时程序坞和菜单栏上的法师帽。从菜单栏重新打开窗口、切换菜单栏明暗、切换界面语言和搜索高亮没有出现在这组图里,因此这里不把那些项目记成已经看过。