Skip to content

OpenCode

OpenCode хорошо подходит под apikey.center, потому что официально поддерживает custom providers и отдельный baseURL.

Для этой страницы полезно держать акцент на прозрачном config-сценарии. В отличие от UI-only клиентов, здесь можно дать очень понятную ручную схему: где лежит конфиг, как выглядит provider block, как проверить модель и как откатиться.

В OpenAI-compatible режиме базовый URL должен быть таким:

https://apikey.center/v1
  • установленный OpenCode
  • один API key от apikey.center
  • конфиг opencode.json
  • один model ID из GET /v1/models
  • понимание, будешь ли ты настраивать user-wide или project-local конфиг

1. Подготовь ключ как env var

Section titled “1. Подготовь ключ как env var”

macOS / Linux:

Terminal window
export APIKEY_CENTER_API_KEY="paste_your_key_here"

Windows PowerShell:

Terminal window
$env:APIKEY_CENTER_API_KEY = "paste_your_key_here"

Почему это полезно:

  • ключ не нужно вшивать прямо в opencode.json
  • проще временно заменить ключ без переписывания конфига
  • ниже риск случайно закоммитить секрет в проект

Если нужен постоянный пользовательский сценарий, потом можно вынести эту переменную в профиль shell или в системные user variables.

2. Выбери, где будет лежать конфиг

Section titled “2. Выбери, где будет лежать конфиг”

Для user-wide настройки OpenCode используй:

~/.config/opencode/opencode.jsonc

Либо JSON-версию:

~/.config/opencode/opencode.json

Если тебе нужен только проектный вариант, можно держать opencode.json рядом с проектом.

Для старых установок иногда еще встречается global path:

~/.local/share/opencode/opencode.jsonc

Практическое правило:

  • если хочешь один и тот же провайдер для всех проектов, используй user-level конфиг
  • если это временная или проектная настройка, используй local opencode.json

Для первой проверки обычно удобнее user-level путь, потому что его проще повторно использовать.

3. Опиши custom provider apikey.center

Section titled “3. Опиши custom provider apikey.center”

Минимальный рабочий пример:

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apikey_center": {
"npm": "@ai-sdk/openai-compatible",
"name": "apikey.center",
"options": {
"baseURL": "https://apikey.center/v1",
"apiKey": "{env:APIKEY_CENTER_API_KEY}"
},
"models": {
"YOUR_MODEL_ID": {}
}
}
}
}

Что здесь важно:

  • npm должен быть @ai-sdk/openai-compatible
  • baseURL указывает на https://apikey.center/v1
  • apiKey лучше читать из env var
  • YOUR_MODEL_ID нужно заменить на настоящий ID модели

4. Не пытайся сразу описать весь каталог моделей

Section titled “4. Не пытайся сразу описать весь каталог моделей”

Для первого подключения лучше оставить в models только один model ID. Это упрощает:

  • первичную диагностику
  • выбор модели внутри OpenCode
  • rollback, если конфиг понадобится откатить

Когда базовый сценарий уже работает, можно расширять блок models.

5. Запусти OpenCode и выбери модель

Section titled “5. Запусти OpenCode и выбери модель”

После сохранения конфига открой OpenCode и выбери модель через:

/models

Если ты добавил только один model ID, выбрать будет проще и диагностика тоже станет проще.

6. Проверь внешний доступ к API отдельно от OpenCode

Section titled “6. Проверь внешний доступ к API отдельно от OpenCode”

Если хочешь сначала убедиться, что проблема не в самом приложении, сделай внешний check.

macOS / Linux:

Terminal window
curl https://apikey.center/v1/models \
-H "Authorization: Bearer $APIKEY_CENTER_API_KEY"

Windows PowerShell:

Terminal window
Invoke-WebRequest `
-Uri "https://apikey.center/v1/models" `
-Headers @{ Authorization = "Bearer $env:APIKEY_CENTER_API_KEY" }

Если этот запрос проходит, но OpenCode не работает, значит домен и ключ уже в порядке, и искать нужно проблему в конфиге или model ID.

7. Альтернатива через /connect

Section titled “7. Альтернатива через /connect”

Официальные docs OpenCode позволяют подключать провайдеры через /connect, но для первой версии документации apikey.center проще и понятнее опираться на прозрачный opencode.json, который легко проверить и откатить вручную.

Если нужен самый короткий путь, можно использовать готовый скрипт автонастройки:

Terminal window
curl -fsSL https://docs.apikey.center/i/opencode.sh | sh

Windows PowerShell:

Terminal window
irm https://docs.apikey.center/i/opencode.ps1 | iex

Что делает installer:

  • находит или создает global OpenCode config
  • добавляет provider apikey_center
  • пишет baseURL = "https://apikey.center/v1"
  • по умолчанию ставит модель apikey_center/gpt-5.5
  • записывает apiKey прямо в user-level config, чтобы не трогать shell profile
  • делает live-check через GET /v1/models
  • если opencode установлен, дополнительно проверяет provider через opencode models apikey_center --pure

Это отличается от ручной настройки: вручную мы по-прежнему рекомендуем схему через env var, потому что она прозрачнее и меньше разбрасывает секреты по файлам. Скрипт автонастройки выбирает более короткий сценарий без дополнительных шагов.

  • OpenCode видит добавленный provider без parse-ошибки
  • /models показывает ожидаемую модель
  • тестовый запрос проходит через apikey.center
  • при плохом ключе видна auth-ошибка, а не ошибка несовместимого baseURL

Успешный сценарий выглядит так:

  1. переменная APIKEY_CENTER_API_KEY реально задана
  2. opencode.json читается без parse-error
  3. /models показывает добавленную модель
  4. короткий запрос проходит через apikey.center
  • PowerShell installer: & ([scriptblock]::Create((irm https://docs.apikey.center/i/opencode.ps1))) -Rollback
  • Unix installer: curl -fsSL https://docs.apikey.center/i/opencode.sh | sh -s -- --rollback
  • удали блок provider.apikey_center из opencode.json
  • удали переменную APIKEY_CENTER_API_KEY
  • если делал backup конфига, просто верни его

Провайдер появился, но модели нет

Section titled “Провайдер появился, но модели нет”

Обычно это значит, что YOUR_MODEL_ID не совпадает с реальным model ID из каталога apikey.center.

OpenCode читает конфиг, но запросы не проходят

Section titled “OpenCode читает конфиг, но запросы не проходят”

Сначала проверь baseURL, потом env var, и только потом уже модель.

Ключ случайно записали прямо в файл

Section titled “Ключ случайно записали прямо в файл”

Это не всегда ломает работу, но для ручной настройки лучше держать рабочую схему через env var, чтобы не разбрасывать секрет по конфигам.

Скрипт автонастройки для OpenCode использует другой компромисс: он пишет apiKey прямо в global config ради самого короткого рабочего setup.