受够了同事之间的拌嘴,所以我做了一个多Agent协同平台

285 阅读6分钟

开源 ACCP:让多人、多 AI Coding Agent 围绕同一任务交付可验收成果

作者:Weh(GitHub @JavaWeh)
仓库:github.com/JavaWeh/ACC… · 协议:Apache-2.0 · 当前约 30 Stars(以 GitHub 实时为准)
标签:开源 Go 人工智能 MCP 后端


写在前面

团队里大家各自接上 AI Coding 客户端之后,个人出活速度明显上去了,但整体交付往往卡在「对齐」上。

一个很常见的小需求:产品说「订单列表加状态筛选,能看待付款、已完成、已取消」。后端说先改接口,前端先把下拉框做起来;等到联调时,参数到底叫 status 还是 orderStatus、枚举是 done 还是别的、文档有没有更新——这些细节散落在群聊和各人的 Agent 对话里。个人效率提升了,沟通成本也跟着涨。

我希望做到两件事:

  1. 不同 Agent 接到同一套任务、同一版项目资料,而不是各聊各的上下文;
  2. 仍然由人做最终验收,代码引用、文档、报告要能核验,而不是「Agent 说完成了就算完成」。

基于这个想法,我开源了 ACCP(Agent Collaboration Control Plane):面向研发团队的多 Agent 协作控制平面。它不替换你已经在用的 Cursor、Claude Desktop、Codex 等客户端,而是在上面补一层「任务 / 上下文 / 成果 / 审批」的控制面,并按私有部署思路设计。

控制台首页示意:

ACCP 控制台首页


ACCP 是什么

一句话:人在浏览器里管任务、资料、验收与高风险工具审批;Agent 经本地 Bridge(MCP)、REST 或 Go SDK 领任务、读版本化上下文快照、汇报进度并提交可核验成果。每项任务由人类负责人最终接受或退回。

角色做什么
人在 Web 控制台创建任务与验收条件、发布项目资料版本、审核成果、审批高风险工具操作、管理项目成员与角色
Agent通过 Bridge / MCP / Go SDK 领取任务、读取本次绑定的上下文快照、报告进展、登记交付物(含 Git 引用)
原则保留现有 AI 客户端;统一任务与上下文;交付可追溯;高风险操作可独立人工审批

能力侧可概括为:

  • 任务与待办:负责人、依赖、验收条件;工作台可看待验收、执行异常、待审批数量
  • 项目资料:需求、接口、规范按版本发布;每次执行绑定固定快照,避免「聊着聊着上下文漂了」
  • Agent 协作:通用 Bridge、MCP 或 Go SDK;按依赖衔接前后任务
  • 成果验收:查看正文、Git 引用与来源链;核验 Commit / PR;逐项确认验收条件后接受或退回
  • 工具审批:为受控工具配置策略;高风险操作由独立审核人批准;查询结果与审计
  • 团队与运维:项目成员与仓库、OIDC 登录、运行状态与脱敏诊断、备份恢复配套工具

Web 控制台支持简体中文、English 和 Русский,并提供可分享的任务链接与移动端布局。

适合:希望保留现有 AI 客户端、把多人多 Agent 的交付管起来,并在企业内部私有部署的研发团队。


一次协作怎么走

流程与 README「一次协作如何完成」一致:

flowchart LR
    A[人类定义任务与验收条件] --> B[绑定已发布的项目资料]
    B --> C[Agent 领取并执行]
    C --> D[提交成果与验证证据]
    D --> E[人类核验并接受交付]
    E -->|退回修改| C

以「交付一个订单查询 API」为例(详见仓库 协作示例):

  1. 团队先发布接口约定(项目资料版本);
  2. 为实现、测试分别创建任务,并设置依赖——例如「接口文档发布并验收」后再放开前端接入任务;
  3. 执行 Agent 读取对应快照,提交代码或测试报告;
  4. 负责人根据已核验成果确认验收条件;需要经网关做高风险工具操作时,由另一位审核人审批;
  5. 任务、执行、资料版本、成果和审核记录共同保留为交付依据。

