OpenCode × NormaHub
OpenCode с GPT и Claude из России
OpenCode работает с любым OpenAI-совместимым провайдером — достаточно описать NormaHub в конфиге. Получаете GPT, Claude и другие модели прямо в терминале из России: ключ в переменной окружения, оплата рублями, без VPN и зарубежных карт.
Для кого: разработчики, живущие в терминале и желающие гонять агентов на топовых моделях из России
Создать API keyБыстрый старт
От ключа до первого ответа
- 01
Создайте отдельный ключ в личном кабинете, пополните баланс рублями и положите ключ в переменную окружения NORMAHUB_API_KEY.
- 02
Добавьте провайдера normahub с baseURL https://api.normahub.cc/v1 в opencode.json и укажите MODEL_ID из каталога.
- 03
Полностью перезапустите OpenCode, выберите модель NormaHub и отправьте тестовый запрос — списание сверьте в истории кабинета.
Рабочий шаблон
Скопируйте основу и замените модель
Используйте только идентификатор из актуального каталога. Ключ храните в переменной окружения.
{
"provider": {
"normahub": {
"options": {
"baseURL": "https://api.normahub.cc/v1",
"apiKey": "{env:NORMAHUB_API_KEY}"
}
}
}
}Детали решения
Как это устроено
Зачем OpenCode связка с NormaHub
OpenCode — терминальный AI-агент, который пишет, правит и рефакторит код рядом с вами, но ему нужен провайдер моделей — а прямые кабинеты из России упираются в карты и регион. NormaHub закрывает вопрос одним конфигом: провайдер normahub для GPT-линейки через OpenAI-compatible API и отдельный провайдер для Claude через Anthropic-совместимый маршрут. Полный конфиг с обоими провайдерами и скрипт автоустановки — в гайде /guides/opencode, точные model ID — в каталоге /models.
Сколько стоит сессия агента
Агентские сессии прожорливы: OpenCode тащит в контекст файлы проекта, диффы и историю шагов, поэтому цена сессии зависит от модели и объёма контекста. Практика такая — рутину и мелкие правки гоняйте на дешёвой быстрой модели, а сложный рефакторинг отдавайте сильной; ставки входа и выхода каждой — в каталоге /models. Бюджет под вашу интенсивность считайте по методике /guides/token-cost, а от забытых ночных циклов страхуйтесь лимитом трат на ключе.
Нюансы: env, перезапуск и 403
Ключ храните только в переменной окружения NORMAHUB_API_KEY — в конфиге оставляйте ссылку {env:NORMAHUB_API_KEY}, а не сам ключ, иначе он утечёт вместе с дотфайлами. После правок opencode.json перезапускайте OpenCode полностью, иначе подхватится старый конфиг. Ошибка 403 означает, что модель недоступна вашему ключу — сверьте ID с каталогом /models; 401 — неверный ключ, 402 — пуст баланс. Полная таблица кодов — в /guides/errors.
Оплата и контроль расходов
Запросы оплачиваются с предварительно пополненного баланса по актуальным ставкам выбранной модели. Минимум и комиссия показываются перед оплатой в кабинете; лимит расходов задаётся для API-ключа.
Ограничения доступности
Возможности зависят от модели и внешнего маршрута. При недоступности provider запрос может завершиться ошибкой; проверяйте каталог, статус и документацию перед production.
Частые вопросы
Как добавить провайдера NormaHub в OpenCode?
Опишите провайдера normahub в opencode.json с baseURL https://api.normahub.cc/v1 и ключом из env, добавьте нужные model ID из каталога /models. Полный пример с GPT и Claude провайдерами — в гайде /guides/opencode.
Где хранить API-ключ?
Только в переменной окружения NORMAHUB_API_KEY, в конфиге — ссылка {env:NORMAHUB_API_KEY}. Не вписывайте ключ текстом: конфиг часто синхронизируется между машинами и утекает в бэкапы.
Сколько стоит сессия в OpenCode?
Зависит от модели и объёма контекста: агент подтягивает файлы и историю шагов, длинные сессии стоят заметно. Ставки каждой модели — в /models, методика подсчёта — в /guides/token-cost, страховка — лимит трат на ключе.
Почему 403 или модель не отвечает?
403 — модель недоступна вашему ключу: сверьте ID с каталогом /models побуквенно. Пустой ответ без ошибки обычно означает, что выбрана не та модель в интерфейсе — переключитесь на normahub. Остальные коды — в /guides/errors.
Нужны ли VPN и зарубежная карта?
Нет. Доступ к endpoint прямой из России, ключ заводится бесплатно, пополнение — рублями с баланса кабинета. Платите только за фактические запросы агента.