Postbag

让 Claude Code 与 Codex 通过各自原生输入互写信件,无需在两个窗口间复制粘贴。

Star 数
★ 11
最近更新
23 天前
License
MIT
主语言
Python

30 秒速览

可在哪里用
兼容但需适配Codex · Claude Code
开始前需要
Python 3.10+Claude Code带 `codex queue` 的 Codex CLIpipxShell / 命令行本地文件系统MCP Server
典型场景
Claude Code 改完一段代码后,直接请 Codex 审查 diff,再决定是否提交。
主要局限
投递只在 macOS 上测试过,其他平台属于未验证状态。

这个 Agent 能做什么,适合哪些场景?

Postbag 是一个本地 MCP 服务器,把 Codex 和 Claude Code 两个编码代理会话接入同一个"袋子"(bag,即命名对话),让它们互发信件。安装后通过 postbag-mcp 同时注册到 Claude Code 和 Codex,每个会话拿到五个工具:postbag_join、postbag_send、postbag_read、postbag_bags、postbag_leave。信件通过收件方自己的原生输入变成一个新的回合,不需要常驻守护进程、轮询或钩子。每个袋子在本地保存一份共享日志,任意一方都能用 postbag_read 翻查历史。核心逻辑基于 Python 标准库,仓库亦提供 CLI 与 MCP 两种入口。投递在 macOS 上经过测试,两个会话需在同一台机器、同一版本下运行。

代理通过 MCP 调用 postbag_join 以自己的名字加入某个袋子(不存在则创建);随后用 postbag_send 给袋中某个名字发信,final: true 表示最后一封、不要求回复。每条信件结尾都写明如何回复或声明无需回复,因此对方无需额外提示即可继续。收件方会话在自己的原生输入里收到信件,成为新的回合;发件成功仅确认"已提交并记录",并不证明对方已接收、阅读或执行。postbag_read 可分页浏览袋子的历史,postbag_bags 列出本地袋子及信件数和已注册名字,postbag_leave 让当前会话退出但保留历史。账本存放在 ~/.postbag/,其中包含 Claude Code 的收件 token,新文件权限为 0600。

  1. Claude Code 改完一段代码后,直接请 Codex 审查 diff,再决定是否提交。
  2. 需要分工时,让 Codex 写测试、Claude Code 写实现,两边通过信件对齐接口。
  3. 某个代理卡在 bug 上时,请另一个代理从零开始读一遍代码给出第二意见。
  4. 在同一仓库同时开着两个会话的开发者,希望省去手动复制粘贴上下文的步骤。
  5. 想保留一段可回溯的多代理讨论记录,之后用 postbag_read 翻查。

如何安装或部署这个 Agent?

需要 Python 3.10+、Claude Code,以及支持 codex queue 的较新 Codex CLI。两个会话须在同一台机器上运行相同版本的 postbag。

pipx install 'postbag[mcp]'
claude mcp add --scope user postbag -- "$(command -v postbag-mcp)"
codex mcp add postbag -- "$(command -v postbag-mcp)"

在两个应用中各开一个新会话,运行 /mcp,应能看到五个工具。使用 uvx 等其他方式时参考仓库的 MCP setup 文档。

如何使用这个 Agent?

先在同一仓库中打开 Codex 和 Claude Code,让双方看到同一份代码。

在 Codex 中:

Join postbag bag "review" as codex.

在 Claude Code 中:

Join postbag bag "review" as claude, then ask codex to review my last commit.

Codex 先加入,这样 Claude Code 才有人可写。提示时批准 postbag 的工具。请求会作为新回合出现在 Codex 中,回复以同样方式回到 Claude Code;任一方都可以用 final: true 结束对话。

这个 Agent 有哪些优点和局限?

优点
  • 投递走收件方自身的原生输入,不需要额外守护进程、轮询或钩子。
  • 核心基于 Python 标准库,安装面小,一条 pipx 命令即可。
  • 同时提供 CLI 与 MCP 两种入口,工具集精简(五个)且语义清晰。
  • 每条信件自带回复方式或"无需回复"标记,减少了设置提示的成本。
  • 共享日志可回溯,任一方都能用 postbag_read 查历史。
局限
  • 投递只在 macOS 上测试过,其他平台属于未验证状态。
  • 依赖 Codex CLI 的 codex queue 特性,对版本有明确要求。
  • 两个会话必须同机、同版本,无法跨机器协作。
  • 发送成功只代表已提交并记录,不保证对方接收或执行。
  • 账本含 Claude Code 收件 token,需要自行防止提交或分享。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Postbag 当前 60 · 存在缺口 — ★ 11 23 天前 Python Codex · Claude Code
AgentBridge 61 · 存在缺口 命令行工具免费 + 模型费 ★ 414 今天 TypeScript Codex · Claude Code
RepoBrain 代码库智能问答引擎 49 · 缺口较多 Agent 插件 / 技能免费 + 模型费 ★ 1.4k 11 天前 Python Codex · Claude Code
SkillKit — AI Agent 技能包管理器 40 · 缺口较多 命令行工具免费 + 模型费 ★ 1.6k 4 个月前 TypeScript ChatGPT · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
60/ 100 五分制 3.0 / 5
信任安全 14/29
可靠稳定 11/14
适用触发 10/18
规范维护 11/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全14 / 29 · 2.4/5

