前言

zed 在 0.201.4 版本推出了应用 Agent Client Protocol (ACP) 协议的第一个正式版本,Agent Client Protocol (ACP) 是一个将外部 Agents 与编辑器集成的开放协议,zed 在这个版本中集成了 Google Gemini CLI , 开发者可以自己开发兼容 ACP 的自定义代理,本文就是讲述如何安装配置 acp-claude-code 以在 zed 更方便的使用 Claude Code.

配置

acp-claude-code 的配置很简单,打开 zed 的设置,填入设置:

{
  "agent_servers": {
    "Claude Code": {
      "command": "npx",
      "args": ["acp-claude-code"]
    }
  }
}

设置完打开 Agent 面板就可以看到外部 Agents的选项中已有 Claude Code 选项。

alt text

新建 Claude Code 线程,发现报错了,提示 program not foundalt text

根据以往的经验,这种错误主要发生在 windows 系统上,windows 系统的用户应该使用如下配置。

{
    "agent_servers": {
    "claude-code": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "acp-claude-code"],
    }
  },
}

配置修改完,不会报错了,但是仍然无法正常使用,提示


/Users/xx/xx/xx/41ef69d0cb7a2cab/node_modules/@anthropic-ai/entrypoints/cli.js. Is options.pathToClaudeCodeExecutable set?` 。

alt text

通过查找 Claude Code 的 issue ,发现是 Claude Code 的 sdk 的问题,acp-claude-code 可以通过设置 agent_servers 的环境变量 ACP_PATH_TO_CLAUDE_CODE_EXECUTABLE 指定 Claude Code 的可执行文件路径。

  "agent_servers": {
    "claude-code": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "acp-claude-code"],
      "env": {
        "ACP_PATH_TO_CLAUDE_CODE_EXECUTABLE": "C:\\Users\\overstarry\\.local\\bin\\claude.exe",
        "ACP_PERMISSION_MODE": "acceptEdits"
        // "ACP_DEBUG": "true"
      }
    }
  },

设置完成后,重新启动 zed,输入问题,发现又出现了新的问题:

alt text

通过查阅相关 issue ,应该是跟网络有关,开启 tun 模式后,可以正常使用了。

alt text

小结

本文介绍了如何在 zed 中配置和使用 acp-claude-code,以便更方便地使用 Claude Code。通过设置环境变量和调整配置,克服了一系列不同的问题,最终实现了在 zed 中顺利使用 Claude Code 的目标。 zed 官方已经在开发官方版的 Claude Code 集成,期待后续官方集成的发布。

参考