mcpField
C
COTAL actions (cotal.ai)

COTAL actions (cotal.ai)

远程服务
cotal.ai商业与营销366今天更新

关于 COTAL actions (cotal.ai)

Cotal 是供 AI Agent 和软件服务跨应用、跨机器协作的开放 pub/sub 标准及 TypeScript 实现,适用于多 Agent 团队与工作流。它通过身份、在线状态、频道和多种寻址方式组织通信,并支持持久投递与可恢复的工作流。

主要功能

  1. 01跨机器共享协作空间
  2. 02频道广播、单播与角色寻址
  3. 03在线状态与持久消息投递
  4. 04Cotal Lang 工作流与人工检查点
  5. 05CLI 管理 Agent 和工作流运行
  6. 06服务端点发现与调用

适用场景

  1. 01协调分布在不同机器上的 Agent 团队
  2. 02让 Agent 通过频道或角色分配任务
  3. 03在工作流中等待回复或人工审批
  4. 04连接可发现并调用的服务

MCP 相关

Cotal 的连接器可向支持的 Agent 应用提供 mesh 工具,但项目将自身定位为 pub/sub 协作标准,并说明 MCP 用于应用连接工具。README 未说明提供 MCP 服务端。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://cotal.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

12
参数类型必填说明
areastring否涉及 COTAL 的哪个部分(CLI、连接器、文档、网站等)。
namestring否用户的姓名(如果他们希望附上)。
typeenum是反馈类型。bug | idea | friction | praise | other
emailstring是用户的电子邮件地址。必填,以便记录可追溯来源。
sourcestring否来源:Agent 名称、页面或 CLI。
detailsstring否详细描述、步骤和上下文。
sandboxboolean否试运行:验证调用、应用速率限制,不存储任何内容。用于测试集成。
summarystring是一行说明:发生了什么,或应该发生什么。
severityenum否针对 bug 和不便之处。low | medium | high
idempotency_keystring否不透明键(UUID 是理想选择)。重试时请重复使用,以便返回同一条记录,而不是创建重复记录。

详细介绍

Cotal

面向 AI Agent 的开放式发布/订阅标准。

Claude Code、OpenCode 和 Codex 在各自的应用中等待你在它们之间复制工作。在同一个 Cotal 空间中,它们直接传递发现、草稿和修复方案,然后请你批准结果。

跨应用和设备连接 Agent。
选择适合团队的拓扑结构。

在 docs.cotal.ai 阅读文档   快速入门

CI npm Docs Discord License Node

在线演示 · 示例 · 支持的 Agent · 常见问题

什么是 Cotal

Cotal 让 AI Agent 和软件服务在共享空间中协同工作,跨越不同的应用和设备。Agent 可以发现同伴、向频道发送消息、寻求审查者的帮助,或调用服务。由你决定谁委派任务给谁。

可将它用于同伴团队、带有工作 Agent 的主管模式,或包含人工检查点的工作流。Agent 可以从笔记本电脑、工作站或远程主机加入。不同的空间会隔离项目及其权限。

这项开放标准定义了身份、消息传递、在线状态和端点控制。TypeScript 实现运行于 NATS + JetStream,并包含 CLI、应用连接器、进程管理器、持久化工作流和观测工具。阅读概述。

快速入门

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

安装程序会在无需 sudo 的情况下写入你的主目录,并启动引导式设置。你可以先阅读脚本,也可以通过 | sh -s -- --dry-run 预览。

在 Windows 上,或已有 Node 22+ 安装时:

npm install -g cotal-ai
cotal setup

设置过程会准备一个空间、配置你选择的应用,并创建一个 default 人格。它会单独询问是否启动。若只想进行准备,请使用 cotal setup --configure-only。如果稍后再启动,请在项目文件夹中运行:

cotal up           # start the local mesh, delivery daemon and manager in the background
cotal spawn        # open your agent in this terminal

在另一个终端中,运行 cotal console 可查看团队及其消息。按 Ctrl-P 打开命令面板并启动另一个 Agent。你也可以直接运行 cotal spawn --detach 来启动 Agent。请任意一个 Agent 向同伴介绍自己。

cotal down 会停止本地堆栈。快速入门指南介绍了要求、非交互式设置和故障排除。想让编码 Agent 帮你完成设置?将 https://docs.cotal.ai/prompt.md 提供给它。

CLI 默认会发送使用情况遥测。运行 cotal telemetry off 可将其关闭。查看发送的内容。

选择工作方式

您想要从这里开始
在本地或另一台计算机上运行 Agent启动模式和管理器选择
连接个人 Claude Code 会话现有会话连接与审批
加入托管空间登录并选择空间
声明团队及其频道权限团队清单
协调需要等待、分支或恢复的工作Cotal Lang 工作流
连接服务或自动化 CotalAPI 参考

个人会话连接需要已登录的空间,并使用受支持的审批流程。 审批会说明权限和活动共享情况。对于本地静态身份验证空间或开放空间, 请改用 cotal spawn 启动。

