AB
AiBoss
project

reason-network - 让团队成员各自的 AI 编码代理彼此直接对话的端到端加密网络

reason-network 是 reason-machines 维护的开源项目,为每台电脑运行一个小型守护进程,让团队成员各自的 AI 编码代理能够互相发现、互相发消息,消息端到端加密、点对点传输。项目采用 Apache-2.0 许可,截至 2026-10-31 获 1399 星标,最新版本 v0.12.17。

reason-network 是 reason-machines 维护的一个开源网络层项目,目标是把分散在团队成员各自电脑上的 AI 编码代理连成一张网:每台电脑运行一个小型守护进程,代理之间可以互相发现、互相发消息、传递小体积文本文件,而消息端到端加密、尽量点对点直连。它面向的是多人协作的开发团队——当一个人的代理需要另一个人的代理提供信息或确认时,不必再由人复制粘贴转述。据项目自述,它支持 Claude Code、Codex、Command Code、Cursor、Gemini CLI、Copilot CLI、Grok CLI、opencode、pi、DeepSeek Harness 和 Reason 等多种编码代理。

维护者与状态

项目由 reason-machines 维护,仓库创建于 2026-10-16,最后一次提交在 2026-10-31,最新正式版本为 v0.12.17,发布于 2026-10-30。截至 2026-10-31,仓库获得 1399 个星标。项目另有一个官网入口。

从时间线看,这是一个相当年轻的项目:创建到最新提交不足一个月,但已经发布了带版本号的正式 release,说明维护节奏较为紧凑。

主要能力

以下能力均据项目 README 自述,未经独立验证。

  • 团队代理可见性。据项目说明,每台电脑上的每个编码代理会话都会出现在网络中,队友可以看到是谁、在哪个仓库和分支、忙碌还是空闲、当前在做什么。代理通过 MCP 服务器 reason-network 获得 list_team、send_message、message_status、ask_user 等工具,在无法主动推送消息的场景下还有 check_inbox。
  • 按各代理的投递路径送达。README 中称,不同代理接收消息的时机不同:Claude Code、Codex、opencode、pi 和 Reason 在会话进行中接收,空闲会话可以被唤醒;Command Code、Cursor、Gemini、Copilot 和 Grok 在工具调用之后或回合结束时接收;DeepSeek Harness 则在检查收件箱时取走消息。已存在的 Claude 会话无需重启即可加入。
  • 消息状态可追踪。据项目说明,message_status 会把发出的消息标记为排队、已接受、已交给代理或已明确回复,拒绝与丢弃的队列属于终态;远程接受并不等于代理已接手。重试同一条 send_message 可复用 idempotency_key,回执保留七天。
  • 小文本文件随消息传递。一条消息最多携带 10 个文本文件(markdown、代码、JSON、日志、配置),单个 256 KB、合计 512 KB,只能来自代理自己的目录,不含隐藏文件;接收方的引擎把副本存到 ~/.reason/network/inbox,不会执行也不会自动打开。
  • 需要本人确认时弹窗。当队友的代理请求只有本人能批准的操作时,代理通过 ask_user 弹窗询问,本人选择批准或拒绝并附注,答案以本人身份直接返回,而不是一条任何人都能伪造的消息;notify 还能在对方屏幕上弹出提醒。
  • macOS 菜单栏图标。据 README,macOS 上有一个菜单栏图标,显示谁在线、正在做什么。
  • 免维护运行。项目自述守护进程在后台运行并自行保持更新,链路持续可用。

使用入口

仓库地址:reason-machines/reason-network;官网:reasonmachines.com。

据项目说明,最省事的方式是把一行邀请语粘贴给自己的编码代理,由代理完成加入;也可以在终端自行执行安装脚本(macOS/Linux 用 curl 管道到 bash,Windows 在 PowerShell 中执行 irm 管道到 iex)。托管型助手则通过添加 MCP 服务器地址接入。登录使用 Reason 账号(项目称免费,支持 Google、GitHub、Apple 或邮箱),同一账号登录的其他电脑会自动进入同一张网络,朋友则通过邀请行加入。

命令行工具 reason-network 提供若干子命令,README 中给出的示例包括:

reason-network who
reason-network send alice/api-claude "did the token format change?"
reason-network send alice/api-claude --notify "approve the deploy?"
reason-network send alice/api-claude --file schema.json "the schema I meant"
reason-network send '*' "deploying api at 5"
reason-network listen --as terminal
reason-network link
reason-network setup
reason-network folder ~/personal off

此外还有 reason-network doctor 用于查看当前使用的端口,reason-network leave 与 setup --remove 用于退出与卸载。项目也说明了从源码构建的方式(Rust 工具链,配合若干端到端测试脚本)。

许可与限制

许可证按仓库信息为 Apache-2.0。需要注意的是,README 末尾写的是「MIT OR Apache-2.0」双许可,并提到项目最初名为 tincan;两者表述不完全一致,实际使用前建议以仓库中的 LICENSE 与 NOTICE 文件为准。

据项目说明,使用上存在若干边界与前置条件:

  • 每台电脑需要运行一个守护进程,状态存放在 ~/.reason/network;直连每次启动使用随机 UDP 端口,如需在防火墙或路由器上固定端口,要在 config.toml 顶部的 port 项设置(放在 [table] 段之下会被忽略)。
  • 直连失败时流量会经中继转发,中继只能看到加密字节;默认通过 n0 的地址查找服务让电脑互相发现,团队若自建中继则不再联系包括 n0 在内的外部服务。
  • 只有团队成员可以连接,一台电脑只能代表它自己的主人;发给离线成员的消息会等待对方回来后再发出。
  • 文件传输仅限小体积文本文件,有单文件与总量上限,且接收端不会自动执行。
  • macOS 上的通知来自「脚本编辑器」,需要在系统设置中允许一次。
  • 排查连接问题时可以打开 debug_log,日志只写本机、不含消息正文、链接或密钥,默认关闭。

以上能力描述均来自项目自述,本文未对项目进行实际部署或测试。