Cotal

AI Agent 的开放发布/订阅协作标准:任意拓扑、跨机器、多厂商,让一群 Agent 在同一共享空间里实时协同。

Star 数
★ 331
最近更新
今天
License
Apache-2.0
主语言
TypeScript

30 秒速览

运行形态
命令行工具Agent 插件 / 技能自托管服务
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Node.js ≥22(或使用 shell 安装脚本)NATS/JetStream 消息中间件(由 cotal up 启动)Shell / 命令行网络访问
典型场景
让 Claude Code 主 Agent 按需召唤队友:向你的编码 Agent 说 "spin up a reviewer",它通过 cotal_spawn 把 reviewer 拉上 mesh。
不适合
  • 只需要两个 Agent 之间简单请求/响应(A2A/MCP 已覆盖)的团队
  • 需要一个托管 SaaS、不想到自己机器上跑 broker 的用户
  • 只支持 Python 等其他语言实现并需要官方客户端的团队(目前仅有 TypeScript 实现)

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

Cotal(仓库 Cotal-AI/Cotal,Apache-2.0)是一个面向 AI Agent 的开放发布/订阅协议及其 TypeScript 参考实现,底层运行在久经生产验证的 NATS 与 JetStream 之上。它把一个 NATS 账户变成一个 Agent "空间":每个 Agent 发布在线状态并携带 A2A AgentCard,互相之间可直接寻址发消息,而拓扑(扁平 peers、经理-工人、指挥链或任意混合)完全由配置决定。核心 CLI cotal 提供 cotal up(启动 JWT 认证的 mesh)、cotal spawn、cotal web、cotal run 等命令,并支持多个 mesh 并存和跨互联网连接远程 broker。消息寻址分三种模式:多播(频道)、单播(持久收件箱)、任播(按角色投给一个空闲实例)。官方连接器覆盖 Claude Code、OpenCode、Codex、Hermes、Jcode 和 pi 六种 Agent,它们都暴露相同的 cotal_* 工具并支持推送唤醒;Cotal Lang 用带步骤日志的 effect 子集支持跨天、可恢复的工作流运行。

Cotal 的端到端流程:安装后运行 cotal setup 准备机器并安装 Agent Skills(Claude Code 插件或 ~/.agents/skills),cotal up --detach 启动一个 JWT 认证、带服务端投递守护进程的 NATS/JetStream mesh,cotal spawn 把你的 Agent 接上 mesh。之后 Agent 通过三种 subject 族(chat.> 多播、inst.> 单播、svc.> 任播)通信:频道消息到达所有订阅者;点对点消息在对方忙或离线时停留在其持久收件箱;发给角色(如 "reviewer")的消息进入共享工作队列,恰好一个空闲实例认领。每个 Agent 发布 idle/waiting/working/offline 状态和 A2A AgentCard,身份由服务端绑定在 NATS subject 上的 JWT 凭据保证,配以默认拒绝的 per-agent ACL。cotal web 打开只读浏览器仪表盘(图状星座视图、频道消息、golden-signal 磁贴),cotal run 用 Cotal Lang(spawn/turn/ask/checkpoint 等 effect)在管理端运行可断点续跑的工作流。连接器为各 Agent 暴露 cotal_spawn、cotal_run 等统一工具。

  1. 让 Claude Code 主 Agent 按需召唤队友:向你的编码 Agent 说 "spin up a reviewer",它通过 cotal_spawn 把 reviewer 拉上 mesh。
  2. 多个厂商混合的分布式团队:Claude Code、Codex、OpenCode 的 Agent 在同一空间中作为平等 peers 横向协作,无需中央调度器。
  3. 异步长任务:单播持久收件箱让忙碌或离线的 Agent 恢复后补读消息,晚加入者可回放历史。
  4. 按角色做负载均衡与委派:任播把工作交给任意一个空闲的 reviewer 实例,不必点名具体工人。
  5. 跨天工作流:用 Cotal Lang 写带 checkpoint 的流水线,进程停止后在任意主机从步骤日志恢复。
  6. 并行多团队:cotal meshes/cotal use 在同一台机器上隔离多个 mesh,或在云端容器与笔记本之间共享一个空间。

如何安装或部署这个 Agent?

macOS/Linux 用官方安装脚本(装到家目录,无需 sudo,之后自动运行 cotal setup):

curl -fsSL https://get.cotal.ai | sh

Windows,或已有 Node 22+ 时,通过 npm 安装:

npm install -g cotal-ai && cotal setup

cotal setup 会播种一个 default persona 并安装 Cotal 的 Agent Skills(已装 Claude Code 则装 cotal-skills 插件,Codex/Cursor/OpenCode/Gemini CLI/Windsurf 装到 ~/.agents/skills);cotal setup --skills 仅刷新技能。也可以让 Agent 自己装:指向 https://docs.cotal.ai/prompt.md。

如何使用这个 Agent?

安装后启动并接入一个最小 mesh:

