ACP (Agent Client Protocol)
Zed 提出的开放协议,标准化代码编辑器与 AI 编码 agent 之间的通信。用 JSON-RPC 2.0 跑在 stdio 上,让任何 ACP agent 能在任何 ACP 编辑器里用——相当于 AI agent 版的 LSP。
发布 2026-06-28更新 2026-09-24核实 2026-09-242026-09-24 更新(ACP 拿到第一个大厂级落地,本页部分表述已过时):JetBrains 于 2026-09-22 发布 JetBrains Air,把它近半年的 agentic 产品线统一为三款产品——Air in JetBrains IDEs、Air Teams、Air Governance(原 JetBrains Central 更名),并明确以 ACP 作为 IDE ↔ agent harness 的连接标准。关键事实:
- ACP 由 JetBrains 与 Zed 共同构建(本站此前按「Zed 提出」表述,现已升级为两方共建);
- 新增 ACP Registry——开发者可在 JetBrains IDE 内直接发现并运行兼容 agent,官方称已有 25 个 agent 兼容,含 Claude、Codex、Gemini CLI;
- ACP 标准化的是 IDE 与 agent 完整 harness 的连接,覆盖规划、逻辑、工具、模型路由与可观测性,不止「收发消息」;
- JetBrains 的多供应商立场:Air 不要求用自家的 Junie,组织侧保留上下文、可见性与成本治理;
- 现状与限制:Air 本体 2026 年 3 月以 macOS preview 形式首发,Linux 支持 6 月上线,Windows 仍在开发中且无发布日期;Air 免费(BYOK),付费档个人 $30/月起、企业席位 $20–60/月。
对读者的意义:ACP 从「Zed 的开放协议」升级为「有 IDE 大厂背书的行业标准候选」,类比 LSP 的路径更可信了。详见下方 谁在用 与 常见踩坑 的同步修订。
什么是 ACP
ACP(Agent Client Protocol)是 Zed Industries 提出的开放协议(Apache 2.0),用来标准化代码编辑器与 AI 编码 agent 之间的通信。它用 JSON-RPC 2.0 跑在 stdin/stdout 双向流上:编辑器把 agent 当子进程拉起,双方交换换行分隔的 JSON 消息。
核心价值是「一次实现,处处可用」——任何支持 ACP 的 agent 都能在任何支持 ACP 的编辑器里跑,不需要为每个编辑器单独做集成。
最贴切的类比是 LSP(Language Server Protocol)。LSP 让一个语言服务器能在所有编辑器里提供补全/跳转;ACP 让一个 AI agent 能在所有编辑器里提供对话/工具调用/文件编辑。ACP 就是「AI agent 版的 LSP」。
解决什么问题
在 ACP 之前,agent 和编辑器是 N×M 的适配地狱:
- Claude Code 要单独适配 Zed、Neovim、JetBrains……
- 每个编辑器要单独对接 Claude Code、Codex、Gemini CLI……
Block 的 goose 团队把这形容为「三个应用问题」:开发者得同时开编辑器、agent 窗口、浏览器。ACP 把 agent 收进编辑器,砍掉一个窗口。每加一个 agent 或一个编辑器,只要实现一次 ACP,就和生态里所有另一侧打通。
工作原理
ACP 用 JSON-RPC 2.0 over stdio,生命周期大致是:
1. initialize 协商协议版本与能力(文件系统/终端/MCP)
2. session/new 新建会话(传入 CWD、MCP server 配置)
3. session/prompt 客户端发用户消息(ContentBlock[]:文本/图片/音频)
4. session/update agent 流式回传(消息块、工具调用、计划)
5. 回调客户端 fs/read_text_file、fs/write_text_file、
terminal/create、session/request_permission
几个关键点:
- 传输层:stdin/stdout,UTF-8,JSON-RPC 2.0,协议版本是 uint16,只有破坏性变更才递增
- 双向:agent 不只是被动应答,还能回调客户端读写文件、开终端、申请权限(human-in-the-loop)
- 流式:
session/update把消息块、工具调用、执行计划实时推给编辑器
谁在用
| 角色 | 代表 |
|---|---|
| 编辑器(客户端) | Zed、Neovim、Emacs、JetBrains(2025-10 官方合作)、Obsidian |
| agent(服务端) | Gemini CLI(参考实现)、Claude Code(经 Zed 桥接)、Codex |
| TUI | Toad(支持 18+ agent) |
由 Zed 和 JetBrains 背书,Google 的 Gemini CLI 是参考实现。VS Code 截至 2026 年 3 月无原生支持(微软把 agent mode 押在 MCP 上),仅有社区扩展 vscode-acp。
ACP vs MCP
新人最容易混淆这两个协议,但它们解决完全不同的问题:
| 维度 | ACP | MCP |
|---|---|---|
| 连接对象 | 编辑器 ↔ agent | agent ↔ 工具/数据 |
| 提出者 | Zed | Anthropic |
| 类比 | AI agent 版 LSP | AI 的 USB-C |
| 解决 | agent 怎么进编辑器 | agent 怎么调工具 |
| 关系 | 互补 | 互补 |
二者协同:ACP 会话启动时,编辑器把 MCP server 端点传给 agent,于是 agent 一边通过 ACP 跟编辑器交互,一边通过 MCP 调用工具。ACP 不是要取代 MCP。
怎么用(Zed 接入自定义 agent)
在 ~/.config/zed/settings.json 里加 agent server:
{
"agent_servers": {
"My ACP Agent": {
"type": "custom",
"command": "my-agent",
"args": ["acp"],
"env": {}
}
}
}
然后在 Zed 的 Agent 面板选择它即可。Python 侧可以 pip install agent-client-protocol(需 3.10+),提供异步基类和 stdio JSON-RPC transport。
常见踩坑
- 以为 ACP 取代 MCP:不是。一个管「编辑器↔agent」,一个管「agent↔工具」,生产里通常两个一起用。
- 指望 VS Code 原生支持:截至 2026 年 9 月,VS Code 官方仍走 MCP 路线,未见原生 ACP 支持,需靠社区扩展。
- Claude Code 是桥接不是原生:Anthropic 未原生采用 ACP,是 Zed 侧做了桥接适配器包了一层。功能基本可用但要知道这层关系。
- 协议还在迭代:版本仍在演进(本站记录到 v0.11.0 时期),跟进 breaking change;但 2026-09 起已有 IDE 大厂把它作为产品级依赖,接口稳定性要求会明显提高。
- 把「ACP 兼容」当成「能力等价」:ACP 只标准化连接,不标准化 agent 的规划质量、工具集与模型路由。同一个 IDE 里挂 5 个 ACP agent,效果差异仍然是 agent 本身的差异——Air 的卖点恰恰是把这层的可见性与成本治理补上,而不是让它们变得一样强。
- Windows 用户暂时用不上 Air:截至 2026-09-22,Air 支持 macOS 与 Linux,Windows 在开发中且无发布日期。
FAQ
Q: ACP 和 MCP 到底怎么分工? A: 一句话:MCP 管「agent 用什么工具」,ACP 管「IDE 怎么驱动 agent」。一次典型的 Air / Zed 会话里,agent 通过 ACP 从编辑器接收任务与上下文,再通过 MCP 去调数据库、仓库、外部 API。两者是上下游,不是替代关系。
Q: 我的 agent 要接 ACP,工作量多大?
A: 核心是实现 JSON-RPC 2.0 over stdio 的会话与权限方法,并把你的规划、工具与模型路由暴露为可观测事件。Python 侧有 agent-client-protocol 包(需 3.10+)。真正的成本在后半段——把 planning / tool / model routing / observability 结构化暴露出来,而不是只做消息转发。
Q: 已经有 25 个兼容 agent 了,还需要自己做吗? A: 先查 ACP Registry。如果你的场景是「在 IDE 里用现成 agent」,直接选兼容的即可;只有当你有**自研 harness(独特的规划或权限模型)**时,自己做才有价值。
Q: JetBrains 下场会不会把 ACP 变成事实标准? A: 现在下结论过早,但信号在增强:JetBrains、Zed 共建,Google 与 GitHub 侧亦被报道在列。判断指标是 ACP Registry 的 agent 数量与第三方编辑器接入数,而不是发布稿的措辞。
延伸阅读
- 工具协议:MCP——agent ↔ 工具的标准
- agent 协作:A2A——agent ↔ agent 的标准
- 项目约定:AGENTS.md——给 agent 的项目说明
- Agent 编排:Agent Orchestration
- 编辑器:Zed / 工具:Gemini CLI · Claude Code
来源
相关工具
Aider vs Claude Code:终端 AI 编程双雄怎么选
Aider vs Claude Code 2026 选型对比:开源 BYOK 多模型 vs Anthropic 订阅长任务 Agent,从编程能力、多模型支持、价格、Git 集成、国内可用性和适合人群判断,帮你选对终端 AI 编程工具。
Claude Code vs Cline:CLI AI Agent 怎么选?2026 对比
Claude Code vs Cline 2026 选型对比:Anthropic 官方闭源 CLI Agent vs Apache-2.0 开源 VS Code 插件。从模型绑定、工作流、MCP 支持、价格、隐私和适合人群 6 个维度帮你选对 CLI AI 编程工具。
Claude Code vs Codex CLI:终端 AI Agent 双雄对比
Claude Code vs Codex CLI 2026 选型对比:Anthropic 与 OpenAI 两大官方终端 Agent 的模型、长任务、MCP 生态、Windows 支持、订阅打包价格和国内可用性全方位对比,帮你判断该用哪个终端 AI Agent,以及能不能两个一起用。
Claude Code vs Crush:Anthropic 官方 vs 多模型 TUI(2026 实测选型)
Claude Code vs Crush 2026 选型对比:Anthropic 官方 CLI Agent(Claude only + 长任务最稳 + MCP 一等公民)vs Charmbracelet 开源 TUI Agent(多模型 mid-session 切换 + LSP + FSL-1.1-MIT)。从模型、长任务、生态、价格、国内可用性帮你选对终端 AI 编程工具。
Claude Code vs Gemini CLI:终端 AI Agent 怎么选?(2026 选型指南)
Claude Code 和 Gemini CLI 都是终端原生的 AI 编码 Agent。一句话结论 + 决策树 + 价格 + 国内可用性对比:长任务与 CLAUDE.md 生态选前者,免费额度与接入门槛选后者。
Codex CLI vs Gemini CLI:两家大厂终端 Agent 怎么选?(2026 选型)
OpenAI Codex CLI 与 Google Gemini CLI 的正面比较:一句话结论 + 决策树 + 价格 + 国内可用性。已有 ChatGPT 账号选 Codex,想零成本起步选 Gemini CLI。