Проблема доступа из России
opencode — терминальный ИИ-агент для разработки с открытым исходным кодом: более 203 тысяч звёзд на GitHub, лицензия MIT. Проект начинала команда SST, затем она провела ребрендинг в Anomaly, и теперь официальный дом репозитория — anomalyco/opencode. Старый адрес sst/opencode перенаправляет на новый, но ссылки в инструкциях годичной давности стоит обновить: документация, релизы и 이슈ы живут именно в репозитории Anomaly.
Агент работает прямо в терминале в виде TUI: читает и правит файлы, выполняет команды, подключает MCP-серверы и языковые серверы LSP (30+ встроенных — от TypeScript и Python до Rust и Go). Из коробки поддерживается 75+ провайдеров моделей. Внутри два агента: build — полный доступ к проекту, и plan — режим только для чтения, который анализирует код и спрашивает разрешение на команды; переключение по клавише Tab.
Для разработчика из России упорается всё в две стены. Первая — геоблокировки: Anthropic и OpenAI не работают с российских IP и не принимают карты российских банков, а значит, ни купить подписку, ни получить ключ напрямую не выходит. Вторая — сам opencode: встроенные плагины, позволявшие работать с Claude по подписке Pro/Max, удалены из проекта начиная с версии 1.3.0, поскольку Anthropic прямо это запрещает. Оставшийся официальный путь к Claude в opencode — обычный API-ключ. Тот самый ключ, который из России купить нельзя.
VPN снимает блокировку по IP, но не решает оплату и добавляет нестабильности длинным агентным сессиям. Рабочий выход — подключить агента к шлюзу, который принимает рубли и отдаёт модели по стандартному API.
Решение: PlusVibe API
PlusVibe API — это OpenAI-совместимый шлюз по адресу https://plusvibeapi.ru/v1: тот же формат запросов и ответов, что у OpenAI, включая GET /v1/models. opencode официально поддерживает произвольные OpenAI-совместимые провайдеры — именно этот механизм описан в документации как способ подключить любой нестандартный эндпоинт.
Что это даёт на практике:
- Без VPN. Соединение идёт напрямую на российский сервер.
- Оплата в рублях. Карта РФ или счёт для юрлиц — без иностранных карт и подписок.
- Любая модель каталога. Через один провайдер
plusvibeагенту доступны все модели шлюза: GPT, Claude, DeepSeek, Gemini, GLM и другие — список на странице /models. - Ключ вместо подписки. Ровно тот формат доступа к Claude, который opencode поддерживает после 1.3.0, — без обходных плагинов.
Ключ вида sk-pv-… создаётся в личном кабинете после регистрации на /register. Базовые примеры запросов к API собраны в документации. Если plusvibeapi.ru недоступен из вашей сети, используйте резервный адрес https://gw.plusvibeapi.ru/v1 — тот же API, ключи и баланс общие, меняется только baseURL.
Установка и настройка opencode
Шаг 1. Установка
Актуальная версия пакета — 1.18.27 (проверить можно на странице пакета opencode-ai в npm). Установка через скрипт:
curl -fsSL https://opencode.ai/install | bashили через пакетный менеджер:
npm i -g opencode-ai@latest # либо bun / pnpm / yarn
brew install anomalyco/tap/opencode # macOS и Linux, всегда свежая версияНа Windows работают scoop install opencode и choco install opencode. Если ставите поверх старой версии 0.1.x — сначала удалите её. Проверка: opencode --version. Помимо терминального TUI у проекта есть десктопное приложение (бета) для macOS, Windows и Linux — конфиг и провайдеры у них общие, так что настройка ниже работает для обоих вариантов.
Шаг 2. Конфиг провайдера PlusVibe
Создайте (или дополните) глобальный конфиг ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"plusvibe": {
"npm": "@ai-sdk/openai-compatible",
"name": "PlusVibe",
"options": {
"baseURL": "https://plusvibeapi.ru/v1",
"apiKey": "{env:PLUSVIBE_API_KEY}"
},
"models": {
"gpt-5.6-luna": { "name": "GPT-5.6 Luna" },
"deepseek-v4-flash-0731": { "name": "DeepSeek V4 Flash" },
"claude-opus-4.8": { "name": "Claude Opus 4.8" }
}
}
}
}Разбор полей по официальной документации: npm — пакет AI SDK для OpenAI-совместимых эндпоинтов (/v1/chat/completions); options.baseURL — адрес шлюза; options.apiKey — ключ, где {env:PLUSVIBE_API_KEY} это ссылка на переменную окружения, а не сам секрет; models — какие модели показать в пикере. Конфиг можно положить и в корень проекта в файл opencode.json — проектный слой переопределяет глобальный.
Шаг 3. Ключ в переменную окружения
Для bash:
echo 'export PLUSVIBE_API_KEY=sk-pv-ВАШ_КЛЮЧ' >> ~/.bashrc
source ~/.bashrcДля zsh (macOS):
echo 'export PLUSVIBE_API_KEY=sk-pv-ВАШ_КЛЮЧ' >> ~/.zshrc
source ~/.zshrcНа Windows (PowerShell) — setx PLUSVIBE_API_KEY "sk-pv-ВАШ_КЛЮЧ", затем откройте терминал заново.
Альтернативный путь без конфига: команда /connect внутри TUI → пункт Other → идентификатор провайдера (например, plusvibe) → ключ. Кладётся в локальное хранилище auth.json; конфиг из шага 2 всё равно понадобится, чтобы объявить модели.
Шаг 4. Запуск и выбор модели
cd ~/my-project
opencodeВнутри TUI команда /models показывает провайдера PlusVibe и его модели — выберите рабочую. Переключение между агентами — клавишей Tab: build правит файлы, plan сначала читает и предлагает план. Для сложного поиска по кодовой базе в сообщении можно позвать сабагента: @general найди все места, где используется старый формат конфига.
Пример работы
Типовая сессия в режиме build:
> Добавь в модуль авторизации проверку срока действия токена и напиши тестыАгент сам читает модуль, вносит правки, создаёт тесты и запускает их, итерируя по ошибкам, — каждый шаг виден в TUI и требует вашего подтверждения по активной политике прав. Режим plan полезен перед большим рефакторингом: он исследует кодовую базу в режиме только для чтения и выдаёт план, ничего не трогая.
Если проект использует LSP, включите диагностику языковых серверов как обратную связь для агента: "lsp": true в конфиге. По умолчанию LSP выключен, а встроенных серверов больше тридцати — от typescript и pyright до rust-analyzer и gopls.
Отдельно оцените правила проекта: файл AGENTS.md в корне репозитория попадает в контекст агента на каждом шаге — опишите в нём стек, конвенции кода и запрещённые приёмы. Команда /init просканирует репозиторий и сгенерирует черновик автоматически; файл стоит закоммитить, чтобы одни и те же правила действовали у всей команды.
Есть и безинтерактивный режим для скриптов и CI — одна команда выполняет задачу и завершается:
opencode run "Объясни, как работает модуль биллинга, и найди в нём гонки" \
--model plusvibe/gpt-5.6-luna --agent planФлаг --model принимает модель в формате провайдер/модель, --agent plan выбирает режим только для чтения, а --continue продолжает последнюю сессию вместо новой — история шагов сохраняется локально.
Частые проблемы
Провайдер не появляется в /models. Проверьте, что конфиг лежит в одном из читаемых мест: глобально ~/.config/opencode/opencode.json или в корне проекта opencode.json, и что JSON валиден. Идентификатор в provider должен совпадать с тем, что вы задали при /connect, если сохраняли ключ через него.
«Invalid API key» / 401. Ключ PlusVibe начинается с sk-pv-. Убедитесь, что переменная видна в текущей сессии: echo $PLUSVIBE_API_KEY. После setx на Windows терминал нужно открыть заново.
Модель не находится. В конфиге опечатка в идентификаторе: он должен совпадать с тем, что отдаёт GET /v1/models шлюза. Скопируйте точные имена со страницы /models.
Агент «завис» на длинном шаге. Генерация с большим контекстом может занимать минуты. Прерывание текущей операции не теряет историю сессии — её можно продолжить с --continue.
Цены и модели
Через провайдера plusvibe в opencode работает весь наш каталог. Оплата по факту использования: отдельно за входящие и исходящие токены, без подписок. Две рекомендации: дешёвая рабочая лошадка на каждый день — gpt-5.6-luna, сильный вариант для сложного рефакторинга и архитектуры — claude-opus-4.8.
У моделей с поддержкой кэширования повторное чтение контекста стоит на порядок дешевле входа — в длинных агентных сессиях, где история пересылается на каждом шаге, это заметно снижает итоговый счёт. Цены актуальны на 4 сентября 2026 года; живой каталог со всеми вариантами — на /models.
Итог
opencode — один из самых зрелых открытых кодинг-агентов: терминальный, быстрый, с двумя ролями агентов, LSP и MCP. Из России его ограничивали не технологии, а оплата и геоблокировки — особенно после того, как проект убрал обходные плагины для подписки Claude и оставил единственный путь через API-ключ.
PlusVibe API закрывает этот разрыв штатным механизмом opencode — кастомным OpenAI-совместимым провайдером: один конфиг ~/.config/opencode/opencode.json, одна переменная PLUSVIBE_API_KEY, и агенту доступен весь каталог моделей с оплатой в рублях. Настройка занимает пять минут и работает одинаково на ноутбуке, сервере и в CI.
Начните с регистрации на /register и первого запуска opencode. Если выбираете между терминальными агентами, сравните с настройкой Claude Code в России, Codex CLI в России и Aider в России.
Запустите opencode прямо сейчас
GPT, Claude и DeepSeek через один ключ. Оплата картой РФ или по счёту для юрлиц.
Получить ключ →


