游乐游手机版
首页/AI教程/文章详情

Coze支持本地Agent的拆解与实现详解

时间:2026-06-04 17:00
今天被扣子 3 0 更新的消息刷屏了,铺天盖地都在说新增了本地 Agent 支持,能够对接 Claude Code、Codex CLI 这些工具。这恰好击中了我之前的一个想法:能不能做一个统一的管理中枢,把任务分配给多个本地编程智能体,让它们像团队一样协作? 其实早在龙虾 OpenClaw 火起来的

今天被扣子 3.0 更新的消息刷屏了,铺天盖地都在说新增了本地 Agent 支持,能够对接 Claude Code、Codex CLI 这些工具。这恰好击中了我之前的一个想法:能不能做一个统一的管理中枢,把任务分配给多个本地编程智能体,让它们像团队一样协作?

其实早在龙虾 OpenClaw 火起来的那段时间,大概两个月前,我就琢磨过用 Git 仓库作为任务看板来驱动多 Agent 协作,还让 Claude 帮忙出了一套方案(具体链接就不放了)。可惜的是,翻遍了各家发布的文章,都没找到具体的连接方法。多数文章也就一句话带过:“只需一行命令,即可连接本地 Claude Code。”

干脆直接上官网查帮助文档。在接入本地 Agent 的界面拿到了这么一行命令:

npx -y coze-bridge@latest --pat-token=sat_QK6PJiIoT6cN......GsZ0zj95Wetq2 --pair-code=ab0d0a......c7d19e

\

命令拿到后,干脆把 coze-bridge 这个 npm 包下载下来,做了完整的源码分析。结果发现,它的核心是一套叫 ACP(Agent Client Protocol)的协议。ACP 本质上是一个基于 JSON-RPC 2.0 的开放协议,用来标准化编辑器或 IDE(客户端)与 AI 编程助手(Agent)之间的通信方式。而且这个协议的应用范围已经超出了编程领域,扩展到了各类桌面或 Web 应用与 AI Agent 的交互场景。

这一发现让我的想法有了具体的实现路径:基于 ACP 协议的特性,完全有可能做出一个真正的多 Agent 协同管理产品。

coze-bridge 是什么?

coze-bridge 是字节跳动发布的 npm 包,当前版本 0.1.90。它的角色其实就是本机的一个后台守护程序,专门把扣子云端的 Agent 服务跟本地的 AI Agent(比如 Claude Code、Codex、OpenClaw)桥接起来。把它想象成一个翻译官会更直观:扣子云端用的是自己的 Frontier 协议,而本地 Agent 用的是 ACP 协议。coze-bridge 负责将两边的“语言”互相翻译。

架构上大致是这样的:用户在扣子网页上操作,云端通过 Frontier WebSocket 下发指令;本机的 bridge daemon 接收到指令后解析,然后 spawn 本地 ACP Agent 子进程去执行,最终结果原路返回。

Daemon 生命周期管理

coze-bridge 以守护进程模式运行,通过 ~/.coze/bridge/bridge.pid 文件实现单实例锁。启动时会 spawn 一个 detached: true 的子进程,在 127.0.0.1 随机端口开启一个 HTTP IPC 服务,用 token 来认证。系统自启方面,它支持 macOS(通过 launchd)、Linux(systemctl)和 Windows(schtasks),覆盖了三大主流平台。

配对流程

