ACP 协议集成
ACP (Agent Client Protocol) 是 Zed 编辑器推出的一种通用智能体协议,使智能体的核心功能(服务端)和用户界面(客户端)解耦,允许用户自由选择不同的智能体服务端和客户端进行搭配使用。
CodeBuddy Code 原生支持 ACP 协议,可以作为智能体服务端与支持 ACP 的编辑器无缝集成。
快速开始
启动 ACP 模式
使用 --acp 参数启动 CodeBuddy Code 的 ACP 服务器:
bash
codebuddy --acpZed 编辑器集成
配置步骤
打开 Zed 配置文件(~/.config/zed/settings.json),添加以下配置:
json
{
"agent_servers": {
"CodeBuddy Code": {
"command": "codebuddy",
"args": ["--acp"],
"env": {}
}
}
}随后即可在 Zed 侧边栏创建 CodeBuddy Code Thread,开始使用。
配置说明
command:指定 CodeBuddy Code 的命令路径(确保
codebuddy在 PATH 中可用)args:使用
["--acp"]启用 ACP 协议模式env:可选的环境变量配置,例如:
json{ "env": { "CODEBUDDY_API_KEY": "your-api-key" } }
ACP 协议特性
工具代理机制
ACP 协议支持客户端代理部分工具操作,提升性能和安全性:
- 文件操作代理:基于客户端的
fs.readTextFile和fs.writeTextFile能力 - 终端操作代理:基于客户端的
terminal能力
当客户端声明支持这些能力时,CodeBuddy Code 会自动将相关工具调用代理给客户端执行。
命令列表推送
CodeBuddy Code 会在创建新会话时自动向客户端推送可用的 Slash 命令列表(available_commands_update),让客户端能够:
- 提供命令自动补全功能
- 显示命令提示和帮助信息
- 动态更新可用命令
命令列表会自动过滤掉本地命令(如 /clear、/exit)和客户端专属命令(如 /theme、/config),只推送适用于 ACP 模式的命令。
其他编辑器支持
ACP 是开放协议,理论上任何支持 ACP 的编辑器都可以集成 CodeBuddy Code。配置方式与 Zed 类似:
json
{
"agent_servers": {
"CodeBuddy": {
"command": "codebuddy",
"args": ["--acp"]
}
}
}故障排除
连接失败
问题: Zed 无法连接到 CodeBuddy
解决方法:
确认
codebuddy命令可用:bashwhich codebuddy测试 ACP 模式启动:
bashcodebuddy --acp检查配置文件 JSON 格式是否正确
工具调用失败
问题:文件操作或命令执行报错
解决方法:
- 检查工作目录权限
- 查看 CodeBuddy 日志
相关链接
通过 ACP 协议,让 CodeBuddy Code 融入您喜爱的编辑器 🚀