Обзор ACP
Agent Client Protocol: одна настройка работает в Zed, Devin Desktop и JetBrains — запускайте Claude Code как ACP-агент с окружением, направленным на QCode
Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →
Содержание
- Кратко
- Хосты с поддержкой ACP
- Агенты, говорящие на ACP
- Настройка: один раз — работает везде
- 🔴 Частая ловушка: редактор, запущенный из GUI, не видит переменные оболочки
- Как проверить, что трафик доходит до QCode
- Как ACP запускает агента: почему переменные окружения «наследуются»
- Ключевые параметры
- Частые ошибки и диагностика
- Часто задаваемые вопросы
- Смежные документы
Последняя проверка: 2026-10-15 · 📄 По официальной документации (agentclientprotocol.com, проверено в тот же день)
Кратко¶
| Параметр | Описание |
|---|---|
| Доступные модели | зависят от подключаемого агента: Claude Agent / Claude Code (эндпоинт Anthropic) ✅ · GPT ✅ (агенты типа Codex) · китайские модели ✅ · Gemini — QCode пока не предоставляет |
| Протокол и Base URL | настраивается в самом агенте: эндпоинт Anthropic — https://api.qcode.cc/api для Claude-семейства |
| Где настраивается | окружение и собственный конфиг агента; хост его только запускает |
| Официальная документация | Agent Client Protocol |
| Agent Client Protocol (ACP) — открытый стандарт, разделяющий редактор и AI-агента, по аналогии с LSP для языковых серверов. Любой редактор, говорящий на ACP, может подключить любого агента, говорящего на ACP, без отдельной интеграции под каждого. |
Для пользователей QCode отсюда следует очень практичный вывод:
🔑 Настройте на QCode самого агента (например, Claude Code CLI) — и все хосты подхватят это автоматически. ACP-хосты запускают агента как дочерний процесс, поэтому он наследует ваше окружение. После установки
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 |
| IDE JetBrains | Через плагин ACP | JetBrains IDE |
Агенты, говорящие на ACP¶
Из заметных — Claude Agent (именно так он называется в официальном реестре: ACP-обёртка Claude Agent SDK, claude-agent-acp) и OpenCode; полный каталог — на agentclientprotocol.com. Подключить можно любой агент, реализующий ACP. У каждого хоста свой адаптер и команда запуска, поэтому точные команды смотрите в документации хоста.
Настройка: один раз — работает везде¶
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.
Того же эффекта можно добиться, прописав их в блоке
envфайла~/.claude/settings.json. См. Переменные окружения.
Codex CLI (протокол OpenAI Responses)¶
Codex настраивается через TOML, base_url заканчивается на /openai. См. руководство по Codex.
🔴 Частая ловушка: редактор, запущенный из GUI, не видит переменные оболочки¶
В macOS и Linux редактор, запущенный из Dock, лаунчера или ярлыка, не читает ~/.zshrc. Симптом: в терминале claude подключается к QCode, а ACP-сессия внутри редактора не проходит авторизацию.
Два способа решения:
- Запускать редактор из терминала (например,
zed .), чтобы он унаследовал текущее окружение - Записать настройки в собственный конфиг агента, а не в profile оболочки
(для Claude Code — блок
envв~/.claude/settings.json)
Второй вариант надёжнее: он не зависит от способа запуска.
Как проверить, что трафик доходит до 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 = проблема с ключом
Если точка отвечает корректно, а хост всё равно не работает, причина в том, как хост запускает агента (обычно это описанная выше ловушка с окружением), а не в QCode.
Все запросы через QCode попадают в probe.qcode.cc — введите свой API-ключ, чтобы убедиться, что они действительно приходят.
Как ACP запускает агента: почему переменные окружения «наследуются»¶
По состоянию на 2026-10-15, согласно официальному описанию транспорта ACP: ACP кодирует сообщения в JSON-RPC, и при рекомендуемом транспорте stdio клиент (редактор) запускает агента как подпроцесс; агент читает сообщения JSON-RPC со стандартного ввода, пишет сообщения в стандартный вывод (разделитель — перевод строки) и может писать журнал в стандартный поток ошибок (stderr). Протокол также запрещает агенту писать в stdout что-либо, кроме корректных сообщений ACP.
Для диагностики отсюда два практических вывода:
- Подпроцесс по умолчанию наследует окружение того, кто его запустил, поэтому действие
ANTHROPIC_BASE_URL, заданной в shell, зависит от того, как был запущен сам редактор (см. выше ловушку с запуском из графической оболочки). - Если вы оборачиваете агента собственным скриптом, не выводите в нём приветствия или отладочные сообщения в stdout через
echo, иначе они будут сочтены некорректными сообщениями; такой вывод направляйте в stderr.
Ключевые параметры¶
| Параметр | Назначение | Пояснение |
|---|---|---|
ANTHROPIC_BASE_URL |
Адрес для агентов семейства Claude | https://api.qcode.cc/api, без /v1 и без косой черты в конце |
ANTHROPIC_AUTH_TOKEN |
Ваш ключ QCode | Начинается с cr_, передаётся заголовком Authorization: Bearer |
Блок env в ~/.claude/settings.json |
Записывает оба значения в собственную конфигурацию агента | Не зависит от способа запуска редактора; самый надёжный вариант |
base_url в Codex |
Адрес для агентов типа Codex | Заканчивается на /openai; см. полное руководство по Codex |
| Команда запуска агента в хосте | Сообщает редактору, как запускать агента | Зависит от хоста; следуйте документации хоста |
Частые ошибки и диагностика¶
| Симптом | Вероятная причина | Что делать |
|---|---|---|
В терминале claude работает, а сессия ACP в редакторе даёт ошибку аутентификации |
Редактор запущен из Dock или лаунчера и не прочитал переменные shell | Запускайте редактор из терминала или пропишите настройки в блок env файла ~/.claude/settings.json |
401 / Invalid API key |
Неверный ключ, лишние пробелы или забытая старая ANTHROPIC_API_KEY, перехватывающая аутентификацию |
Найдите остатки командой env \| grep -i anthropic |
| 404 | К Base URL добавлен /v1 или стоит косая черта в конце |
Верните https://api.qcode.cc/api |
model_not_available_on_endpoint |
В агенте семейства Claude выбрана модель GPT, либо в агенте типа Codex — модель Claude | Claude работает через интерфейс Anthropic, GPT — через OpenAI Responses; см. Эндпоинты и форматы API |
| Сессия зависает на «запуске» или сразу обрывается | Агент не смог запуститься как подпроцесс, либо скрипт-обёртка печатает в stdout | Сначала вручную выполните ту же команду запуска в терминале, затем проверьте обёртку |
| На стороне QCode запросов не видно | Запрос не отправлен или ушёл по другому адресу | Проверьте по ключу на probe.qcode.cc, затем перепроверьте Base URL |
Часто задаваемые вопросы¶
Нужно ли настраивать QCode отдельно в каждом редакторе?¶
Нет. Настраивается сам агент (например, Claude Code), а редактор лишь запускает его. Когда агент подключён к QCode, сессии ACP в Zed, Devin Desktop и JetBrains используют ту же конфигурацию.
Как ACP связан с LSP?¶
Идея похожа: LSP отделяет редакторы от языковых серверов, а ACP — редакторы от ИИ-агентов. Редактор, говорящий на ACP, может подключить любого агента, говорящего на ACP, без отдельной интеграции под каждого.
Как проверить, что редактор, запущенный из Dock, получил переменные окружения?¶
Откройте в редакторе сессию ACP, отправьте одно сообщение, затем введите ключ на probe.qcode.cc и посмотрите, есть ли этот запрос. Если нет, переменные не дошли до агента — пропишите настройки в блок env файла ~/.claude/settings.json.
Можно ли использовать GPT в сессиях ACP?¶
Зависит от подключённого агента. Агенты семейства Claude работают только через интерфейс Anthropic — с Claude и китайскими моделями. Для GPT подключите агента типа Codex и направьте его base_url на https://api.qcode.cc/openai, как того требует Codex. QCode сейчас не предоставляет модели Gemini.
Какой домен использовать из материкового Китая?¶
Замените api.qcode.cc на asia.qcode.cc (азиатская точка доступа); ключ остаётся прежним. При нестабильности вернитесь обратно.
Смежные документы¶
- Точки доступа и форматы API — таблица «протокол × семейство моделей»
- Переменные окружения
- Подключение Zed · Подключение Devin Desktop · JetBrains IDE
Начните с QCode
Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models