为什么需要 ACP?
AI 编码代理和编辑器紧密耦合,但互操作性并非默认设置。每个编辑器都必须为想要支持的每个代理构建自定义集成,而代理必须实现编辑器特定的 API 才能触达用户。 这造成了几个问题:- 集成开销:每种新的代理-编辑器组合都需要自定义工作
- 兼容性有限:代理只能与可用编辑器的子集一起工作
- 开发者锁定:选择代理通常意味着接受其可用的接口
概述
ACP 假设用户主要使用他们的编辑器,并希望使用代理来协助完成特定任务。 ACP 适用于本地和远程场景:- 本地代理 作为代码编辑器的子进程运行,通过 stdio 上的 JSON-RPC 进行通信。
- 远程代理 可以托管在云端或单独的基础设施上,通过 HTTP 或 WebSocket 进行通信
注意: 对远程代理的完全支持正在进行中。我们正在与代理平台积极合作,确保协议满足云托管和远程部署场景的特定需求。该协议在可能的情况下重用 MCP 中使用的 JSON 表示,但包含用于有用的代理编码 UX 元素的自定义类型,例如显示差异。 用户可读文本的默认格式是 Markdown,它提供了足够的灵活性来表示富文本格式,而不要求代码编辑器能够渲染 HTML。