Agent Client Protocol (ACP):给编程 Agent 用的编辑器协议
ACP 是代码编辑器与编程 Agent 之间类似 LSP 的标准。本地 Agent 走 stdio 上的 JSON-RPC;远程 HTTP / WebSocket 传输仍在标准化。本站是独立生态指南,不是官方 spec。
线上协议
v1 稳定
生产环境用这个
下一个大版本
v2 草案
必须用版本协商和 feature flag
已认证 Agent
Registry 40 个
截至 2026-09-12
官方 SDK
TS & Rust 1.0
另有 Python、Java、Kotlin
还在为每一对「编辑器 × Agent」写胶水代码?
没有共享协议时,编程 Agent 和编辑器是绑死的。每一对新组合都是又一个插件、又一套 RPC、又一周胶水。
ACP:实现一次,随处接入
就像 LSP 统一了语言服务器,ACP 给 Agent 一张接口、给编辑器一个客户端。兼容 Agent 能进任何 ACP 客户端;兼容编辑器能用整个 Agent 生态。能复用的 MCP 类型会直接复用。
Agent Client Protocol 怎么工作
人还在编辑器里。客户端把本地 Agent 拉成子进程,或连到远程 Agent,然后用 JSON-RPC 跑 session。
JSON-RPC over stdio
JSON-RPC 2.0
请求、响应、通知。双向:Agent 可以向客户端要权限、文件、终端或结构化输入。
对 MCP 友好的类型
内容块、resource、工具调用尽可能复用 MCP JSON,再补上 diff、plan 等编程 UX 类型。
默认 Markdown
给人看的文本用 Markdown,客户端不必内置 HTML 引擎。
真正的 ACP 方法:session/prompt
{
"jsonrpc": "2.0",
"id": 2,
"method": "session/prompt",
"params": {
"sessionId": "sess_abc123def456",
"prompt": [
{
"type": "text",
"text": "Refactor this function"
}
]
}
}为什么用 ACP
一份契约好过 N×M 套插件,同时不妨碍各产品自己做 UX。
ACP 实际在干什么
协议只是管道。产品仍然是你的编辑器 UX 和 Agent 的工具。
编辑器内编程 Agent
重构、写测试、应用 diff,继续用你已经熟悉的快捷键。
多 Agent 工作台
把 Claude、Codex、Gemini、OpenCode 当成并行 session,而不是并行插件。
聊天与移动控制面
从 Telegram、Slack、微信、QQ、飞书或手机 App 驱动桌面上的 Agent。
笔记本与数据工具
在 Jupyter、marimo 或 DuckDB 旁边跑 Agent,不必再造一套 RPC。
审查与安全闭环
权限提示和工具调用卡片让写文件、跑命令仍然经过人。
自定义 harness
Deep Agents、Koog、Mastra、ACP Kit 等可以把现有运行时包成 ACP Agent。
客户端、Agent 与 Registry
生态早已不是「Zed 加两三个 CLI」。编辑器、IDE、桌面端,以及 40 个已认证 Registry Agent 都在出货。
编辑器与客户端表面
Agent 与适配器
要找特定组合?
对比客户端表面、适配器、Registry 条目和能力支持。
本站指南
我们概括正在用的协议和生态。权威 schema 与 RFD 在 agentclientprotocol.com。
开始用 ACP
先选边。生产环境用 v1。把 v2 当成需要显式打开的草案。
常见问题
短回答。本指南与官方 spec 冲突时,以官方 schema 为准。