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 ваш ключ из личного кабинета
Ключ ляжет в ~/.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.
- · Моделей нет в /models — выполните в терминале
opencode auth list: он покажет, сохранился ли ключ. ID в /connect и в opencode.json должны совпадать буква в букву. - · Ответ «Такой модели нет в каталоге или она переименована» — имя в
modelsдолжно быть ровно таким, как в каталоге, через дефисы. - · Проектный opencode.json перекрывает общий и часто попадает в репозиторий. Ключ туда не пишите: храните его через /connect или ссылкой
{env:KOSAREVA_API_KEY}в полеoptions.apiKey. - · Агент отправляет модели файлы проекта и всю историю сессии: чем дольше сессия, тем дороже каждый следующий запрос. Смотрите статистику по ключу в кабинете.
- · Нулевой баланс блокирует запросы — пополните в кабинете.