OpenCode
Настройка OpenCode с PlusVibe API через ~/.config/opencode/opencode.json: OpenAI-совместимый провайдер, baseURL plusvibeapi.ru/v1.
OpenCode — npm-пакет для агентного кодирования в терминале. Провайдеры настраиваются в ~/.config/opencode/opencode.json.
Готовый конфиг со всеми моделями
OpenCode не читает размер контекста из /v1/models: у модели, добавленной вручную, он показывает контекст 0 и не сжимает историю вовремя. Вместо ручного ввода скачайте готовый конфиг — его собирает наш каталог: все опубликованные модели с названием, контекстом, лимитом ответа и флагами «картинки / рассуждения / инструменты». Ключа внутри нет, только ссылка {env:PLUSVIBE_API_KEY}.
# macOS / Linux — новый конфиг со всеми моделями и их контекстом
mkdir -p ~/.config/opencode
curl -fsSL https://plusvibeapi.ru/api/integrations/opencode.json -o ~/.config/opencode/opencode.json# Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.config\opencode" | Out-Null
Invoke-WebRequest https://plusvibeapi.ru/api/integrations/opencode.json -OutFile "$HOME\.config\opencode\opencode.json"Если opencode.json уже настроен под себя, не перезаписывайте его — замените только блок провайдера, остальные настройки останутся:
# Уже есть свой opencode.json — заменить только блок провайдера (нужен jq)
cd ~/.config/opencode && cp opencode.json opencode.json.bak
curl -fsSL https://plusvibeapi.ru/api/integrations/opencode.json -o provider.json
jq --slurpfile pv provider.json '.provider = ((.provider // {}) + $pv[0].provider)' opencode.json.bak > opencode.json# Только нужные модели (ID через запятую); ?variants=1 — ещё и закреплённые каналы
curl -fsSL "https://plusvibeapi.ru/api/integrations/opencode.json?models=anthropic/claude-opus-5,openai/gpt-5.6-luna"opencode.json вручную
{
"provider": {
"plusvibe": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://plusvibeapi.ru/v1",
"apiKey": "{env:PLUSVIBE_API_KEY}"
},
"models": {
"gpt-5.6-terra": {
"attachment": true,
"modalities": { "input": ["text", "image"], "output": ["text"] }
},
"claude-opus-4.8": {
"attachment": true,
"modalities": { "input": ["text", "image"], "output": ["text"] }
}
}
}
}
}Задайте PLUSVIBE_API_KEY в shell и запустите OpenCode обычным способом.
models укажите только нужные публичные ID моделей. Полный список — в каталоге. Для обычной работы используйте голое имя без :suffix: суффикс закрепляет один канал и отключает автоматическое переключение на здоровый канал."attachment": true. OpenCode берёт список возможностей моделей из справочника models.dev, а PlusVibe в нём нет — поэтому у модели, описанной пустым {}, вложения считаются недоступными, и OpenCode отправляет запрос без изображения. Модель честно отвечает, что картинку не видит, хотя у неё есть зрение. Добавьте attachment и modalities каждой модели, у которой в каталоге указан ввод «изображение».