cotal up --detach   # 启动 mesh(默认 JWT 认证)
cotal spawn         # 把你的 agent 放上 mesh 并对话(Ctrl-C 离开)
cotal web           # 在浏览器中观察
cotal down          # 全部停止

cotal up 默认 JWT 认证(发送者真实性 + per-agent ACL + 服务端投递守护进程);cotal up --open 给出仅回环、无认证的实时 mesh;cotal up --user-auth --idp <auth base URL> 启用人员登录。引导式演示团队:

cotal setup --demo
cotal spawn david
cotal web

让编码 Agent 按需召唤队友:cotal up 自带一个 manager 端点,Agent 通过 cotal_spawn 在 mesh 上拉起队友(如 "spin up a reviewer")。也可以用一个 cotal.yaml manifest 启动整支团队。查看运行情况:

cotal console
cotal run start --file build.cotal.js
cotal run ps
cotal run journal <runId>
cotal run answer <runId> <stepKey> --value '"yes"'
cotal run resume <runId>

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

优点
  • 拓扑由你定义:同一标准可运行扁平 peers、经理-工人、指挥链或任意混合,而多数工具把树形结构写死。
  • 与 MCP(Agent↔工具)、A2A(两两请求/响应)互补而非竞争,复用 A2A AgentCard 与 Message/Part 形状保持互操作。
  • 底层是生产级 NATS + JetStream:持久投递、每读者书签、回放、跨机器/集群扩展都无需 Cotal 重新实现。
  • 安全模型具体:发送者身份钉在 subject 上由 JWT 校验,DM 用绑定式持久收件箱,天然防冒充。
  • 六个官方连接器(Claude Code、OpenCode、Codex、Hermes、Jcode、pi)暴露同一套 cotal_* 工具并支持推送唤醒。
局限
  • 目前唯一实现是 TypeScript;其他语言需按 docs 中的契约自行实现,官方客户端尚未提供。
  • 需要运行并理解 NATS/JetStream broker 基础设施——跨机器部署时 broker 可能在互联网可达的服务器上,增加运维面。
  • 安装脚本是 POSIX shell,Windows 只能走 npm 路线。
  • 属相对年轻的项目,Team 区尚有 TODO、连接器仍在按投票扩展,成熟度证据有限。

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

README 明确将 Cotal 与 MCP 和 A2A 定位为互补:MCP 连接 Agent 与其工具,A2A 连接两个 Agent 的成对请求/响应,都不提供带在线状态、频道、持久投递和拓扑自由的多 Agent 实时共享空间——这是 Cotal 填补的空白。Cotal 复用 A2A 的数据形状但不采用其 HTTP/JSON-RPC 传输与 Task RPC 模型。

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

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Cotal 当前 77 · 表现良好 命令行工具免费 ★ 331 今天 TypeScript Codex · Claude Code
Google ADK TypeScript 开发套件 51 · 缺口较多 命令行工具免费 + 模型费 ★ 1.4k 今天 TypeScript —
Agor 45 · 缺口较多 命令行工具免费 + 模型费 ★ 1.5k 1 天前 TypeScript Codex · Claude Code
Agentica 63 · 存在缺口 命令行工具免费 + 模型费 ★ 356 今天 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
77/ 100 五分制 3.9 / 5
本评测基于 2026年10月15日 的源码;此后该项目发布了 5 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 21/29
可靠稳定 11/14
适用触发 14/18
规范维护 16/18
有效结果 9/13
证据核验 6/8
查看各维度的扣分理由
信任安全21 / 29 · 3.6/5

证据显示强化的最小权限设计:每代理默认拒绝的ACL、只读仪表板自铸窄凭据后丢弃签名种子、示例代理对远程订阅源做SSRF地址阻断与重定向复验并有测试覆盖。扣分点:cotal setup 会静默向 ~/.agents/skills 和 Claude Code 安装技能插件,未明确要求用户逐步确认;curl|sh 安装脚本虽有 --dry-run 预览,但外部效应(写home目录、起broker)文档化程度有限,故 external_effects 仅1分。工作流 checkpoint 提供人工审批机制,但没有看到对代理执行破坏性操作时的确认协议。

可靠稳定11 / 14 · 3.9/5

仓库带有极大规模的冒烟测试矩阵(packages/core、runtime、lang、各connector)、mutation coverage、doc-binding 自检与 CI 门禁,自一致性证据充分得3分。依赖可用性:node>=22 锁定、pnpm frozen lockfile,但静态审查未见依赖审计/漏洞扫描证据,扣至2分。failure_messages:CLI 有 cotal doctor,测试断言了具体错误文案,但普遍的失败消息质量只能由文档侧面印证,2分。

适用触发14 / 18 · 3.9/5

面向人类与代理双读者(prompt.md、docs),支持六种代理与多种拓扑,示例覆盖多场景,得3分。能力边界在FAQ有说明(TypeScript仅参考实现、协议开放),但边界文档散落而非集中,2分。触发精度靠 presence/attention 模式与 push wake-up 描述,未见精确的触发语义规范,2分。环境适配:Windows走npm、容器部署有deploy/README,2分。

规范维护16 / 18 · 4.4/5

