Перейти к основному содержанию
OpenCode (GitHub) — это open-source терминальный AI-агент для кодинга, работающий со множеством провайдеров.
Протокол: OpenAI-совместимый
  • Базовый URL: https://api.orcarouter.ai/v1 (включает /v1)
Reasoning-модели Claude по протоколу OpenAI отклоняют temperature != 1 (400 temperature may only be set to 1 when thinking is enabled). Используйте модель без reasoning либо включите reasoningEffort — см. Включение thinking.

Установка

npm install -g opencode-ai

Настройка

Файл конфигурации: ~/.config/opencode/opencode.json.
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "orcarouter": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OrcaRouter",
      "options": { "baseURL": "https://api.orcarouter.ai/v1", "apiKey": "sk-orca-..." },
      "models": { "orcarouter/auto": { "name": "OrcaRouter Auto" } }
    }
  },
  "model": "orcarouter/orcarouter/auto"
}
Подставьте конкретную модель, если предпочитаете, например google/gemini-2.5-flash или anthropic/claude-opus-4.8. Идентификаторы моделей всегда используют формат vendor/model.

Запуск

opencode run "Reply with exactly: OK"
Ожидаемый вывод: OK.

Примечания

  • Базовый URL должен включать /v1.
  • Ссылки на модели используют формат provider/model. Поскольку провайдер назван orcarouter, а идентификатор модели тоже несёт префикс vendor, ссылка состоит из трёх сегментов: orcarouter/orcarouter/auto (или orcarouter/anthropic/claude-opus-4.8 для конкретной модели).
Расширение VS Code: Официальное расширение OpenCode для VS Code (sst-dev.opencode) запускает CLI внутри редактора и использует тот же opencode.json — отдельной настройки эндпоинта в редакторе нет. Настройте его один раз, как описано выше, и расширение подхватит конфигурацию.

Включение thinking / reasoning

Задайте reasoningEffort в options модели:
"models": {
  "anthropic/claude-sonnet-4.6": {
    "name": "Sonnet 4.6",
    "options": { "reasoningEffort": "high" }
  }
}
Включение reasoningEffort также обходит предупреждение о temperature выше — при включённом мышлении temperature = 1 допустимо, поэтому ошибка 400 исчезает. Для нативного управления Anthropic провайдер @ai-sdk/anthropic принимает thinking: { type: "enabled", budgetTokens: N }.