Русский
Документация
Провайдеры

Провайдеры

OpenCode поддерживает более 75 LLM-провайдеров через AI SDK и Models.dev, обеспечивая интеграцию с многочисленными сервисами языковых моделей и локальными моделями.

Процесс настройки

  1. Добавьте API-ключи с помощью команды /connect
  2. Настройте провайдера в конфигурации OpenCode
  3. Учётные данные сохраняются в ~/.local/share/opencode/auth.json

Каталог

Краткий справочник поддерживаемых провайдеров:

ПровайдерМетод настройкиОсновные возможности
AnthropicOAuth или API-ключПоддержка Claude Pro/Max
OpenAIChatGPT Plus/Pro или API-ключМодели GPT-4o, o1
GitHub CopilotАутентификация по коду устройстваМодели подписки Pro+
Google Vertex AIСервисный аккаунт или аутентификация gcloud40+ моделей
Amazon BedrockУчётные данные/профиль AWSПоддержка VPC-эндпоинтов
Azure OpenAIAPI-ключ + имя ресурсаПользовательские развёртывания
GroqAPI-ключВысокоскоростной инференс
DeepSeekAPI-ключМодели рассуждений
OpenRouterAPI-ключМульти-провайдерная маршрутизация
GitLab DuoAPI-ключИнтеграция с GitLab
OllamaЛокальная настройкаЗапуск моделей локально
LM StudioЛокальная настройкаУправление локальными моделями

Дополнительные провайдеры: 302.AI, Baseten, Cerebras, Cloudflare AI Gateway, Cortecs, Deep Infra, Firmware, Fireworks AI, Hugging Face, Helicone, IO.NET, Moonshot AI, MiniMax, Nebius Token Factory, OVHcloud AI Endpoints, SAP AI Core, Scaleway, Together AI, Venice AI, Vercel AI Gateway, xAI, Z.AI, ZenMux.

Настройка базового URL

Вы можете настроить базовый URL для любого провайдера, установив опцию baseURL. Это полезно при использовании прокси-сервисов или пользовательских эндпоинтов.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1"
      }
    }
  }
}

OpenCode Zen

OpenCode Zen - это список моделей от команды OpenCode, которые были протестированы и проверены на хорошую работу.

  1. Запустите /connect, выберите opencode
  2. Посетите opencode.ai/auth для аутентификации
  3. Скопируйте и вставьте ваш API-ключ
  4. Используйте /models для просмотра рекомендуемых моделей

Популярные провайдеры

Anthropic

  1. Запустите /connect и выберите Anthropic
  2. Выберите Claude Pro/Max для аутентификации через браузер
  3. Доступ к моделям через команду /models

OpenAI

  1. Создайте API-ключ на platform.openai.com/api-keys
  2. Запустите /connect и найдите OpenAI
  3. Введите API-ключ
  4. Выберите модель через /models

Groq

Groq обеспечивает высокоскоростной инференс для различных моделей.

  1. Создайте API-ключ на console.groq.com
  2. Запустите /connect и найдите Groq
  3. Введите API-ключ
  4. Выберите модель через /models
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "groq": {
      "options": {
        "apiKey": "{env:GROQ_API_KEY}"
      }
    }
  }
}

DeepSeek

DeepSeek предлагает мощные модели рассуждений.

  1. Создайте API-ключ на platform.deepseek.com
  2. Запустите /connect и найдите DeepSeek
  3. Введите API-ключ
  4. Выберите модель через /models
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "deepseek": {
      "options": {
        "apiKey": "{env:DEEPSEEK_API_KEY}"
      }
    }
  }
}

GitHub Copilot

Интеграция GitHub Copilot требует подписки Pro+.

  1. Запустите /connect и выберите GitHub Copilot
  2. Завершите аутентификацию по коду устройства
  3. Доступ к моделям через команду /models
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "github-copilot": {
      "models": {
        "gpt-4o": {
          "name": "GPT-4o (Copilot)"
        }
      }
    }
  }
}

GitLab Duo

GitLab Duo предоставляет ИИ-функции, интегрированные с GitLab.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "gitlab-duo": {
      "options": {
        "apiKey": "{env:GITLAB_API_KEY}"
      }
    }
  }
}

OpenRouter

{
  "provider": {
    "openrouter": {
      "models": {
        "moonshotai/kimi-k2": {
          "options": {
            "provider": {
              "order": ["baseten"],
              "allow_fallbacks": false
            }
          }
        }
      }
    }
  }
}

Ollama (локально)

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "llama2": {
          "name": "Llama 2"
        }
      }
    }
  }
}

LM Studio (локально)

{
  "provider": {
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio (local)",
      "options": {
        "baseURL": "http://127.0.0.1:1234/v1"
      },
      "models": {
        "google/gemma-3n-e4b": {
          "name": "Gemma 3n-e4b (local)"
        }
      }
    }
  }
}

Amazon Bedrock

{
  "provider": {
    "amazon-bedrock": {
      "options": {
        "region": "us-east-1",
        "profile": "my-aws-profile"
      }
    }
  }
}

Приоритет аутентификации

При использовании Amazon Bedrock аутентификация следует этому порядку приоритета:

  1. Bearer Token - Если установлен AWS_BEARER_TOKEN_BEDROCK (через /connect или переменную окружения), он имеет приоритет над всеми другими методами
  2. Цепочка учётных данных AWS - Стандартное разрешение учётных данных AWS:
    • Конфигурация профиля AWS
    • Ключи доступа (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
    • Роли IAM
    • EKS IRSA (роли IAM для сервисных аккаунтов)

Azure OpenAI

  1. Создайте ресурс Azure OpenAI в портале Azure
  2. Разверните модель в Azure AI Foundry
  3. Запустите /connect и найдите Azure
  4. Установите переменную окружения AZURE_RESOURCE_NAME

Настройка пользовательского провайдера

Для OpenAI-совместимых провайдеров:

{
  "provider": {
    "myprovider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "My AI Provider",
      "options": {
        "baseURL": "https://api.myprovider.com/v1",
        "apiKey": "{env:MY_API_KEY}"
      },
      "models": {
        "my-model": {
          "name": "My Model",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        }
      }
    }
  }
}

Синтаксис переменных окружения

Используйте синтаксис {env:VARIABLE_NAME} для ссылки на переменные окружения в вашей конфигурации:

{
  "provider": {
    "myprovider": {
      "options": {
        "apiKey": "{env:MY_PROVIDER_API_KEY}"
      }
    }
  }
}

Это позволяет хранить конфиденциальные учётные данные вне файлов конфигурации.

Лимиты модели

Поля limit помогают OpenCode понять контекстное окно и лимиты вывода ваших моделей:

{
  "provider": {
    "myprovider": {
      "models": {
        "my-model": {
          "name": "My Model",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        }
      }
    }
  }
}
  • context: Максимальное количество входных токенов, которые модель может обработать
  • output: Максимальное количество выходных токенов, которые модель может сгенерировать

Пользовательские заголовки

Вы можете добавить пользовательские заголовки к API-запросам:

{
  "provider": {
    "myprovider": {
      "options": {
        "headers": {
          "Authorization": "Bearer custom-token",
          "X-Custom-Header": "value"
        }
      }
    }
  }
}

Устранение неполадок

  1. Проверьте аутентификацию: Запустите opencode auth list для проверки учётных данных
  2. Проблемы с пользовательским провайдером:
    • Убедитесь, что ID провайдера совпадает между /connect и конфигурацией
    • Подтвердите правильный npm-пакет
    • Проверьте API-эндпоинт в options.baseURL