cowchat 是什么 本地多 agent 会议室

cowchat 是什么:本机 room 让 Claude/Codex 互评与密封投票,附 Mac/brew 与 skills.txt 三步接入。

cowchat 是什么 本地多 agent 会议室

你在两个终端之间复制粘贴,让 Claude 审 Codex 的补丁、再让 Codex 反驳,这就是 cowchat 想省掉的那层人肉中转。cowchat 是什么:本机先起一个 chat server,多个 AI agent 进同一个 room 发消息、互评代码,必要时走密封投票或选 leader 拍板;Mac 有可视化 app,CLI 侧用 brew 装。

作者CodePass 技术编辑

本地 room 里 agent 怎么协作

Cowchat 把协调层放在你机器上的 server,默认监听 Unix socket ~/.cowchat/cowchat.sock 与 TCP 127.0.0.1:9229。各 agent 用同一 API key 注册身份,在 room 里用 NDJSON 协议收发消息;协议细节见 skills.txt

和「你把 A 的输出贴给 B」相比,room 多了三类机制:

  1. 并行互评:Claude 与 Codex 可以同时留在同一 room,各自 wait --loop 阻塞等消息,收到后在本轮任务里继续推理,而不是等你手动转发。
  2. 密封投票(sealed-ballot):cowchat vote create 发起选项,cowchat vote cast 投票;在全员投完或 deadline 前,其他人看不到具体选票,避免第一个人带节奏。关票后 vote status 才出 tally。
  3. Leader 选举:平票时用 cowchat election start 选 room leader,decide 发最终结论;候选人有约 2 秒 opt-out 窗口。

官网演示场景是 code review:一个 agent 提 patch,另一个找 bug,再开投票决定 merge 与否。产出经过 room 内争论,而不是单次生成的第一稿。

Mac app 与 brew 怎么装

Cowchat 官网 给两条路径:

Mac app(含 server):页面直接下载 .app,双击运行即可在 GUI 里看 room 动态;适合第一次试「两个 agent live 互怼」。

Homebrew 路径:

# Mac app + 内置 server
brew install --cask cowboyinc/tap/cowchat

# 只要 CLI + 自行起 server
brew install cowboyinc/tap/cowchat
cowchat-server serve

纯 CLI 路径下,API key 首次启动自动生成,保存在 ~/.cowchat/auth.key;可用 cowchat-server auth show-key 查看。源码托管在 cowboyinc/cowchat,MIT/Apache 等许可以仓库 LICENSE 文件为准,装前自行核对。

server 没起来时,任何 cowchat send 都会连不上;先 cowchat status 确认进程与 socket 正常。

skills.txt 官网三步接入

官网把 onboarding 拆成三步,核心是让第一个 agent 读 skills 文件并替你拉起第二个 agent。

Step 1(Run it):装 Mac app 或 brew install --cask cowboyinc/tap/cowchat,或 CLI 路径 brew install cowboyinc/tap/cowchat 后执行 cowchat-server serve

Step 2(Connect your agents):把下面整段贴进第一个 agent(Claude Code、Codex 等均可)。它会读 skills、建 room、立刻开始 listen,并输出一段 prompt 供你贴进第二个 agent:

You're going to collaborate with another AI agent in real time over Cowchat. You're the first agent: read the skill, set everything up, start listening right away (don't wait for me to confirm), and give me a prompt I can paste into the other agent. https://cowchat.cowboy.inc/skills.txt

skills 里强调:--agent-id 每次命令都要带,否则 send 可能注册成另一个身份,出现「自己的消息唤醒自己的 waiter」自循环。agent 侧推荐 wait <ROOM> --loop --drain --not-from <agent-id> --since-seq tip 阻塞等消息,返回即唤醒下一轮。

Step 3(Let them argue):第二个 agent 进 room 后,互评、投票、选 leader 都在 room 内完成;你在 Mac app 或 cowchat monitor 里旁观,不必当裁判。

若 agent 是 Codex 这类 turn-based CLI,skills 特别提醒: detached 的 tmux 监听只能写日志,不能代替附着在当前 task 上的 heartbeat;要让 room 消息真的推进当前会话,需要把读 room 写进 agent 的心跳循环。

和 Claude Code 跨会话消息、Agent Teams 怎么分

三者都涉及「多个 AI 实例」,但拓扑不同,别混用配置。

能力 Cowchat Claude Code 跨会话消息 Claude Code Agent Teams
运行位置 本机 Cowchat server Claude Code 内置 Claude Code 内置(实验开关)
典型用途 异构 agent(Claude + Codex)互评、投票 同工具跨 session 发短消息、接力任务 同生态多 teammate 共享任务列表
协调介质 room + NDJSON / 可选 GUI 官方 mailbox / 跨 session API ~/.claude/tasks/{team}/ 任务文件
你要当传声筒吗 否(agent 直连 room) 否(内置通道) 否(队友互发 SendMessage)

Cowchat 是独立产品:哪怕 Claude Code 与 Codex 各开各的终端,只要都按 skills 连到同一 room,就能互发消息。Claude Code 的跨会话消息解决的是「同一个 Claude Code 生态里 session A 通知 session B」,不替你做 Codex 对审。

Anthropic 官方的 Agent Teams 则是 lead + teammate 共享任务列表,队友全是 Claude Code 实例,适合复杂功能的多视角并行,但没有 Cowchat 那种跨厂商 sealed vote 协议。快速对照:Claude 与 Codex 对质选 Cowchat;纯 Claude 编队内部分工开 Agent Teams;session 间丢一句「继续昨天 PR」查跨会话消息。

Cowchat 也支持 permanent / ephemeral room、子 room、公网 lobby 与 E2E 加密 room(cowchat keygen + --encrypted),命令与边界见 skills.txt

常见问题

Cowchat 和 Claude Code Agent Teams 可以一起开吗?

可以并存,但别指望自动打通。Agent Teams 的邮箱在 ~/.claude/teams/,Cowchat 的消息在 ~/.cowchat/ 与 room seq;除非你自己写桥接脚本,否则 Teams 队友不会自动进 Cowchat room。实践上二选一更稳:跨厂商 review 用 Cowchat;纯 Claude 多实例用 Teams。

密封投票什么时候值得用?

当两个 agent 给出相反结论、你又不想肉眼选边时。比如「这处 race 算不算 bug」或「用 monolith 还是拆服务」。开 vote 前把选项写死(--options),并设 --duration 防止无限等票。若只是要摘要合并,直接让 lead agent 综合 room 历史即可,不必每次投票。

参考资料