支持的 Agent

README 配图
Claude Code

插件 + 原生钩子
README 配图
OpenCode

进程内插件
README 配图
Codex

app-server + TUI
README 配图
Hermes

网关 + 插件
Jcode
Harness API + TUI
README 配图
pi

原生扩展

连接器通过各应用自身的机制提供网状工具并传递对等消息。Codex、Jcode 和 pi 支持在实时轮次中发送定向消息; 个人原生 Claude Code 会话则会在受支持的忙碌间隙收到消息。 各应用对恢复、事件和工具共享的支持有所不同。 连接器对照表列出了具体信息和成熟度级别。

托管 Agent 可在 PTY 或受支持的终端运行时中运行: tmux、cmux、Orca 或 Herdr。有关安装和可用性,请参阅运行时。

您可以通过编写连接器接入其他应用,也可以 为下一个应用投票。

工作原理

每个参与者都有身份,并会报告自己的在线状态。消息有三种投递目标:

多播:alice 向 #general 发送消息,其订阅者会收到消息 单播:alice 给 bob 发消息;bob 忙碌时,持久收件箱会暂存消息 任播:发送给 reviewer 角色的消息会由一位可用的审阅者认领

  • 多播会将消息发送给频道(例如 #review)的订阅者。
  • 单播会将消息直接发送给一个对等参与者。
  • 任播会将消息发送给某个角色(例如 reviewer),由一个可用实例接手工作。

在经过身份验证的网状网络中,持久后备机制会根据配置的保留期限和生命周期限制,为忙碌或离线的 Agent 保留消息。在线状态会告知对等参与者有哪些成员;注意力模式则让 Agent 控制哪些频道流量可以打断自己。心跳报告的是存活状态,而非任务正在取得进展的证明。

管理器负责启动和停止进程,不会介入 Agent 之间的消息,也不会替它们选择工作。在授权允许的情况下,Agent 可以通过 cotal_spawn 请求队友。清单可预先组建团队;Cotal Lang 会协调团队执行。

架构 · 投递 · 频道权限

工作流运行

Cotal Lang 是 JavaScript 的一个小型子集,用于通过步骤日志协调工作。程序可以启动 Agent、等待回复,并暂停以等待人员介入。受支持的主机可以根据记录的进度恢复中断的运行。

例如,在管理器上定义了 planner 和 builder 人设后:

const planner = await spawn("planner")
const builder = await spawn("builder")

await turn(planner, { name: "plan" })
const approval = await checkpoint("approve-plan", "Build the plan?", { timeout: "4h" })
if (approval.value === "yes") {
  await turn(builder, { name: "build", deadline: "30m" })
}

将程序保存为 build.cotal.js,并在经过身份验证且具有运行权限的网状网络上启动:

cotal run start --file build.cotal.js
cotal run                              # list recorded runs
cotal run show <runId>                  # inspect progress and open questions
cotal run answer <runId> <stepKey> --value '"yes"'

运行时还支持并发分支、带键的提交和经过身份验证的协作取消。取消记录不能证明每个外部进程都已停止。有关恢复方式和主机限制,请参阅工作流运行;有关完整约定,请参阅语言参考。

服务与集成

服务会发布命令约定,供经过授权的调用方发现和调用。管理器和 Linear 等集成都使用相同的端点接口。如果连接器和授权允许,Agent 可使用 cotal_describe 和 cotal_invoke;脚本则可使用 CLI 的端点命令和结构化输出。

Linear 适配器可通过静态身份验证网状网络,或通过经批准的用户身份验证服务注册,连接上游账户。托管部署仍需配置其授权、端点绑定和调用方授权。安装适配器不会自动授予账户访问权限,也不会让服务在所有空间中都可用。

如需构建自己的集成,请从 TypeScript 库、Agent 工具和 HTTP 参考中选择。

查看团队

cotal console 提供交互式终端视图,用于查看对等节点、频道和消息。 它的命令面板可启动 Agent,并执行已授权的操作员操作。 cotal watch 会持续输出观测信息;who、ps 和 status 等命令可回答有关对等节点、受管理 Agent 和本地计算机的特定问题。

浏览器仪表板是单独配置的只读服务。它使用专门为已注册的静态身份验证空间设置的受保护凭据,并且只显示该凭据有权读取的内容。它不会自行签发访问权限。启动前,请先按照仪表板设置进行配置。

仪表板图表,显示 Agent、频道和成员关系链接
频道成员关系与实时消息流。

仪表板频道视图,显示成员列表、消息和注意事项指示器
成员列表、频道消息以及需要关注的 Agent。

身份与访问

默认情况下,cotal up 会进行身份验证。代理会检查每条消息主题中的发送者身份,并强制执行各 Agent 的权限。不同空间使用单独的 NATS 账户。采用用户身份验证的部署会让用户登录,并根据其当前授权签发访问权限。

代理、操作员和管理员凭据均受信任。私信受到保护,不会被未经授权的对等节点读取,但不会针对这些受信任方进行端到端加密。cotal up --open 是一种仅限本地回环、仅在运行期间有效且无需身份验证的模式,适用于本地实验。阅读安全模型。

个人会话活动共享、网状网络权限和 CLI 遥测是彼此独立的设置。共享对话活动前,请先查看连接授权;有关 CLI 使用情况报告,请参阅遥测。

示例

无需安装任何内容,即可尝试浏览器演示。其中的四个脚本化场景涵盖混合 Agent 团队、交付模式、拓扑变更,以及在另一台机器上恢复的工作流。

Cotal 控制台:终端 TUI 中实时显示的 Agent 名单及其全部活动动态横向协作

同一空间中各司其职的同级 Agent:在线状态、三种寻址模式、实时状态、优雅离开和后加入,每个 Agent 都在各自的终端中运行。

原始协议 · 纯终端
Agent 群组重建 Cotal 控制台

四个 Claude Code Agent 在同一个网格中协作,同时由编排器在 cmux 标签页中启动工作 Agent。他们构建了一个 Ink/React 控制台,用于查看团队情况。

四个编码 Agent · cmux 标签页
四个 Claude Code Agent(编排器、后端、TUI 设计师、经理)在 Cotal 网格中协作,左侧是实时 Cotal 控制台,右侧是 cmux 标签页中的 Agent
tmux 墙上的 Frontier Tower Faces 演示:像素风格的 OpenCode Agent 在 Cotal 网格上对口型呈现流式回复,旁边是实时 Cotal 控制台Frontier Tower Faces

十个嘉宾角色化身为动画像素风格的 OpenCode Agent:每个 Agent 都会思考、对口型呈现流式回复,并控制自己的 32×32 表情;在网格中,它们作为同一空间里的同级 Agent 协作。

十个 OpenCode 形象 · OpenCode · tmux 墙 + 浏览器

所有示例,包括各自的设置说明和限制。

文档

文档位于 docs.cotal.ai。页面也提供面向 Agent 的 Markdown 版本,已安装的连接器还会提供带版本号的 cotal_docs 套件。

  • 选择工作流:本地团队、托管空间、个人会话和集成。
  • CLI 参考:按任务分组的命令,以及标志和输出约定。
  • API 参考:库、端点命令、Agent 工具和 HTTP。
  • 规范:规范性的线缆协议约定。
  • 升级:针对各软件包的迁移步骤。

常见问题

Cotal 与 MCP 和 A2A 有什么关系?

MCP 将应用连接到工具。A2A 使用自己的请求/响应和任务模型定义 Agent 通信。Cotal 提供共享的发布/订阅空间,支持在线状态、频道、持久化投递和基于角色的寻址。它复用 A2A 的 AgentCard 和 Message/Part 结构,但使用 NATS 绑定,而不是 A2A 的 HTTP 传输方式。复用这些结构并不意味着 Cotal 是 A2A 传输桥接器。

Cotal 只能使用 TypeScript 吗?

TypeScript 是参考实现。该标准是一份线路协议契约,因此其他语言也可以使用 NATS 客户端实现,只要满足所需的身份、投递和在线状态行为。构建客户端介绍了实现顺序。

Agent 可以运行在不同的机器上吗?

可以。它们通过可访问的代理连接到同一空间。笔记本电脑、工作站和远程主机可以一起参与。远程启动需要经过授权的管理器;主机控制哪些 Agent 和服务可以在其上运行。请参阅远程监管。

浏览器仪表板就是托管版 Cotal 产品吗?

此仓库中的仪表板是一个使用静态凭据配置的只读观察器。托管版 Cotal 有自己的部署和账户流程。某个库或适配器提供支持,并不意味着所有托管部署都已启用该功能。

赞助方与合作伙伴

Immersive Commons
构建 Web-A,即 Agent 的网络。我们是其中的一员,并认同这一愿景。
Frontier Tower
旧金山前沿技术中心。
Tenki
为托管版 Cotal 背后的沙箱提供支持。
Cloudflare
Cotal 是 Cloudflare® for Startups 计划的一员。

我们正在寻找更多构建多 Agent 系统的设计合作伙伴。 联系我们。

欢迎贡献:使用你的语言实现该契约、构建连接器,或提交问题。请参阅运行冒烟测试门禁,了解本地和 CI 测试。

团队

David Farah
David Farah
X 上的 @DavidFarahlb LinkedIn 上的 David Farah
Sven Jonscher
Sven Jonscher
X 上的 @svensonj00 LinkedIn 上的 Sven Jonscher

正在 Cotal 上构建项目,或有此打算?请发送邮件至 [email protected]。我们会阅读每一封邮件。

许可证

本仓库中的所有内容均采用 Apache-2.0 许可证:线协议、核心、所有扩展和 CLI。商标说明和托管服务计划请参阅 LICENSING.md。

Cloudflare 和 Cloudflare 标志是 Cloudflare, Inc. 在美国及其他司法管辖区的商标和/或注册商标。


由 Cotal 在瑞士和旧金山倾心打造。❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。