kosareva.cloud
RU
РусскийEnglish

opencode через kosareva.cloud

opencode — открытый агент для работы с кодом: живёт в терминале, есть и десктопное приложение, и расширение для редактора. Он читает проект, правит файлы и запускает команды, а модель берёт у того провайдера, которого вы указали.

Наш шлюз подключается к нему как свой OpenAI-совместимый провайдер: ключ сохраняется командой /connect, адрес и модели описываются в opencode.json. Запросы идут прямо на api.kosareva.cloud, без VPN, оплата в рублях по факту.

Как подключить

/1Получите ключ

Создайте API-ключ в личном кабинете и пополните баланс — от 50 ₽. Агенту в терминале лучше завести отдельный ключ с лимитом в рублях: он работает долгими сессиями, и лимит ограничит неудачный день.

/2Установите opencode

На Linux и macOS — скриптом с сайта проекта:

curl -fsSL https://opencode.ai/install | bash

Или через npm:

npm install -g opencode-ai

На Windows разработчики советуют WSL; есть и установка через npm, Chocolatey и Scoop.

/3Сохраните ключ

Запустите opencode в папке проекта и выполните команду /connect. Прокрутите список провайдеров вниз до пункта Other, введите ID провайдера и вставьте ключ:

/connect
Other
Enter provider id    kosareva
Enter your API key   ВАШ_API_КЛЮЧ

Ключ ляжет в ~/.local/share/opencode/auth.json — в конфиг его писать не нужно. Сам /connect провайдера не настраивает, только хранит ключ: адрес задаётся на следующем шаге.

/4Опишите провайдера в opencode.json

Общие настройки лежат в ~/.config/opencode/opencode.json, настройки проекта — в opencode.json в его корне. Добавьте провайдера:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "kosareva": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "kosareva.cloud",
      "options": {
        "baseURL": "https://api.kosareva.cloud/v1"
      },
      "models": {
        "claude-sonnet-5": {
          "name": "Claude Sonnet 5",
          "limit": {
            "context": 1000000,
            "output": 32000
          }
        },
        "deepseek-v4-1-flash": {
          "name": "DeepSeek V4.1 Flash",
          "limit": {
            "context": 1048576,
            "output": 32000
          }
        }
      }
    }
  },
  "model": "kosareva/claude-sonnet-5",
  "small_model": "kosareva/deepseek-v4-1-flash"
}

Что здесь важно:

  • kosareva — тот же ID, что вы ввели в /connect: по нему opencode находит ключ.
  • @ai-sdk/openai-compatible — пакет для OpenAI-совместимых API в формате /v1/chat/completions; наш адрес — такой.
  • Ключи внутри models — имена моделей из каталога: claude-sonnet-5, deepseek-v4-1-flash и любые другие.
  • limit.context и limit.output — по ним opencode понимает, сколько контекста осталось. У встроенных провайдеров он берёт эти числа сам, у своего — только отсюда. Контекст — не больше, чем у модели в каталоге: у Claude Sonnet 5 — 1 000 000 токенов.
  • model — модель по умолчанию в формате провайдер/модель, small_model — модель для лёгких задач вроде заголовков сессий.

/5Выберите модель

Выполните /models: в списке появится kosareva.cloud с моделями из конфига. Если его нет — перезапустите opencode.

Что учесть

  • Проектный opencode.json перекрывает общий и часто попадает в репозиторий. Ключ туда не пишите: храните его через /connect или ссылкой {env:KOSAREVA_API_KEY} в поле options.apiKey.
  • Агент отправляет модели файлы проекта и всю историю сессии: чем дольше сессия, тем дороже каждый следующий запрос. Смотрите статистику по ключу в кабинете.

Список моделей

opencode подключает нас пакетом @ai-sdk/openai-compatible. Модели перечисляются в opencode.json, и у каждой нужен limit.context.

Протокол
OpenAI-совместимый, Chat Completions
Адрес
https://api.kosareva.cloud/v1
Имя модели
как в каталоге, латиницей через дефисы: claude-sonnet-5-5
Подходят
Любая текстовая модель каталога — сейчас их 105; агенту нужна модель с вызовом инструментов.
МодельИмя в запросеКонтекст, токеновВход / выход за 1M
Claude Sonnet 5.5claude-sonnet-5-51 000 000216 / 1 080 ₽
Claude Opus 5.5claude-opus-5-51 000 000432 / 2 160 ₽
GPT-6.1 Solgpt-6-1-sol1 050 000216 / 1 080 ₽
Gemini 3.8 Flashgemini-3-8-flash1 048 57681 / 405 ₽
Kimi K2.7 Codekimi-k2-7-code262 144103 / 432 ₽
GLM-5.3glm-5-31 310 720151 / 475 ₽
Qwen3.8 Maxqwen3-8-max1 000 000216 / 648 ₽
DeepSeek V4.1 Flashdeepseek-v4-1-flash1 048 57632,4 / 130 ₽

