ДокументацияOpenCode
OpenCode
OpenCode можно подключить к Zenvy как OpenAI-compatible provider. Все запросы идут на https://api.zenvy.su/v1, а Zenvy уже проверяет ваш ключ, списывает баланс и обрабатывает запрос через настроенный AI-маршрут.
Zenvy поддерживает обычные ответы, streaming и OpenAI-compatible tool calling (tools, tool_choice, parallel_tool_calls), поэтому OpenCode может работать как агент, а не только как чат.
Что понадобится
- API-ключ Zenvy вида
sk-zenvy-...из раздела API-ключи. - Положительный баланс аккаунта.
- Модель Zenvy. Для первого запуска используйте
claude-sonnet-4.6, а для дешёвых вспомогательных задач —deepseek-chat.
В OpenCode вставляйте именно Zenvy API-ключ sk-zenvy-.... Ключи внешних провайдеров нужны только владельцу Zenvy в админке провайдеров.
Быстрый старт
Шаг 1. Установите OpenCode
curl -fsSL https://opencode.ai/install | bashИли через npm:
npm install -g opencode-aiПроверьте установку:
opencode --versionШаг 2. Выберите способ подключения
Есть два удобных сценария:
| Способ | Когда выбрать |
|---|---|
Через /connect | Ключ хранится отдельно от opencode.json; безопаснее для проектов в git |
| Через конфиг | Всё описано в одном файле; удобно для личной машины или CI с env-переменной |
Способ A. Через /connect
Запустите OpenCode в проекте:
opencodeВ TUI выполните:
/connectДальше:
- Выберите Other.
- Введите provider ID:
zenvy. - Введите API-ключ Zenvy:
sk-zenvy-....
После этого ключ будет храниться в auth-хранилище OpenCode, а в проектный конфиг попадёт только описание provider и моделей.
Создайте opencode.json в корне проекта:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zenvy": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenvy",
"options": {
"baseURL": "https://api.zenvy.su/v1"
},
"models": {
"claude-sonnet-4.6": {
"name": "Claude Sonnet",
"limit": {
"context": 200000,
"output": 8192
}
},
"gpt-5-5": {
"name": "GPT-5.5",
"limit": {
"context": 256000,
"output": 8192
}
},
"deepseek-chat": {
"name": "DeepSeek Chat",
"limit": {
"context": 128000,
"output": 8192
}
}
}
}
},
"model": "zenvy/claude-sonnet-4.6",
"small_model": "zenvy/deepseek-chat"
}Перезапустите OpenCode и выберите модель через:
/modelsСпособ B. Полностью через конфиг
Если вы хотите подключить Zenvy без /connect, укажите ключ в opencode.json.
Через переменную окружения
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zenvy": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenvy",
"options": {
"baseURL": "https://api.zenvy.su/v1",
"apiKey": "{env:ZENVY_API_KEY}"
},
"models": {
"claude-sonnet-4.6": {
"name": "Claude Sonnet",
"limit": {
"context": 200000,
"output": 8192
}
},
"gpt-5-5": {
"name": "GPT-5.5",
"limit": {
"context": 256000,
"output": 8192
}
},
"deepseek-chat": {
"name": "DeepSeek Chat",
"limit": {
"context": 128000,
"output": 8192
}
}
}
}
},
"model": "zenvy/claude-sonnet-4.6",
"small_model": "zenvy/deepseek-chat"
}Задайте переменную окружения:
export ZENVY_API_KEY="sk-zenvy-..."Постоянная настройка:
echo 'export ZENVY_API_KEY="sk-zenvy-..."' >> ~/.bashrc
source ~/.bashrcПосле сохранения в Windows откройте новый терминал.
Через файл с ключом
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"zenvy": {
"npm": "@ai-sdk/openai-compatible",
"name": "Zenvy",
"options": {
"baseURL": "https://api.zenvy.su/v1",
"apiKey": "{file:~/.secrets/zenvy-key}"
},
"models": {
"claude-sonnet-4.6": {
"name": "Claude Sonnet"
},
"gpt-5-5": {
"name": "GPT-5.5"
},
"deepseek-chat": {
"name": "DeepSeek Chat"
}
}
}
},
"model": "zenvy/claude-sonnet-4.6",
"small_model": "zenvy/deepseek-chat"
}Файл ~/.secrets/zenvy-key должен содержать только ключ sk-zenvy-... без лишнего текста.
Проверка подключения
Перед запуском OpenCode проверьте ключ через curl:
curl https://api.zenvy.su/v1/chat/completions \
-H "Authorization: Bearer sk-zenvy-..." \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4.6",
"messages": [
{ "role": "user", "content": "Ответь одним словом: ok" }
],
"max_tokens": 8
}'Если ответ приходит, запускайте:
opencodeПолезные команды внутри TUI:
| Команда | Что делает |
|---|---|
/connect | Добавить или обновить credentials |
/models | Выбрать модель |
/agents | Переключить агента |
/help | Показать команды |
Рекомендуемые модели
| Model ID | Для чего |
|---|---|
claude-sonnet-4.6 | Основная модель для coding-агента |
gpt-5-5 | Модели OpenAI, сложные задачи |
deepseek-chat | Дешёвые быстрые задачи и small_model |
Актуальный список доступных моделей можно получить:
curl https://api.zenvy.su/v1/modelsУстранение неполадок
| Симптом | В чём проблема |
|---|---|
401 | Вставлен ключ внешнего провайдера вместо Zenvy. Нужен ключ sk-zenvy-.... |
402 insufficient_balance | На балансе Zenvy нет средств. Пополните баланс в личном кабинете. |
404 model_not_found | В model указан ID, которого нет в Zenvy. Проверьте список через GET /v1/models. |
502 provider_unavailable | Upstream-провайдер временно недоступен. Повторите запрос позже. |
| Агент не вызывает tools | Модель без tool calling или неверный SDK. Используйте @ai-sdk/openai-compatible и модель с tools: true. |
Безопасность
- Не коммитьте
opencode.json, если внутри есть прямойapiKey. - Для командной работы лучше использовать
/connect,{env:ZENVY_API_KEY}или{file:~/.secrets/zenvy-key}. - Если ключ утёк, удалите его в кабинете Zenvy и создайте новый.