最小权限:核心仅用标准库、无守护进程,写入限定在 ~/.postbag 与显式路径,新文件 0600、目录 0700,且拒绝非普通文件与不可打印路径,属合理但非最小化到极致(仍会向对端会话注入新回合)。用户确认:README 明确说明无信件上限,需宿主自行配置每次 postbag_send 前确认,默认不强制确认,故仅 1 分。数据流透明:README 与测试清晰描述信件经对端原生输入投递、回执不代表已读,透明度较好。敏感数据处理:README 明确 ledger 含 Claude Code inbox token、0600、勿提交,测试覆盖权限位,但 token 明文落盘无加密,扣分。依赖安全:核心零依赖,mcp 可选且版本约束 mcp>=2.2,<3,CI 固定 action SHA,较好。外部影响:发送即向另一会话注入回合,属不可撤回的外部副作用,仅靠 final 与提示约束,回滚能力弱。回滚:无撤销已投递信件的机制,仅历史保留,扣分。来源归属:MIT 与作者署名清晰,但发布者身份未经 FollowAgents 验证,属未知而非可疑,仅给 1 分。

可靠稳定11 / 14 · 3.9/5

自一致性:测试覆盖选择器优先级、缺失 bag 不隐式创建、并发创建竞态、legacy ledger 兼容,行为与文档一致,较好。依赖可用性:requires-python>=3.10,核心无第三方依赖,mcp 可选,CI 多版本多 OS 矩阵,较好。失败信息:错误信息统一带 bag 名、恢复命令与 'stop and ask the human',测试逐字断言,处理充分,给 3 分。

适用触发10 / 18 · 2.8/5

受众与场景:面向开发者跨 Claude Code/Codex 协作评审,场景明确。能力边界:README 明确投递不证明接收方已读、模型指引非安全边界,边界清晰。触发精度:工具表与 join/send/read 语义明确,final 语义有测试。环境适配:README 称投递仅在 macOS 测试,需 codex queue 与特定 CLI 版本,跨平台适配证据有限,扣分。

规范维护11 / 18 · 3.1/5

信息架构:README 结构清晰,含安装、快速开始、工具表、安全。安装说明:pipx 与 claude/codex mcp add 命令具体,另有 llms-install.md 指引。命名稳定:工具名与 CLI 动词稳定并有测试。示例与 FAQ:有快速开始与演示 GIF,但无独立 FAQ,扣分。已知限制:README 明确无信件上限、投递不保证已读、仅 macOS 测试。许可证:MIT 全文与 pyproject 一致,给 3 分。版本与变更:有 CHANGELOG 与 release 流程校验 tag 与版本一致,但 CHANGELOG 正文未在证据中,给 2 分。维护责任:单一作者、发布者未验证,无治理说明,扣分。

有效结果9 / 13 · 3.5/5

输出可用性:回执格式明确、含 bag 与未确认提示,read 分页与 final 标记清晰。边际价值:解决跨会话复制粘贴痛点,价值真实但依赖两 agent 同时在线。成本收益:零依赖、pipx 安装轻量,但需双会话与手动确认配置,收益中等。

证据核验5 / 8 · 3.1/5

声明可追溯:README 声明与测试、CI 步骤对应,如 0600 权限、final 语义均有测试。跨源印证:README、pyproject、CI、测试相互印证版本与行为。事实与推断分离:README 明确区分'提交成功'与'接收方已读',未夸大。但发布者身份与 PyPI 实际状态无法静态核实,整体置信度低。

风险与缓解建议
  • 默认不强制每次发送前确认,且无信件上限,可能产生大量跨会话注入;需在宿主配置确认。
  • ledger 明文保存 Claude Code inbox token,务必保持 0600 且勿提交或分享。
  • 投递成功不等于对端已读或执行,勿据此推断任务完成。
  • 投递仅在 macOS 测试,Linux/其他平台与特定 codex queue 版本兼容性未充分验证。
  • 发布者身份未经 FollowAgents 验证,安装前应自行核对来源与 PyPI 包。
证据充分度:低 评估于 2026年10月26日 审查版本 374b59255c5f
查看完整评分方法 →

常见问题

需要付费吗?
Postbag 本身是 MIT 许可的开源软件,不收费;但它协调的两个编码代理各自需要你已有的 Claude Code 与 Codex 访问权限,相关费用由这些服务决定。
两个代理可以不在同一台机器上吗?
不行。README 要求两个会话在同一台机器上、使用相同版本的 postbag,袋子也是本地存放的。
"发送成功"是否意味着对方已经回复或采纳?
不代表。成功只确认提交并记录了信件;回执和日志都不能证明收件方已接收、阅读或按信件行动。
能不能防止代理滥用发送?
Postbag 本身没有信件数量上限。若想对每次 postbag_send 都做确认,需要在宿主机上配置逐次询问。内置的"请保持在人类授权范围内"只是模型提示,不构成安全边界。
Windows 上能用吗?
文档只说明投递在 macOS 上经过测试,没有声明支持其他操作系统。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents