OpenCode
Добавление подключения provod.ai и доступного каталога моделей в OpenCode.
Обновлено
Выберите установщик или ручную настройку
В OpenCode поставщик — это именованное подключение к API с моделями и параметрами соединения. Установщик настраивает уже установленный OpenCode, но не устанавливает сам OpenCode. Он авторизованно запрашивает GET /v1/models, добавляет или обновляет поставщика provod и переносит в локальный файл названия, лимиты, возможности, типы данных и публичные цены из ответа.
Используйте установщик для настройки по актуальному каталогу. Ручное подключение подходит, когда нужно самостоятельно проверить и объединить каждое поле.
Запустите установщик
export PROVOD_API_KEY="sk_..."
curl -fsSL https://app.provod.ai/install/opencode.sh | \
PROVOD_API_KEY="$PROVOD_API_KEY" shЧтобы использовать нестандартный файл, задайте OPENCODE_CONFIG до команды. Иначе установщик проверяет ~/.config/opencode/opencode.json, затем opencode.jsonc и создаёт opencode.json, если файлов нет.
Версия для macOS/Linux делает резервную копию существующего файла перед изменением. Установщик PowerShell не создаёт копию, поэтому заранее скопируйте важный файл настроек.
Настройте подключение вручную
Сначала экспортируйте ключ и выберите доступный точный идентификатор через GET /v1/models. Затем замените каждую строку model-id-from-GET-v1-models ниже на этот идентификатор, а вместо указанной в примере переменной PROVOD_API_KEY вставьте текущее значение ключа.
export PROVOD_API_KEY="sk_..."Ручная настройка сохраняет ключ открытым текстом
Значение apiKey записывается в локальный файл настроек OpenCode. Защищайте файл как секрет, не добавляйте его в репозитории и общие резервные копии, а для OpenCode создайте отдельный ключ с подходящим лимитом расходов.
{
"$schema": "https://opencode.ai/config.json",
"model": "provod/model-id-from-GET-v1-models",
"provider": {
"provod": {
"npm": "@ai-sdk/openai-compatible",
"name": "provod.ai",
"options": {
"baseURL": "https://api.provod.ai/v1",
"apiKey": "paste-value-from-PROVOD_API_KEY"
},
"models": {
"model-id-from-GET-v1-models": {
"name": "model-id-from-GET-v1-models"
}
}
}
}
}Сохраните пример как ~/.config/opencode/opencode.json, затем ограничьте доступ к каталогу и файлу с ключом текущим пользователем. Если OPENCODE_CONFIG указывает другой путь, задайте этому файлу такие же права только для владельца:
chmod 700 ~/.config/opencode
chmod 600 ~/.config/opencode/opencode.jsonРучной пример задаёт только подключение. Установщик удобнее, если OpenCode должен получить из каталога актуальные лимиты контекста и ответа, поддержку рассуждений, инструментов и изображений, а также цены.
Проверьте текущую конфигурацию
Выведите модели, которые OpenCode загрузил для поставщика:
opencode models provodВыберите одну через /models или напрямую запустите текущий ID из каталога:
export PROVOD_MODEL="model-id-from-GET-v1-models"
opencode run --model "provod/$PROVOD_MODEL" "Reply with ok"Восстановите или обновите конфигурацию
В macOS/Linux установщик выводит путь к резервной копии с отметкой времени. Если объединённый файл перестал загружаться, остановите OpenCode, сохраните нерабочий файл для сравнения, восстановите указанную копию и перед повторным запуском проверьте OPENCODE_CONFIG.
Если установщик для оболочки не может безопасно объединить настройки, он сохраняет копию и записывает отдельный фрагмент provod-opencode-provider.jsonc для проверки. В Windows восстановите копию, сделанную до запуска PowerShell. Повторный запуск обновляет каталог; копировать новые идентификаторы моделей с этой страницы не нужно.
Публичный код ошибки — это предназначенное для клиента значение error.code из ответа API. Сохраните его вместе с HTTP-статусом, точным идентификатором модели, временем, версией OpenCode, путём к файлу настроек и маскированным префиксом ключа. Безопасная работа с ключом описана в авторизации API, а формат запроса — в Chat Completions.