ZvenoAI
Кейсы

OpenCode

Инструкция по настройке OpenCode для работы с ZvenoAI API. Используйте модели Anthropic, OpenAI, Google и других провайдеров в терминале без VPN.

OpenCode -- открытый терминальный AI-агент с полноценным TUI-интерфейсом. Подключите ZvenoAI как провайдера и работайте с моделями Anthropic, OpenAI, Google и 200+ других без VPN.

Открыть коммерческую инструкцию OpenCode + ZvenoAI с актуальными моделями и ценами

Что такое 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 в корне проекта:

~/.config/opencode/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, допишите её идентификатор в этот блок.

Как это работает

  1. OpenAI-совместимый протокол -- пакет @ai-sdk/openai-compatible отправляет запросы на https://api.zveno.ai/v1/chat/completions в формате OpenAI Chat Completions.
  2. Один провайдер на весь каталог -- через одну секцию конфига доступны модели Anthropic, OpenAI, Google, Qwen и остальных вендоров каталога ZvenoAI.
  3. Биллинг в рублях -- использование списывается с рублёвого баланса ZvenoAI, расходы видны в дашборде.

Рекомендуемые модели

Идентификатор для поля models и флага -m указывается в формате vendor/model-name:

Model IDВендорПримечание
anthropic/claude-sonnet-4.6AnthropicБаланс цены и качества
anthropic/claude-opus-4.6AnthropicСложные задачи
openai/gpt-5.2-codexOpenAIСпециалист по коду
google/gemini-3.1-pro-previewGoogleДлинный контекст (1M)
qwen/qwen3-max-thinkingQwenReasoning

Полный список моделей: Каталог моделей

Решение проблем

  • Ошибка авторизации (401) -- переменная ZVENOAI_API_KEY не видна в текущей сессии терминала. Выполните echo $ZVENOAI_API_KEY и перезапустите терминал после правки профиля.
  • Модели ZvenoAI не видны в /models -- проверьте, что конфиг лежит по пути ~/.config/opencode/opencode.json или в корне проекта и проходит валидацию JSON.
  • Модель отвечает ошибкой -- убедитесь, что идентификатор внутри блока models совпадает с идентификатором из каталога с точностью до символа, включая префикс вендора.

On this page