跳到主内容
协议ACP协议Agent编辑器ZedJSON-RPC

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-24

2026-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
TUIToad(支持 18+ agent)

由 Zed 和 JetBrains 背书,Google 的 Gemini CLI 是参考实现。VS Code 截至 2026 年 3 月无原生支持(微软把 agent mode 押在 MCP 上),仅有社区扩展 vscode-acp。

ACP vs MCP

新人最容易混淆这两个协议,但它们解决完全不同的问题:

维度ACPMCP
连接对象编辑器 ↔ agentagent ↔ 工具/数据
提出者ZedAnthropic
类比AI agent 版 LSPAI 的 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 数量与第三方编辑器接入数,而不是发布稿的措辞。

延伸阅读

来源

相关对比

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。