OpenCode
Инструкция по настройке OpenCode для работы с ZvenoAI API. Используйте модели Anthropic, OpenAI, Google и других провайдеров в терминале без VPN.
OpenCode -- открытый терминальный AI-агент с полноценным TUI-интерфейсом. Подключите ZvenoAI как провайдера и работайте с моделями Anthropic, OpenAI, Google и 200+ других без VPN.
Что такое OpenCode
OpenCode -- агент для работы с кодом в терминале от команды SST. В отличие от Codex CLI и Claude Code, он не привязан к одному вендору моделей: провайдер и модель выбираются в конфиге, переключаться между ними можно прямо в сессии.
- Работа в терминале -- полноценный интерфейс с чатом, диффами и историей сессий.
- Любая модель -- один инструмент для Claude, GPT, Gemini и остального каталога.
- Режимы Plan и Build -- планирование без изменения файлов и выполнение с правками.
Быстрый старт
Настройка занимает 3 минуты. Инструкция проверена на OpenCode 1.17.
1. Получите API ключ
Зарегистрируйтесь на zveno.ai и создайте API ключ в личном кабинете.
2. Установите OpenCode
bash curl -fsSL https://opencode.ai/install | bash bash npm install -g opencode-ai bash brew install sst/tap/opencode 3. Задайте API ключ в переменной окружения
# Откройте профиль оболочки
nano ~/.zshrc # или ~/.bashrc для Bash
# Добавьте строку:
export ZVENOAI_API_KEY="<ваш-api-ключ-zvenoai>"
# Перезапустите терминал для применения изменений4. Добавьте провайдера ZvenoAI
Создайте или дополните файл ~/.config/opencode/opencode.json (глобальная настройка) либо opencode.json в корне проекта:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zvenoai": {
"npm": "@ai-sdk/openai-compatible",
"name": "ZvenoAI",
"options": {
"baseURL": "https://api.zveno.ai/v1",
"apiKey": "{env:ZVENOAI_API_KEY}"
},
"models": {
"anthropic/claude-sonnet-4.6": { "name": "Claude Sonnet 4.6" },
"anthropic/claude-opus-4.6": { "name": "Claude Opus 4.6" },
"openai/gpt-5.2-codex": { "name": "GPT-5.2 Codex" },
"google/gemini-3.1-pro-preview": { "name": "Gemini 3.1 Pro" }
}
}
}
}Синтаксис {env:ZVENOAI_API_KEY} читает ключ из переменной окружения -- сам ключ в файле не хранится.
5. Запустите и выберите модель
cd /path/to/your/project
opencodeВнутри сессии выполните команду /models и выберите модель из блока ZvenoAI. Либо укажите модель сразу при запуске:
opencode run -m "zvenoai/anthropic/claude-sonnet-4.6" "Опиши структуру этого проекта"В списке /models показываются только модели, перечисленные в блоке models конфига. Чтобы
добавить другую модель из каталога ZvenoAI, допишите её идентификатор в этот блок.
Как это работает
- OpenAI-совместимый протокол -- пакет
@ai-sdk/openai-compatibleотправляет запросы наhttps://api.zveno.ai/v1/chat/completionsв формате OpenAI Chat Completions. - Один провайдер на весь каталог -- через одну секцию конфига доступны модели Anthropic, OpenAI, Google, Qwen и остальных вендоров каталога ZvenoAI.
- Биллинг в рублях -- использование списывается с рублёвого баланса ZvenoAI, расходы видны в дашборде.
Рекомендуемые модели
Идентификатор для поля models и флага -m указывается в формате vendor/model-name:
| Model ID | Вендор | Примечание |
|---|---|---|
anthropic/claude-sonnet-4.6 | Anthropic | Баланс цены и качества |
anthropic/claude-opus-4.6 | Anthropic | Сложные задачи |
openai/gpt-5.2-codex | OpenAI | Специалист по коду |
google/gemini-3.1-pro-preview | Длинный контекст (1M) | |
qwen/qwen3-max-thinking | Qwen | Reasoning |
Полный список моделей: Каталог моделей
Решение проблем
- Ошибка авторизации (401) -- переменная
ZVENOAI_API_KEYне видна в текущей сессии терминала. Выполнитеecho $ZVENOAI_API_KEYи перезапустите терминал после правки профиля. - Модели ZvenoAI не видны в
/models-- проверьте, что конфиг лежит по пути~/.config/opencode/opencode.jsonили в корне проекта и проходит валидацию JSON. - Модель отвечает ошибкой -- убедитесь, что идентификатор внутри блока
modelsсовпадает с идентификатором из каталога с точностью до символа, включая префикс вендора.