OpenCode с APIMaster.ai
Добавьте APIMaster в качестве провайдера, совместимого с OpenAI, в OpenCode Desktop, с опциональными уровнями Reasoning через opencode.jsonc.
OpenCode Desktop — это графический клиент для OpenCode (сейчас в бета-версии): локальные сессии агентов, редактирование файлов и выполнение shell-команд. APIMaster.ai совместим с OpenAI — добавьте его через Настройки → Провайдеры → Пользовательский провайдер.
Сначала получите API-ключ. Используйте заглушку
your_apimaster_keyниже; на скриншотах ключи скрыты.
Предварительные требования
- OpenCode Desktop установлен с opencode.ai/download.
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktopили.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- API-ключ APIMaster из консоли.
Шаг 1 — Открыть Провайдеров
- Запустите OpenCode Desktop и откройте рабочее пространство.
- Нажмите на значок шестеренки (внизу слева).
- Выберите Провайдеры на боковой панели.
- Прокрутите до Пользовательский провайдер (Добавить провайдера, совместимого с OpenAI, по базовому URL).
- Нажмите + Подключить.

Шаг 2 — Форма пользовательского провайдера
| Поле | Значение |
|---|---|
| ID провайдера | apimaster |
| Отображаемое имя | APIMaster.ai |
| Базовый URL | https://apimaster.ai/v1 |
| API-ключ | Ваш ключ APIMaster |

Оставьте Заголовки пустыми, если вы не аутентифицируетесь только через заголовки.
Шаг 3 — Добавить модели и Отправить
На следующем экране сопоставьте модели (слева = метка в OpenCode, справа = id модели, отправляемый в APIMaster — обычно одинаковые):
| Слева | Справа |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- Нажмите + Добавить модель для добавления строк.
- Нажмите Отправить.

Выбирайте id из маркетплейса. Избегайте моделей только для изображений (например, gpt-image-2) для чата с агентом.
Шаг 4 — Выбрать модель
- Начните или откройте сессию.
- Откройте выпадающий список моделей под полем ввода.
- В разделе APIMaster.ai выберите модель (например,
claude-sonnet-4-6).

Шаг 5 — Тест
Отправьте hello или небольшое задание по коду. Обычный ответ Ассистента (редактирование файлов / shell) означает, что APIMaster подключен.

