Claude Code в JetBrains: воспроизводимая настройка и диагностика API
Интеграция агентного помощника в IDE полезна только тогда, когда она воспроизводима: новый разработчик может развернуть окружение, выполнить короткую проверку и понять, на каком слое возникла ошибка. Ниже — практическая схема подключения Claude Code к JetBrains IDE через Ace Data Cloud. Она подходит для IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm и Android Studio и опирается на явные переменные окружения, а не на неявные настройки интерфейса.
Начните с трёх ресурсов: русскоязычная страница Ace Data Cloud, раздел создания приложений и получения токена в консоли, а также каталог документации. Перед настройкой стоит сверить контракт нужной модели: идентификатор модели, протокол и полный путь запроса должны относиться к одной спецификации.
Что нужно подготовить
Плагин JetBrains использует установленный CLI Claude Code и запускает его через встроенный терминал IDE. Поэтому сначала установите CLI штатным способом для вашей рабочей станции и убедитесь, что команда доступна из того же окружения, в котором запускается IDE. Затем в консоли Ace Data Cloud создайте приложение, активируйте нужную услугу и сохраните API Token в менеджере секретов. Не помещайте токен в репозиторий, историю shell или общий файл конфигурации проекта.
- Установите Claude Code CLI и выполните
claude --version. - В JetBrains Marketplace установите плагин Claude Code и полностью перезапустите IDE.
- Получите токен в консоли и задайте его только в локальном окружении пользователя или CI secret store.
- Откройте документацию именно выбранной модели перед добавлением дополнительных параметров.
Минимальная конфигурация CLI
Для локальной конфигурации создайте каталог ~/.claude и файл config.json. Значение self указывает CLI на использование явно заданного токена. Затем экспортируйте базовый адрес и секрет. После изменения .zshrc или .bashrc откройте новый терминал; запущенная ранее IDE не всегда наследует обновлённые переменные.
mkdir -p ~/.claude
printf '%s\n' '{"primaryApiKey":"self"}' > ~/.claude/config.json
export ANTHROPIC_BASE_URL="https://api.acedata.cloud"
export ANTHROPIC_AUTH_TOKEN="$ACEDATACLOUD_API_KEY"
claude --version
claude
Вместо записи переменных в shell-профиль можно задать их в ~/.claude/settings.json. Этот вариант удобен, когда требуется изолировать настройки конкретного инструмента. Секрет всё равно лучше передавать из защищённого хранилища или переменной сессии, а не записывать в файл, который может попасть в резервную копию.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.acedata.cloud",
"ANTHROPIC_AUTH_TOKEN": "$ACEDATACLOUD_API_KEY"
}
}
Проверка HTTP-контракта до запуска агента
Не начинайте диагностику с большого запроса на рефакторинг. Сначала отправьте короткое сообщение напрямую: так проще отделить ошибки токена, маршрута и модели от проблем плагина. Ниже приведён минимальный запрос к Messages API. Подставьте идентификатор модели, опубликованный в текущей документации сервиса.
curl -sS https://api.acedata.cloud/v1/messages \
-H "x-api-key: $ACEDATACLOUD_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 64,
"messages": [{"role":"user","content":"Ответь ровно: IDE_OK"}]
}'
В Python тот же тест удобно держать в небольшом диагностическом скрипте. Он использует только стандартную библиотеку, поэтому его можно запустить до установки SDK. В production-коде добавьте ограничение времени, журналирование без секретов и обработку кодов ответа.
import json
import os
from urllib import request
payload = {
"model": "claude-sonnet-4-5",
"max_tokens": 64,
"messages": [{"role": "user", "content": "Ответь ровно: IDE_OK"}],
}
req = request.Request(
"https://api.acedata.cloud/v1/messages",
data=json.dumps(payload).encode("utf-8"),
headers={
"x-api-key": os.environ["ACEDATACLOUD_API_KEY"],
"anthropic-version": "2023-06-01",
"content-type": "application/json",
},
method="POST",
)
with request.urlopen(req, timeout=30) as response:
print(response.status)
print(response.read().decode("utf-8"))
Запуск из JetBrains и работа с контекстом
Откройте проект, перейдите во встроенный терминал и выполните claude. При запуске из корня проекта агент и IDE видят один набор файлов; это особенно важно для ссылок на файлы, диагностики и Diff view. При внешнем запуске используйте команду /ide и убедитесь, что текущая директория совпадает с корнем открытого проекта.
Для предсказуемой работы формулируйте задачи малыми шагами: сначала попросите описать план и затрагиваемые файлы, затем внести одно изменение, после чего запустить тесты. В diff-представлении проверяйте изменения до применения. Не передавайте в контекст файлы с ключами, дампы production-данных и конфигурации, которые не требуются для задачи.
Диагностика по слоям
- CLI не найден: проверьте
which claudeи настройте полный путь к команде в Settings → Tools → Claude Code. - IDE не определяется: убедитесь, что плагин включён, IDE перезапущена, а CLI запущен во встроенном терминале проекта.
- HTTP-проверка не проходит: сравните адрес, заголовки и имя модели с опубликованной спецификацией; не смешивайте параметры разных семейств API.
- Работа в WSL: задайте команду запуска для нужного дистрибутива и установите плагин на стороне удалённого хоста, если используется remote development.
- Непредвиденный расход: начните с коротких запросов и малых значений
max_tokens, затем сверяйте историю использования в консоли.
Главный инженерный принцип здесь прост: сначала подтвердить сетевой контракт отдельным запросом, затем проверить CLI и лишь после этого добавлять интеграцию IDE. Такой порядок сокращает область поиска, а единый базовый адрес https://api.acedata.cloud упрощает работу команд, которые используют несколько моделей в разных инструментах.
Comments
Post a Comment