ACP 接入总览
Agent Client Protocol:一份配置在 Zed / Devin Desktop / JetBrains 等宿主里通用——把 Claude Code 当 ACP agent 跑,环境变量指向 QCode
ACP 接入总览¶
Agent Client Protocol(ACP) 是一个开放标准,让编辑器与 AI agent 解耦通信——类似 LSP 之于语言服务器。编辑器只要会说 ACP,就能挂载任何会说 ACP 的 agent,不必为每个 agent 单独做集成。
对 QCode 用户来说,这带来一个很实际的结论:
🔑 你只需要把 agent 本身(例如 Claude Code CLI)接好 QCode,宿主编辑器就自动跟着走。 ACP 宿主是以子进程方式启动 agent 的,agent 会继承你的环境变量。 所以
ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN配好之后,Zed、Devin Desktop、 JetBrains 里的会话走的都是 QCode,不需要在每个编辑器里重复配一遍。
哪些宿主支持 ACP¶
| 宿主 | 说明 | 本站文档 |
|---|---|---|
| Zed | 原生支持,agent panel 内直接开会话 | Zed 编辑器接入 |
| Devin Desktop(原 Windsurf) | 2026-06-02 起支持,Agent Command Center 内挂载 | Devin Desktop 接入 |
| JetBrains 系 | 通过 ACP 插件接入 | JetBrains IDE |
哪些 agent 会说 ACP¶
常见的有 Claude Code、Codex CLI、OpenCode,以及任何自己实现了 ACP 的 agent。 不同宿主自带的 adapter 与启动命令不一样,具体命令以宿主文档为准。
配置:一次配好,处处生效¶
Claude Code(走 Anthropic 腿)¶
export ANTHROPIC_BASE_URL="https://api.qcode.cc/api"
export ANTHROPIC_AUTH_TOKEN="cr_你的QCode密钥"
写进 ~/.zshrc / ~/.bashrc 持久化。中国大陆把域名换成 https://asia.qcode.cc/api。
也可以写进
~/.claude/settings.json的env块,效果相同。 详见 环境变量配置。
Codex CLI(走 OpenAI Responses 腿)¶
Codex 用 TOML 配置,base_url 填到 /openai 为止。见 Codex 完整教程。
🔴 一个容易踩的坑:GUI 启动的编辑器读不到 shell 环境变量¶
macOS / Linux 上从 Dock、启动器或桌面图标启动的编辑器,不会读取 ~/.zshrc。
结果是:终端里 claude 能连 QCode,编辑器里的 ACP 会话却报鉴权失败。
两种处理方式:
- 从终端启动编辑器(例如
zed .),继承当前 shell 的环境 - 把配置写进 agent 自己的配置文件而不是 shell profile
(Claude Code 用
~/.claude/settings.json的env块)
第 2 种更稳,因为它不依赖启动方式。
验证走没走到 QCode¶
KEY="cr_你的QCode密钥"
curl -s -o /dev/null -w '%{http_code}\n' -X POST https://api.qcode.cc/api/v1/messages \
-H "x-api-key: $KEY" -H "anthropic-version: 2023-06-01"
# 400 = 路径与密钥都通(缺请求体属预期);401 = 密钥有问题
端点侧确认无误后,在宿主里开一次会话;如仍失败,问题在宿主如何启动 agent(多半是上面那个环境变量坑),不在 QCode。
所有经 QCode 的请求都会上报到 probe.qcode.cc,输入 API Key 即可确认请求是否真的到达。
相关文档¶
- 接入点与 API 格式 — 协议 × 模型家族真源表
- 环境变量配置
- Zed 编辑器接入 · Devin Desktop 接入 · JetBrains IDE