配对流程也比较清晰:CLI 带 --pat-token--pair-code 启动,如果 daemon 还没运行就先启动它,然后向本地的 IPC 服务发送 POST /pair 请求。接着调用 Coze 云端的 handshake API(https://www.coze.cn),获取 deviceId,再建立 Frontier WebSocket 连接。之后每 10 秒会发送一次心跳(_agent/health),并自动连接 Agent。

Spawn 子进程机制

值得留意的是,coze-bridge 启动的是全新的子进程,而不是连接用户本地已经运行的 Agent。它安装的是专门的 ACP wrapper 包,而不是用户日常使用的 CLI 工具。所以运行扣子命令时,我的 Mac 弹出了两次 Codex 对电脑有危害的提示,原因就在这里。

用户日常用的bridge 启动的NPM 包
claude(Claude Code CLI)claude-agent-acp@agentclientprotocol/claude-agent-acp
codex(Codex CLI)codex-acp@zed-industries/codex-acp
openclawopenclaw检测本地安装

coze-bridge 通过 Node.js 的 child_process.spawn() 启动子进程,stdio 设为管道模式,通过 stdin 写入命令、stdout 读取响应。

外部调用清单

目标协议用途
https://www.coze.cnHTTPhandshake API、pair 配对、reconnect
wss://frontier.coze.cnWebSocket长连接通道、指令收发、心跳
https://llm-gateway.coze.cnHTTPLLM 网关、model API 调用
npm install -g 本地进程自动安装 ACP wrapper 包

ACP 协议:专为 AI Agent 设计

ACP(Agent Client Protocol)是一套标准化的本地进程间通信协议,思路类似 LSP(Language Server Protocol),但专门为 AI Agent 设计。

协议格式

每一帧是一行 JSON(ldjson,Line-Delimited JSON),通过 stdin/stdout 双向通信。

coze-bridge daemonAgent 子进程
stdin → 写入 JSON 命令stdout → 输出 JSON 响应

每帧格式示例:{"method":"session.prompt","params":{...},"id":"1"}

协议核心能力

ACP 方法方向用途
initializeClient → Agent握手,协商协议版本和能力
session.promptClient → Agent发送用户消息给 agent
session.cancelClient → Agent取消正在进行的 prompt
session.request_permissionAgent → ClientAgent 请求权限(如执行命令)
fs/read_text_fileAgent → ClientAgent 请求读取文件
fs/write_text_fileAgent → ClientAgent 请求写入文件

三种协议的层级关系

协议栈上,底层是 ACP 在 bridge 和本地 agent 子进程之间通过 stdin/stdout 传输 ldjson 数据。上层是字节内部的 Frontier 协议,通过 WebSocket 在 Coze 云端和本机 bridge daemon 之间传输自定义帧格式。中间的 coze-bridge 就是做协议转换的连接器。因为扣子用 Frontier 协议与 ACP 不兼容,所以 bridge 的翻译角色至关重要。

基于 ACP 的 Agent 团队管理方案

ACP 协议的核心特性,正好解决了 Agent 团队管理中的几个关键难题:

传统痛点ACP 怎么解决
每个 Agent CLI 接口不同统一的 stdin/stdout ldjson 协议
无法程序化控制 AgentACP 天生就是给程序用的
Agent 之间无法协作内置 fs/read、fs/write 文件协作
状态管理混乱session 机制天然支持会话隔离
权限控制困难session.request_permission 机制

产品架构设计

一个基于 ACP 的 Agent 团队管理产品,其架构大致可以分为三层:

  • 上层:产品控制面板(Web UI),包括任务管理、Agent 管理、监控看板、成果输出等功能。
  • 中层:调度引擎(Scheduler),负责任务编排、拆解、依赖管理、并行调度和结果聚合。
  • 底层:ACP Agent Pool,多个 Agent 实例并行工作,比如 #1 负责编码(claude)、#2 负责设计(claude)、#3 负责测试(codex)、#4 负责审查(openclaw)等。

任务拆解与分发流程

用户输入一个复杂任务后,主控 Agent 先拆解,再分发给多个专职 Agent 并行执行。举个例子,用户输入“开发一个用户登录模块”,主控 Agent 通过 session.prompt 接收任务,分解出子任务列表:数据库设计 → API 接口 → 前端页面 → 单元测试 → 代码审查。然后通过 ACP 并行分发给对应的 Agent。

Agent 间协作机制

ACP 协议内置的 fs/read_text_filefs/write_text_file 让 Agent 之间可以通过共享 workspace 文件间接协作。典型的协作链路是:Agent #1 写 schema.sql → Agent #2 读 schema 写 API → Agent #3 读 API 写前端 → Agent #4 读 API 写测试。整个过程完全依赖于文件系统作为通信媒介。

实现与挑战

三步走路线图

实现这样一个产品,大致可以分为三个迭代阶段:

  • MVP:启动多个 ACP Agent,提供简单的 Web UI 创建任务和基础的任务队列能力。
  • 智能调度:主控 Agent 自动拆解任务,引入 DAG 依赖管理,支持并行执行和失败重试。
  • 团队协作:多用户共享 Agent 池,实时监控看板,成果自动聚合。

关键技术挑战

挑战解决方案
Agent 进程管理守护进程 + 健康检查 + 自动重启
任务状态同步基于 ACP session 机制 + 本地状态机
Agent 间通信共享 workspace 文件,可选消息队列
资源消耗Agent 池大小限制 + 空闲回收
错误处理ACP 错误码映射 + 重试策略

一些总结

通过拆解 coze-bridge 的源码,发现了一个非常重要的事实:业内其实已经存在了 ACP 这样的开放协议。它用一套统一的 stdin/stdout ldjson 协议,让不同厂商的 AI Agent 都能被程序化控制。这为“Agent 团队管理”从概念变成可落地的技术方案提供了坚实的基础。

打算抽空写一个本地用的管理小工具,如果大家有兴趣,欢迎在评论区聊聊具体需求。

来源:https://cloud.tencent.com.cn/developer/article/2681646
上一篇腾讯云Agent Memory技术架构与评估体系深度解析 下一篇重生之AI编程出海:新手如何从零到海外市场
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Synthesia零基础教程:客户端安装与工作区权限设置
AI教程 · 2026-06-07

Synthesia零基础教程:客户端安装与工作区权限设置

本文介绍了AI视频生成工具Synthesia的入门流程。内容涵盖从官网下载客户端、完成账户注册与登录,到软件安装与启动的完整步骤。详细说明了如何初始化工作区,包括创建首个AI视频项目、选择模板与AI主播。最后,指导用户理解并设置团队协作中的不同权限角色,以便安全高效地共同管理项目。

FramePack新手入门指南:安装启动报错修复导出全流程
AI教程 · 2026-06-07

FramePack新手入门指南:安装启动报错修复导出全流程

本文详细介绍了FramePack工具从下载安装到项目导出的完整流程。内容涵盖软件安装步骤、首次启动设置、常见报错解决方案以及项目打包导出方法。指南旨在帮助用户快速掌握工具核心操作,解决使用过程中可能遇到的技术问题,确保顺利完成AI视频帧处理任务。

FLUX.1保姆级教程:环境安装、显存优化与首次出图测试
AI教程 · 2026-06-07

FLUX.1保姆级教程:环境安装、显存优化与首次出图测试

本文详细介绍了FLUX 1的安装与初步使用流程。内容涵盖从Python环境配置、代码仓库克隆、依赖包安装,到关键的显存优化设置,最后指导用户完成首次文生图测试。教程旨在帮助用户顺利搭建运行环境,解决常见安装问题,并实现基础图像生成功能。

AnythingLLM新手实战:本地大模型部署后知识库接入设置
AI教程 · 2026-06-07

AnythingLLM新手实战:本地大模型部署后知识库接入设置

本文介绍了在本地部署大模型后,如何为AnythingLLM设置知识库。内容涵盖知识库的基本概念、创建与配置步骤、文档上传与处理技巧,以及如何通过问答测试其效果。旨在帮助用户有效整合本地文档资源,构建个性化的AI知识助手,提升信息检索与利用效率。

Aider安装失败排查:扩展冲突与登录异常全解析
AI教程 · 2026-06-07

Aider安装失败排查:扩展冲突与登录异常全解析

本文针对Aider安装过程中常见的扩展冲突与登录异常问题,提供了系统的排查思路与解决方案。内容涵盖如何识别并处理与其他AI工具的兼容性问题,解决因网络或账户设置导致的登录失败,以及通过环境检查、依赖更新等步骤彻底排除安装障碍,帮助用户顺利完成安装与配置。