Обзор ACP

Agent Client Protocol: одна настройка работает в Zed, Devin Desktop и JetBrains — запускайте Claude Code как ACP-агент с окружением, направленным на QCode

Обновлено 2026-10-15

Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →

Содержание

Последняя проверка: 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-сессия внутри редактора не проходит авторизацию.

Два способа решения:

  1. Запускать редактор из терминала (например, zed .), чтобы он унаследовал текущее окружение
  2. Записать настройки в собственный конфиг агента, а не в 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 (азиатская точка доступа); ключ остаётся прежним. При нестабильности вернитесь обратно.

Смежные документы

Начните с QCode

Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models

Enterprise →