← 返回博客

将您自己的代理带到 Zed — 隆重推出 Gemini CLI

2025 年 8 月 27 日

您现在可以直接在 Zed 中与第三方代理进行交互。为了实现这一点,我们创建了代理客户端协议 (ACP),并且我们与 Google 合作集成了 Gemini CLI 作为初始参考实现。

更新: 截至 9 月 3 日星期三,我们已在 Zed 中增加了对 Claude Code 的 Beta 支持——了解更多信息

由于软件开发人员依赖各种不同技术栈中的多样化工具,我们认为有多个代理可以在不同领域竞争解决问题。正如语言服务器协议将语言智能从单一的 IDE 中解耦出来一样,我们创建代理客户端协议的目标是让您无需切换编辑器即可在多个代理之间切换。如果您是代理开发人员,我们还在 IDE 中为您提供了快速便捷的用户界面,这样您就可以专注于构建最佳代理,而不是分叉 VS Code。

Zed 中的 Gemini CLI

Zed 中 Gemini CLI 的演练。

今年早些时候发布了代理编辑功能后,我们路线图上的下一个重大任务是使该体验具有可扩展性。巧合的是,这大约是 Google 决定与我们联系的时候。Gemini CLI 团队在 Zed 的集成终端中使用他们的代理时获得了很棒的体验,他们想探索更深入的集成可能是什么样子。作为一个拥有大量早期关注的开源项目,Gemini CLI 似乎是推动 Zed 中可扩展代理设计的完美方式,并提供具体的用例。

命令行代理很酷,因为它们的简单性使得它们易于在任何地方运行——包括作为另一个应用程序的子进程。Zed 已经在我们的嵌入式终端模拟器中运行 Gemini CLI,但我们需要一种比 ANSI 转义码更结构化的通信方式。因此,我们定义了一组最小的 JSON-RPC 端点来将用户请求中继到代理并渲染其响应。结果就是代理客户端协议,一个精简的框架,只要遵循模式,任何客户端都可以与任何代理通信。

通过运行相同的 Gemini CLI 作为使用 ACP 的子进程,我们展现了基于终端体验的相同底层功能,但紧密集成到专为软件开发而构建的环境中。这解锁了在编辑器之外难以实现的功能,例如实时编辑可视化、多缓冲区审阅以及代码和代理交互之间的流畅导航。

隆重推出代理客户端协议

The Agent Client Protocol logo.
代理客户端协议徽标。

ACP 让开发人员可以选择最适合其工作流程的工具。任何支持 ACP 的代理都可以插入功能强大的用户界面,用户可以在代理工作时跟踪它在代码库中的活动,控制它对工具和 MCP 服务器的访问,并在具有完整语法高亮和语言服务器支持的多缓冲区中审查其所有更改。当您与第三方代理交互时,没有任何内容会触及我们的服务器,我们也无权访问您的代码。与所有 Zed 功能和服务一样,未经您的明确同意,我们绝不会存储或训练您的数据。

该协议在 Apache 许可证下开源;任何代理都可以实现它,并可以以 Gemini CLI 的实现作为起点。该协议也开放供其他客户端采用,我们非常希望看到其他编辑器也能采纳。这就是为什么我们与 Code Companion 的 Oli Morris 合作,为 Neovim 用户带来对 ACP 兼容代理的支持。

我们还更新了 Zed 自己的进程内代理,使其与第三方代理使用相同的代码路径,确保我们为自己的代理开发的任何 UI 原语也可以提供给外部代理。将 UI 与代理核心清晰分离已经提高了我们的发布速度,我们很高兴您能尝试新体验。查看源代码,或下载 Zed 亲自试用

与我们一起构建

我们相信最好的工具源于开放性。正如语言服务器协议向专业工具开放 IDE 一样,ACP 为量身定制的代理生态系统创造了空间,以适应每个开发人员的工作流程。我们感谢 Google 对 Gemini CLI 的开放态度,这使得这次合作成为可能,我们也致力于同样开放。我们打算保持对代理客户端协议的足够控制,以继续快速推动其发展,同时也会谨慎地演进和版本化,以鼓励代理和客户端生态系统的发展。

我们欢迎对 ACP 的贡献和反馈。我们希望在 Zed 中看到更多代理。我们也希望看到其他编辑器采用该协议。我们很高兴看到我们的社区如何在 Zed 中进行实验、创新和构建未来。


正在寻找更好的编辑器吗?

您今天就可以在 macOS、Windows 或 Linux 上试用 Zed。立即下载


我们正在招聘!

如果您对我们博客中涵盖的主题充满热情,请考虑加入我们的团队,帮助我们实现软件开发的未来。