OpenCode + Evrona
OpenCode описывает провайдера в opencode.json, а ключ читает из переменной окружения.
Что нужно подготовить
Нет ключа? Создайте аккаунт — ключ создаётся в кабинете, в разделе «API-ключи», и полное значение показывается один раз. Model ID копируется из каталога целиком, вместе с префиксом до «/».
Порядок подключения
Впишите блок провайдера в opencode.json — в папке проекта либо в ~/.config/opencode/.
Сохраните ключ в переменной окружения EVRONA_API_KEY.
Запустите opencode, затем выберите модель командой /models.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"evrona": {
"npm": "@ai-sdk/openai-compatible",
"name": "Evrona",
"options": {
"baseURL": "https://evrona.ru/v1",
"apiKey": "{env:EVRONA_API_KEY}"
},
"models": {
"openai/gpt-6-astra": { "name": "GPT-6 Astra" }
}
}
}
}Модели в конфиге перечисляются поимённо: списка OpenCode у провайдера не запрашивает. Нужна ещё одна — допишите её строкой в models.
Вызов функций поддерживается, поэтому агентные режимы работают. Строгий JSON-режим (response_format) и снятый формат functions шлюз отклоняет ошибкой unsupported_parameter — молча параметр не теряется. Картинки на вход берут модели с пометкой «Понимает изображения» в каталоге: часть content типа image_url со ссылкой вида data:image/png;base64,… (PNG, JPEG или WebP, до 5 МБ каждая, до 50 штук на запрос). Внешние ссылки шлюз не скачивает, а модель без этой пометки возвращает ошибку unsupported_capability — обе ошибки прямо называют причину.