Loading

我把 Claude、Codex、OpenCode 都塞进了同一个编辑器——Zed External Agents 上手指南

最近有个感觉:AI 编程工具越用越多,窗口也越开越多。

我现在的用法是:Claude 写 plan,Codex 去实现,OpenCode 负责审阅 plan 和代码。三个 agent 各干各的,效果比只用一个好。但问题也来了——Claude Code 装的是 VS Code 插件版,Codex 是桌面版,OpenCode 也是桌面版,再加上各种 CLI 工具。写代码的时候要在编辑器、两个桌面应用、命令行之间跳来跳去,ALT+TAB按到冒烟,烦得要死。

后来我发现 Zed 有个 External Agents 功能,号称能把各种 AI 编程工具都塞进编辑器里。花了一晚上折腾,终于把 Claude、Codex、OpenCode 全都接进去跑通了。

这篇聊聊它到底是什么、怎么装、我踩了哪些坑。

External Agents 是什么

先说清楚:External Agents 不是 Zed 内置的 AI 聊天。

Zed 自己有个 Agent Panel,你配个 API key 就能聊。那个是 Zed 自己的东西,模型、工具、权限全是 Zed 管的。

External Agents 不一样。顾名思义,它们是外部的、独立的智能体,跑在 Zed 进程外面,通过 ACP(Agent Client Protocol)协议跟 Zed 通信。

打个比方:内置 Agent 像是编辑器自带的拼写检查,跟编辑器是一体的;External Agents 像是你在编辑器里嵌了个浏览器,能打开任何网站,网站本身跟编辑器没关系,但你不用切出去。

这个设计有几个特点:

  • 每个 external agent 都是单独进程,崩了不影响编辑器,也不互相影响
  • Zed 只管界面和线程管理,agent 本身的模型、工具、推理逻辑,agent 自己说了算
  • 各 agent 使用自己的配置,不用单独配置,迁移成本低

说白了就是:Zed 提供场地,agent 自带剧本。

目前能装哪些

Zed 搞了个 ACP 注册表,相当于 agent 版的应用商店,点开就能装。

我自己装了三个,也是目前比较主流的:

  • Claude:通过 ACP 社区适配器接入的 Claude Code,能力跟独立版基本一致,写代码最顺手。但部分原生交互功能(比如 Claude in Chrome)在 ACP 桥接下用不了
  • Codex:OpenAI 的编程 agent,需要 ChatGPT Plus/Pro 订阅或者 API 计费才能用
  • OpenCode:开源的,不限模型,兼容Anthropic和OpenAI格式的协议,国内用户用着方便

注册表里还有 Gemini、Copilot、Cursor、Pi 这些,有兴趣自己去翻。本文主要讲前三个。

手把手装一遍

整个过程不难,几分钟的事。

打开 ACP 注册表

两种方式:

  1. 命令面板(Cmd+Shift+P / Ctrl+Shift+P)里输入 zed: acp registry,回车
  2. 或者打开 Agent 设置(agent: open settings),找到 External Agents 页面,点 Add Agent

进去就能看到所有可用的 agent,跟手机应用商店差不多。

装 Claude