Расширенная настройка: opencode.jsonc и Reasoning
Описанного выше интерфейса достаточно для быстрого старта. Чтобы настроить уровни Reasoning / усилия мышления (low, high, max, …) для одного и того же id модели, отредактируйте opencode.jsonc.
Расположение файла конфигурации
| ОС | Путь |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<имя_пользователя>\.config\opencode\opencode.jsonc |
Создайте файл, если его нет. Перезапустите OpenCode Desktop или начните новую сессию после сохранения.
API-ключ (не помещайте в jsonc)
Не храните ваш API-ключ в opencode.jsonc.
Используйте:
/connectв терминале, или- Настройки → Провайдеры → Подключить провайдера (как на Шагах 1–2 выше).
Храните секреты в хранилище аутентификации OpenCode; jsonc определяет только провайдера, модели и варианты Reasoning.
Провайдер APIMaster в jsonc
ID провайдера: apimaster. npm-пакет: @ai-sdk/openai-compatible.
baseURL должен быть:
https://apimaster.ai/v1
Не https://apimaster.ai/ — OpenCode добавляет /chat/completions. Без /v1 вы получите https://apimaster.ai/chat/completions → 404 Not Found.
Полный пример с вариантами Reasoning — скачайте и замените конфиг OpenCode:
- Скачайте opencode.jsonc
- Замените (или сохраните как):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<имя_пользователя>\.config\opencode\opencode.jsonc
- macOS / Linux:
- Настройте API-ключ через
/connectили интерфейс (никогда в jsonc). - Перезапустите OpenCode Desktop или начните новую сессию.
Сделайте резервную копию существующего файла перед заменой или объедините только блок
provider.apimaster.
Минимальная структура:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Принципы Reasoning
variants= несколько уровней Reasoning для одного id модели в интерфейсе.- Для API, совместимых с OpenAI, OpenCode преобразует
reasoningEffort→reasoning_effortв теле запроса. - Имена вариантов должны соответствовать фактическому параметру (
high→"reasoningEffort": "high"). - Каждая модель поддерживает разные уровни — настраивайте в соответствии с официальной документацией; скрытого переназначения нет.
Уровни Reasoning по моделям
| Модель | Варианты Reasoning | Примечания |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
GPT reasoning |
gpt-5.5 |
low, medium, high, xhigh |
GPT reasoning |
deepseek-v4-flash |
high, max |
DeepSeek thinking (рекомендуется) |
deepseek-v4-pro |
high, max |
DeepSeek thinking (рекомендуется) |
claude-sonnet-4-6 |
low, medium, high, max |
Claude Sonnet effort |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Claude Opus effort |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Claude Opus effort |
claude-haiku-4-5 |
нет | Нет неподтвержденных уровней effort |
minimax-m3 |
нет | Нет неподтвержденных уровней effort |
Полный файл см. в opencode.jsonc.
Переключение Reasoning в OpenCode
- Сохраните
opencode.jsonc, затем перезапустите или начните новую сессию. - Используйте выпадающий список модели / Reasoning (например,
gpt-5.4 / high). - Если поддерживается в вашей сборке:
Ctrl + Shift + Dциклически переключает уровни Reasoning.
Устранение неполадок
Настройка через интерфейс
| Проблема | Решение |
|---|---|
| 401 | Проверьте ключ; смените, если был раскрыт |
| Модель не найдена | Базовый URL должен быть https://apimaster.ai/v1; id модели должен совпадать с маркетплейсом |
| Нет моделей APIMaster | Отредактируйте провайдера в Настройках → добавьте сопоставления → Отправить |
| Медленно / таймаут | Попробуйте другую модель; используйте Тестер API-ключей |
Reasoning / jsonc
Почему только high и max для DeepSeek?
Официальное усилие мышления, совместимое с OpenAI для DeepSeek, — это high и max. Избегайте low / medium / xhigh, которые могут непредсказуемо переназначаться.
Почему max для Claude Sonnet, а не xhigh?
Высший уровень Sonnet — max; xhigh предназначен для Opus (claude-opus-4-7 / claude-opus-4-8).
Почему нет вариантов для Haiku или MiniMax M3?
Без задокументированных значений reasoningEffort пропустите варианты — модель все равно работает; в интерфейсе просто не будут отображаться подуровни Reasoning.
Все еще получаете 400?
baseURL=https://apimaster.ai/v1(не корень сайта).- Написание id модели соответствует маркетплейсу.
- Ключ настроен через
/connectили интерфейс. - Временно удалите
variants— если обычные запросы работают, выбранныйreasoning_effortможет не поддерживаться для этой модели.
Безопасность
- Никогда не делитесь ключами в чате или на неотредактированных скриншотах.
- Меняйте ключи, которые появились на скриншотах или в логах.
- OpenCode может читать/записывать файлы и выполнять shell-команды — используйте только доверенные рабочие пространства.
Контрольный список
- OpenCode Desktop установлен
- Пользовательский провайдер подключен или
apimasterвopencode.jsonc - Базовый URL /
baseURL=https://apimaster.ai/v1(неhttps://apimaster.ai/) - API-ключ через
/connectили интерфейс (не в jsonc) - Сопоставлена хотя бы одна чат-модель
- (Опционально) Варианты Reasoning соответствуют официальным уровням
- Тестовое сообщение успешно отправлено
Краткий итог
- Ключи:
baseURL(https://apimaster.ai/v1), id модели, API-ключ (/connectили интерфейс), опциональные варианты Reasoning. - Имена вариантов = фактические значения
reasoning_effort. - Настраивайте уровни для каждой модели; пропускайте варианты, если они не поддерживаются (Haiku, MiniMax M3).