信息架构极为完整(SPEC、docs/、examples、AGENTS.md),得3分。命名稳定(cotal_* 工具、subject族规范)3分。版本管理用 changesets 加发布闭包与可安装性门禁,3分。License 为完整 Apache-2.0 文本加 LICENSING.md 商标说明,3分。扣分项:install_notes 主推 curl|sh 远程脚本执行,虽可 --dry-run 预览仍是保守评估下的减分;known_limitations 散见于FAQ;维护责任有具名团队但发布者未经注册表验证,均2分。

有效结果9 / 13 · 3.5/5

输出可用性:durable投递、attention模式、web/console双视图设计合理,但未执行验证,2分。边际价值:填允 many-agent pub/sub 空隙、复用A2A数据形状的论证清晰,2分。成本收益:安装门槛低、NATS复用减少自研,2分。

证据核验6 / 8 · 3.8/5

声明可追溯性强:README 内嵌 SPEC §14、docs 锚点、npm徽章与CI状态,得3分。交叉印证仅限仓库内部(自测、lint门禁),无第三方审计,2分。事实与推断基本分离(如身份验证机制有测试断言佐证),但部分营销性声明('proven in production')无仓库内证据,2分。

风险与缓解建议
  • 主推的安装方式是 curl -fsSL https://get.cotal.ai | sh,远程脚本直接执行;虽提供 --dry-run 预览,企业环境应先人工审阅脚本再安装。
  • cotal setup 会静默向 ~/.agents/skills 与 Claude Code 安装技能插件;如不接受默认植入,请检查安装选项。
  • cotal up --open 是无认证模式,仅限回环;切勿暴露到网络。跨机 broker 部署务必启用 JWT 或 user-auth。
  • 发布者未经 FollowAgents 注册表验证,静态审查置信度为低;本评分未包含任何运行时验证。
  • 代理间消息与外部订阅源内容属于不可信输入;示例已做标记与SSRF防护,但自建代理需自行复用同等防护。
证据充分度:低 评估于 2026年10月15日 审查版本 8ca93e96e0eb 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.85.0
    发布说明摘录
    Cotal 0.85.0 is out! Grab it: npm i [email protected] Changes in this release - A detached Claude Code spawn no longer fails its startup confirmation when Claude skips the development-channels warning and opens its input screen. Claude 2.1.301 does that when channels are off for the session, for example under a Team or Enterprise organization that has not set channelsEnabled: true in managed settings. Such a seat now stays up, and gets mesh messages through its hooks only, so a message does not wake it while it is idle. When the warning appears it is still answered with one Enter, …
    在 GitHub 查看 ↗
  2. v0.84.0
    发布说明摘录
    Cotal 0.84.0 is out! Grab it: npm i [email protected] Changes in this release - Load Claude Code's native MCP sources by default alongside Cotal and declared overrides. Preserve explicit per-spawn sharing restrictions, carried-session isolation, native policy and narrow environment forwarding. - Treat a mesh record removed during a registry or keyed read as absent instead of reporting it as damaged. Keep named refusals for parse, shape and other read failures. …
    在 GitHub 查看 ↗
  3. v0.83.0
    发布说明摘录
    Cotal 0.83.0 is out! Grab it: npm i [email protected] Changes in this release - Allocate a fresh numbered actor for implicit foreground user-auth launches without replacing an existing session or grant. Preserve explicit names, enrollments and managed handoffs, and retry only typed name collisions. Refuse backward connector-store migration even with force or reset, remove unsafe downgrade advice, and make the shell installer identify PATH shadowing and use its absolute installed launcher in next steps. …
    在 GitHub 查看 ↗

常见问题

Cotal 免费吗?运行成本是什么?
仓库以 Apache-2.0 许可开源,CLI、核心、扩展和协议全部免费,可完全自托管;cotal up 在本地启动自带 broker,无强制付费服务。你运行的各 Agent 自身的模型费用另计。
一个 Agent 能冒充另一个吗?
不能。发送者身份由服务端钉在 NATS subject 上并与该 Agent 的 JWT 凭据比对,声称其他发送者的载荷会被服务器拒绝或被接收方丢弃;DM 是构造上机密的绑定式持久收件箱。
我的 Agent 不在支持列表里怎么办?
协议是一个 NATS 之上的契约(subject、schema 及必需的客户端行为如 presence、ack-on-surface),任何能实现该契约的 Agent 都能以薄客户端方式加入;官方连接器目前有 Claude Code、OpenCode、Codex、Hermes、Jcode、pi,可在 GitHub Discussions 投票下一个连接器。
支持 Windows 吗?需要什么运行时?
安装脚本是 POSIX shell,Windows 请用 npm 路线:npm install -g cotal-ai && cotal setup,需 Node 22+。
工作流运行中断了怎么办?
Cotal Lang 的每个 effect 都记录在运行的步骤日志中,运行停止后可在任意主机上用 cotal run resume <runId> 从日志恢复;checkpoint 可由持有 run 能力的任何人通过终端或 cotal_run 工具回答。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents