OpenCode

OpenCode через NormaHub

Отдельный provider в конфигурации OpenCode, секрет в environment и модель из текущего каталога — GPT и Claude без VPN и зарубежной карты.

Для кого: разработчики и команды, использующие coding agents

Создать API key

Быстрый старт

От ключа до первого ответа

  1. 01

    Создайте отдельный ключ для агента.

  2. 02

    Добавьте provider и переменную окружения.

  3. 03

    Выберите модель и отправьте короткий запрос.

Рабочий шаблон

Скопируйте основу и замените модель

Используйте только идентификатор из актуального каталога. Ключ храните в переменной окружения.

OpenCode · provider config
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "normahub": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.normahub.cc/v1",
        "apiKey": "{env:NORMAHUB_API_KEY}"
      },
      "models": { "MODEL_ID": { "name": "NormaHub model" } }
    }
  }
}
Конфигурация не содержит постоянный секрет.
Модель и возможности сверяются по каталогу.
Ошибки 401, 402, 403, 429 и 503 имеют отдельную диагностику.

Детали решения

Как это устроено

Почему агенту нужен отдельный ключ

Coding-агент генерирует десятки запросов за сессию: чтение файлов, планирование, правки, проверки. Общий ключ без лимита превращает забытую сессию в открытый счёт. Отдельный ключ со spend limit изолирует бюджет агента от остального продукта, а история запросов показывает, какая задача сколько стоила.

Как выбрать модель под задачу агента

Рутина (мелкие правки, объяснения) — младшие дешёвые модели; архитектура и сложные рефакторинги — флагманы. Model ID берите из актуального каталога и проверяйте capabilities: контекст, tools и streaming у моделей различаются. Переключение — одна строка в конфиге, без переписывания workflow.

Агент в команде

Каждому разработчику — свой ключ с лимитом: видно, кто и сколько потратил, отзыв одного ключа не останавливает остальных. Общие договорённости (маленькие сессии вместо бесконечных диалогов, дешёвая модель по умолчанию) снижают счёт сильнее любых оптимизаций кода.

Стоимость сессии и как её считать

Сессия агента — это десятки вызовов: чтение файлов, план, правки, проверки. Каждый вызов стоит input (контекст проекта целиком) плюс output по тарифу модели. Поэтому длинные сессии на флагмане — самая дорогая конфигурация из возможных. Рецепт: короткие сессии, младшая модель по умолчанию, флагман точечно, max_tokens под контролем, сверка с историей usage после первых дней.

Оплата и контроль расходов

Запросы оплачиваются с предварительно пополненного баланса по актуальным ставкам выбранной модели. Минимум и комиссия показываются перед оплатой в кабинете; лимит расходов задаётся для API-ключа.

Ограничения доступности

Возможности зависят от модели и внешнего маршрута. При недоступности provider запрос может завершиться ошибкой; проверяйте каталог, статус и документацию перед production.

Частые вопросы

Где хранить API-ключ для OpenCode?

В переменной окружения процесса ({env:NORMAHUB_API_KEY}), а не в конфиге текстом. Конфиг можно коммитить, секрет — никогда.

Какая модель лучше для кодинга?

Зависит от задачи и бюджета: флагманы — для архитектуры, младшие — для рутины. Актуальные ID и цены — в каталоге моделей.

Агент упёрся в 402. Что это?

Кончились деньги владельца ключа или spend limit самого ключа. Проверьте оба в личном кабинете — это разные сущности.

Работает ли это из России без VPN?

Да. OpenCode обращается к api.normahub.cc напрямую, оплата — с рублёвого баланса.

Чем solution отличается от гайда OpenCode?

Эта страница — обзор решения для выбора: архитектура, стоимость, команда. Пошаговая настройка конфига — в гайде OpenCode.

Можно ли использовать разные модели в одном проекте?

Да. Опишите несколько provider или моделей в конфиге и переключайтесь между задачами: рутина — младшей модели, архитектура — флагману.