找到 Claude,点安装。装完之后:

  1. 打开 Agent Panel(Ctrl+Shift+/
  2. 新建线程的时候选 Claude
  3. 如果你之前配置过Claude Code,这里可以直接使用,没配置过的看这里:Claude Code安装和配置保姆级教程

让它读项目文件、改代码、解释逻辑——跟单独用 Claude Code 差不多,但现在就在你的编辑器里,不用切窗口。

装 Codex

一样的流程:注册表找到 Codex,安装,然后新建 Codex 线程。

Codex 配置第三方模型的方式看这里:3 步搞定:Codex CLI + 通义千问,终端 AI 编程助手

装 OpenCode

OpenCode 也在注册表里,直接选安装。

装好之后新建 OpenCode 线程,第一次用会提示登录授权。按它自己的认证流程走就行,账号、订阅都是 OpenCode 那边管,跟 Zed 没关系。

OpenCode 的特点是价格便宜、不限制第三方模型,国内用着最稳定最方便。在编辑器里用它的 agent,相当于把 OpenCode 的能力直接嵌进了 Zed。

多 Agent 共存的爽点

都装好之后,我日常的工作流变成了这样:

开一个 Claude 线程写 plan——它规划能力强,想清楚做什么、怎么做。然后开一个 Codex 线程去实现——照着 plan 写代码、跑命令、改 bug。最后再开一个 OpenCode 线程审阅 plan 和代码,换个视角找茬。

三个 agent 各干各的活,都在同一个编辑器里,对着同一份代码。不用切窗口,不用贴代码,不用每个工具都重新理解一遍项目。

所有线程都在 Threads Sidebar 里管着,Cmd+Alt+J / Ctrl+Alt+J 呼出来一目了然。哪个线程在干什么、进行到哪了,一眼就能看到。

自定义 Agent

如果你自己开发了 agent,或者想用一个注册表里没有的 agent,也可以手动加。

打开 Zed 的设置文件,加一段 agent_servers

{
  "agent_servers": {
    "my-agent": {
      "type": "custom",
      "command": "node",
      "args": ["~/projects/my-agent/index.js", "--acp"],
      "env": {}
    }
  }
}

command 是启动命令,args 是参数,env 是环境变量。只要你的 agent 实现了 ACP 协议,就能接进来。

普通用户可能用不上这个功能,但对开发者来说意义挺大——以后出了新的 AI 编程工具,不用等官方适配,自己就能接。

ACP 协议本身是开源的,以 Apache 2.0 许可证发布,社区治理。主协议仓库在 github.com/agentclientprotocol/agent-client-protocol,Zed 和 JetBrains 这些都参与了,不是 Zed 一家独占。消息格式是 JSON-RPC 2.0,通过 stdin/stdout 通信,不算复杂。

踩过的坑和真实感受

说了这么多好的,也说点实在的。这个功能还比较新,一晚上折腾下来踩了不少坑。

好的地方

不用切窗口。 这是最直接的。以前写代码要开好几个应用,现在一个 Zed 就够了。所有 AI 助手都在侧边栏里,点一下就切过去,上下文天然共享——因为它们看到的就是你编辑器里打开的这份代码。

各用各的账号,互不干扰。 你有 Claude 订阅就用 Claude,有 Codex 订阅就用 Codex,有 OpenCode 会员就用 OpenCode。不用为了用某个 AI 特意换编辑器,也不用把所有 API key 都交给 Zed。每个 agent 管自己的认证和计费,边界很清楚。

历史对话统一管理。 不管哪个 agent 的对话,都在 Threads Sidebar 里,能搜能看。Zed 还支持从 external agent 导入历史线程,之前在别处的对话也能搬过来。

生态开放。 ACP 协议是开放的,谁都可以实现。以后出了新的 AI 编程工具,大概率也能接进 Zed 里,不用换编辑器就能用上新东西。

要注意的坑

体验不如原生。 毕竟是通过协议接入的,不是原生做的。有些 agent 自带的特殊功能、子命令、交互模式,在 Zed 里可能用不了或者用着别扭。比如 Claude Code 有一些很细节的交互,搬到 Zed 里就没那么丝滑了。期望别拉太满——它能让你在 Zed 里用这些 agent,但不保证体验跟原生完全一样。

配置边界容易搞混。 这是最容易踩坑的地方。Zed 自己有 MCP 配置,agent 自己也有 MCP 配置;Zed 有权限控制,agent 也有权限控制。到底哪个生效?刚开始很容易懵。比如 MCP 工具没出现,你不知道该去查 Zed 的配置还是 agent 的配置——答案是两边都得查。官方文档里有个配置边界的对照表,但实际用起来还是要摸索。

远程项目不一定能用。 如果你用 Zed 连 SSH 或者开发容器写代码,external agent 能不能正常工作,要看具体 agent 的实现。有的能跟着远程走,有的只能读本地文件。用之前最好试一下,别等写了一半才发现 agent 读不到远程文件。

出问题了调试挺麻烦。 遇到 agent 连不上、没反应、功能异常怎么办?Zed 提供了 ACP 日志,命令面板里搜 dev: open acp logs 能看到 Zed 和 agent 之间的消息。但这个日志是给开发者看的,普通用户看了可能也不知道问题在哪。

适配质量参差不齐。 注册表里的 agent 不是同一个团队做的,质量有好有坏。有的适配得很完整,有的就比较糙。比如有些 agent 对中文路径、大文件、特定类型项目的支持可能有问题,得碰运气。

最后

我自己觉得,External Agents 代表了一个方向:编辑器不再是 AI 功能的提供者,而是 AI 功能的容器。以前选编辑器要考虑"它的 AI 功能好不好用",以后可能不用了——编辑器就是个壳,你想用哪个 agent 就用哪个,想用几个就用几个。

这种设计思路让 Zed 越来越像一个"为 agent 而生的编辑器"——当然这是我自己的归纳,不是官方说法。Zed 官方的定位是"AI-first code editor"。这个思路对不对、能不能成,现在说还太早。但至少对于手里攥着好几个 AI 工具订阅、每天在各个窗口之间跳来跳去的人来说,它解决了一个真实的痛点。

感兴趣的朋友可以来试试~

posted @ 2026-07-25 10:41  拓荒者IT  阅读(229)  评论(0)    收藏  举报