Bridge 侧把平台能力包装成 Agent 可调用的工具(示意,完整说明见仓库文档),例如:领取任务、查看/读取本次资料快照、汇报进度、登记交付、查询项目事件。Agent 经 MCP 调本地 Bridge,再由 Bridge 请求 ACCP API;也可用 REST、Go SDK / CLI 接入。


技术栈

层次技术在 ACCP 中的用途
后端服务Go、标准库 net/httpAPI、任务协作逻辑、工具网关、Worker 与运维命令
Web 控制台React、TypeScript、Vite控制台界面、类型检查、开发与生产构建
界面与样式HeroUI、Tailwind CSS交互组件、主题与响应式布局
数据与事件PostgreSQL、pgx、NATS JetStream业务持久化、事件持久投递
身份与安全OpenID Connect(go-oidc、oidc-client-ts 等)、age企业身份登录、令牌验证、备份加密
Agent 接入MCP Go SDK、JSON Schema、OpenAPIAgent / 工具接入与契约校验
部署Docker Compose、Node.js单机私有部署、Web 构建与验证脚本

生产部署方案是单企业、单机 Linux Docker Compose:Web 控制台、Go API、Worker、PostgreSQL、NATS;企业场景用 OIDC(需分开配置 SPA client ID 与 API audience)。候选镜像见 GitHub Releases 与 GHCR(ghcr.io/javaweh/accp / accp-ops)。

更细的架构、数据模型与治理说明见仓库 docs/。


本地快速开始

本机试用需要:Git、Docker、Docker Compose v2、Node.js 22.22.3。Web 与后端由 Docker 一起构建。

git clone https://github.com/JavaWeh/ACCP.git
cd ACCP
node scripts/dev-env.mjs
docker compose --env-file .accp-local/compose.env up --build -d
docker compose --env-file .accp-local/compose.env --profile tools run --rm bootstrap

启动后:

  1. 打开 127.0.0.1/dev-login ,从本机 .accp-local/dev-users.json 读取生成的账号登录(Alice 为演示项目管理员,Bob 为成员兼审核人);
  2. 进入演示项目:在「项目资料」发布需求或规范,在「任务协作」创建任务并填写验收条件;
  3. 按 Agent 接入说明 登记客户端、创建受限会话并连接 Bridge。

也可在仓库根目录运行:

node scripts/m2-smoke.mjs

该命令用协议驱动生成一条待人工验收的示例任务,不会启动真实 AI 客户端;完成后以 Bob 登录,在「任务协作 → 成果与验收」中查看并验收。

本地数据在 Docker 命名卷中,随机凭证只写入本机忽略目录。已有环境请按仓库升级说明操作,不要重复初始化。


当前范围

当前代码已提供任务、资料、执行、成果、审批与审计的协作闭环,以及团队管理和运维工具,可用于受控试用。Claude Desktop 与 Codex 已完成单人双客户端样例验收(见仓库验收记录)。

按 README 仍须说清楚:

  • 正式版本分发、目标规模容量验证、完整恢复验收仍有待完成;
  • 正文目前以文本与 Git 引用为主,正文上限 256 KiB;
  • 经 ACCP 网关授权执行的操作有审批与审计覆盖;客户端以独立凭证直连外部系统的行为不在该范围内。

评估部署时请结合仓库中的交付计划与运维验收文档,确认是否适合你的目标环境。欢迎 Issue / PR;贡献可由 AI Agent 辅助,但每项仍由人类负责人确认范围与验收。


相关链接

入口链接
源码仓库github.com/JavaWeh/ACC…
许可证Apache License 2.0
Web 使用指南github.com/JavaWeh/ACC…
私有部署github.com/JavaWeh/ACC…
Agent Bridge / SDKgithub.com/JavaWeh/ACC…

如果你也在用多套 AI Coding 客户端、被「字段名 / 枚举 / 文档版本」拖慢交付,欢迎 clone 试用,或直接提 Issue 打脸——尤其关心 Bridge 工具集是否够用、人机验收模型是否多余、以及和单人 Agent 工作流差在哪里。

(本文介绍的 ACCP 由作者开发并开源,欢迎批评与共建。)