前言
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 选项。
新建 Claude Code 线程,发现报错了,提示 program not found
。
根据以往的经验,这种错误主要发生在 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?` 。
通过查找 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,输入问题,发现又出现了新的问题:
通过查阅相关 issue ,应该是跟网络有关,开启 tun 模式后,可以正常使用了。
小结
本文介绍了如何在 zed 中配置和使用 acp-claude-code,以便更方便地使用 Claude Code。通过设置环境变量和调整配置,克服了一系列不同的问题,最终实现了在 zed 中顺利使用 Claude Code 的目标。 zed 官方已经在开发官方版的 Claude Code 集成,期待后续官方集成的发布。
参考
- https://github.com/Xuanwo/acp-claude-code
- https://github.com/Xuanwo/acp-claude-code/issues/20
- https://github.com/Xuanwo/acp-claude-code/pull/48
- https://github.com/Xuanwo/acp-claude-code/issues/29
- https://zed.dev/blog/bring-your-own-agent-to-zed
- https://zed.dev/docs/ai/external-agents
- https://github.com/anthropics/claude-code/issues/6686
- https://github.com/anthropics/claude-code/issues/6867
- https://www.npmjs.com/package/@zed-industries/claude-code-acp