Контекст из таблицы — потолок для limit.context в opencode.json. Все модели с ценами — на странице цен. Точные имена отдаёт и сам API по адресу /v1/models.

Какие функции opencode работают через kosareva.cloud

opencode — открытый агент без своего облака для моделей: со своим провайдером работает всё, кроме сервисов самого opencode.

Агент в терминале, приложении и редакторе работает

Все три читают один и тот же opencode.json.

Модель для лёгких задач работает

small_model берёт на себя заголовки сессий и мелкую работу — может быть дешёвой моделью из каталога.

Свои агенты и MCP-серверы работает

Настраиваются в opencode как обычно и от провайдера моделей не зависят.

Модели и подписки самого opencode не работает

Это отдельный сервис со своим аккаунтом и оплатой, к нашему ключу отношения не имеет.

Рекомендуемые модели для opencode

В opencode две модели работают одновременно: основная и small_model. Вот как их можно распределить.

model

Claude Sonnet 5.5 claude-sonnet-5-5

Основная для правок и команд. Стоит столько же, сколько Sonnet 5 из примера выше.

model, если нужен длинный контекст

GPT-6.1 Sol gpt-6-1-sol

Окно больше миллиона токенов — в limit.context ставьте не больше 1 050 000.

Экономная основная

Kimi K2.7 Code kimi-k2-7-code

Модель Moonshot для программирования, заметно дешевле флагманов; окно 262 144 токенов.

small_model

DeepSeek V4.1 Flash deepseek-v4-1-flash

Для заголовков и мелких задач: копейки за запрос.

Устранение неполадок

Наши ошибки приходят с русским текстом — по нему и ищите свой случай. Подробные разборы — в справочнике.

Моделей нет в /models

Выполните в терминале opencode auth list: он покажет, сохранился ли ключ. ID провайдера в /connect и в opencode.json должны совпадать буква в букву. Если всё верно — перезапустите opencode.

401: «Ключ не найден» или «Ключ не принят»

Ключ скопирован не целиком, с пробелом или переносом строки, удалён в кабинете — или вставлен не в то поле. В opencode ключ хранится командой /connect; opencode auth list показывает, сохранился ли он. ID в /connect и в opencode.json должны совпадать буква в букву.

404: адрес без /v1 или с лишним хвостом

Базовый адрес — ровно https://api.kosareva.cloud/v1. Без /v1 запрос уходит мимо API, а с /chat/completions на конце путь удваивается — инструмент допишет его сам. В opencode это options.baseURL провайдера.

«Такой модели нет в каталоге»

Имя модели — как в каталоге: латиницей через дефисы, например claude-sonnet-5-5. Вариант через точку шлюз поймёт сам, а с префиксом вендора (anthropic/…), датой версии или пробелом — нет. Ключи внутри models в opencode.json — имена из каталога.

402: «Закончились средства на балансе»

На балансе не хватает денег на запрос. Пополните его в кабинете картой или СБП — от 50 ₽. Если деньги на балансе есть, а отказ повторяется, проверьте, не стоит ли у ключа свой лимит в рублях.

Ответ обрывается на полуслове

Модель упёрлась в потолок длины ответа — max_tokens. Поднимите его или попросите модель продолжить. В opencode это limit.output у модели. Обратная ошибка — 400 «Запрос длиннее, чем помещается в контекст этой модели»: потолок ответа вместе с историей не влезает в окно модели. Тогда уменьшите потолок или сожмите историю.

Долго нет ответа или 504

Длинный ответ без потоковой выдачи идёт минутами, и инструмент может сдаться раньше модели. Если пришёл наш 504 «Модель не ответила за отведённое время», деньги за такой запрос не списываются — повторите его.

Частые вопросы

Можно ли держать разные модели для разных проектов?

Да: opencode.json в корне проекта перекрывает общий. Задайте в нём свои model и small_model — ключ останется общим, сохранённым через /connect.

Нужен ли аккаунт opencode?

Нет. Со своим провайдером opencode работает без регистрации.

Нужен ли VPN?

Нет. opencode обращается к нашему API напрямую, он отвечает из России.

Сколько это стоит?

Только токены, абонентской платы нет. Например, Claude Sonnet 5.5 — 216 ₽ за миллион входных токенов и 1 080 ₽ за миллион выходных, DeepSeek V4.1 Flash для small_model — 32,4 ₽ и 130 ₽.

Рекомендуемые модели и цены

На странице модели — все цены, включая кэш, и калькулятор расхода.