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

Popular posts from this blog

Artistic QR Code API Integration Guidance

How to Configure Claude Code with CC Switch and Ace Data Cloud