Перейти к основному содержанию
OpenCode — ИИ-агент для разработки с открытым исходным кодом, который работает в терминале: читает и редактирует файлы проекта, выполняет команды и доводит задачу до конца. Он не привязан к одному поставщику моделей, поэтому подключается к RuAPI напрямую. RuAPI даёт доступ к Claude, GPT, Gemini, DeepSeek, GLM, Qwen и Kimi по одному ключу и работает из России без VPN. Баланс пополняется в USDT, карта иностранного банка не нужна.

Как это устроено

В OpenCode модели подключаются через провайдеров, которые описываются в файле opencode.json. Для RuAPI нужны два:

Что понадобится

1

Ключ RuAPI

Зарегистрируйтесь на www.ruapi.ai и пополните баланс (как пополнить). Затем откройте Консоль → API-ключи и нажмите Создать ключ. Ключ начинается с sk-.
2

Установленный OpenCode

На macOS и Linux:
Или через npm на любой системе, включая Windows:
На Windows разработчики OpenCode рекомендуют работать в WSL.
Банковская карта не нужна: баланс пополняется в USDT. Если USDT у вас ещё нет, купить его за рубли поможет пошаговая инструкция. Карты иностранных банков тоже принимаются.

Шаг 1. Сохраните ключ в переменной окружения

Чтобы ключ не попал в файл настроек, OpenCode будет брать его из переменной окружения RUAPI_API_KEY.
Добавьте строку в ~/.zshrc (или ~/.bashrc, если у вас bash), подставив свой ключ:
Затем откройте новое окно терминала, чтобы изменения вступили в силу.

Шаг 2. Опишите провайдеров в opencode.json

Откройте (или создайте) глобальный файл настроек ~/.config/opencode/opencode.json и вставьте:
Что здесь происходит:
  • anthropic — встроенный провайдер OpenCode для Claude. В конфигурации ему только меняется адрес на RuAPI и подставляется ваш ключ, поэтому запросы идут в родном формате Claude, с кэшированием.
  • ruapi — свой провайдер для всех остальных моделей. Чтобы добавить модель, допишите строку в блок models, например, "kimi/kimi-k3": { "name": "Kimi K3" }. Точные имена моделей приведены на странице цен.
  • model — модель по умолчанию в формате провайдер/модель.
Если файл opencode.json лежит и в папке проекта, OpenCode объединяет оба файла, причём настройки проекта имеют приоритет над глобальными. Не храните ключ прямо в файле проекта — используйте {env:RUAPI_API_KEY}, как в примере.

Шаг 3. Запустите OpenCode и выберите модель

Перейдите в папку проекта и запустите агента:
В OpenCode введите /models и выберите модель, например, anthropic/claude-sonnet-5-5 или ruapi/deepseek-flash. Затем поставьте задачу:
Чтобы убедиться, что запросы идут через RuAPI, откройте Консоль → Журнал запросов: там появятся записи с моделью и стоимостью каждого запроса. Для Claude начиная со второго-третьего шага в подробностях записи видно, сколько токенов прочитано из кэша.

Какую модель выбрать

Решение проблем

  • Проверьте, что переменная RUAPI_API_KEY доступна в терминале, где запущен OpenCode: после её создания нужно открыть новое окно.
  • В обоих провайдерах baseURL должен быть https://www.ruapi.ai/v1.
Список моделей встроенного провайдера anthropic OpenCode берёт из своего каталога. Обновите OpenCode; если модели всё равно нет, добавьте в блок anthropic раздел models с нужным именем, например, "claude-opus-5-5": { "name": "Claude Opus 5.5" }.
Имя модели должно в точности совпадать с именем на RuAPI — скопируйте его со страницы цен. Модели Claude выбирайте у провайдера anthropic, остальные — у ruapi.
Проверьте, что JSON корректен: все кавычки двойные, после последнего элемента в блоке нет лишней запятой.
Такое случается у DeepSeek в режиме рассуждений, если сменить модель посреди задачи. В большинстве случаев RuAPI сам повторяет запрос в исправленном виде. Если ошибка не исчезла, начните новую сессию.

Что дальше