NormaHub knowledge base

Подключение OpenCode

Настройте NormaHub как провайдера OpenCode и получите доступ ко всем моделям через единый интерфейс.

Что такое OpenCode

OpenCode — это AI-ассистент для кода, который работает в терминале и IDE. Поддерживает множество провайдеров моделей через единую конфигурацию.

Вы можете подключить NormaHub как провайдера и использовать GPT, Claude, DeepSeek и другие модели прямо в OpenCode.

1. Получите API-ключ

Создайте API-ключ в личном кабинете NormaHub. Скопируйте ключ сразу — повторно он не показывается.

2. Установите переменную окружения

Linux/macOS:

export NORMAHUB_API_KEY="ваш_api_ключ"

Windows (PowerShell):

$env:NORMAHUB_API_KEY="ваш_api_ключ"

Для постоянного сохранения добавьте переменную в ~/.bashrc, ~/.zshrc или системные переменные Windows.

3. Настройте конфигурацию OpenCode

Откройте файл конфигурации OpenCode (~/.config/opencode/opencode.json) и добавьте провайдера NormaHub:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "normahub/gpt-5.6-sol",
  "provider": {
    "normahub": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "NormaHub",
      "options": {
        "baseURL": "https://api.normahub.cc/v1",
        "apiKey": "{env:NORMAHUB_API_KEY}"
      },
      "models": {
        "gpt-5.6-sol": { 
          "name": "GPT 5.6 Sol",
          "limit": { "context": 1000000, "output": 1000000 }
        },
        "gpt-5.5": {
          "name": "GPT 5.5",
          "limit": { "context": 1000000, "output": 1000000 }
        }
      }
    },
    "normahub-anthropic": {
      "npm": "@ai-sdk/anthropic",
      "name": "NormaHub (Claude)",
      "options": {
        "baseURL": "https://api.normahub.cc",
        "apiKey": "{env:NORMAHUB_API_KEY}",
        "headers": {
          "Authorization": "Bearer {env:NORMAHUB_API_KEY}"
        }
      },
      "models": {
        "claude-sonnet-5": {
          "name": "Claude Sonnet 5",
          "limit": { "context": 1000000, "output": 1000000 }
        }
      }
    }
  }
}

Этот конфиг добавляет два провайдера:

  • normahub — для GPT моделей через OpenAI-compatible API
  • normahub-anthropic — для Claude моделей через Anthropic API (адрес без /v1 на конце — путь добавляет сам клиент)

Замените названия моделей на актуальные из каталога моделей.

4. Перезапустите OpenCode

После сохранения конфигурации полностью перезапустите OpenCode. Теперь вы можете выбирать модели NormaHub через интерфейс:

normahub/gpt-5.6-sol
normahub-anthropic/claude-sonnet-5

5. Проверьте подключение

Запустите OpenCode, выберите модель NormaHub и отправьте тестовый запрос. Если всё настроено правильно, вы получите ответ от выбранной модели.

Автоматическая установка

Если не хотите настраивать вручную, используйте готовый скрипт установки из GitHub репозитория. Скрипт автоматически загружает список моделей и создаёт конфигурацию.

Частые ошибки

  • 401 Unauthorized — неверный или отозванный API-ключ
  • 402 Payment Required — недостаточный баланс
  • 403 Forbidden — модель не доступна для вашего ключа
  • 429 Too Many Requests — превышен rate limit или spend limit
  • 503 Service Unavailable — провайдер модели временно недоступен

При возникновении ошибок проверьте баланс и доступные модели в личном кабинете.

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

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

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

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

Флагманы — для архитектуры, младшие — для рутины. Актуальные ID и цены смотрите в каталоге моделей.

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

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

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

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