OpenCode из России: настройка API и проверка подключения
Как подключить API к OpenCode через opencode.json, выбрать модель и проверить инструменты. Диагностика ошибок 401, 403, 404 и 429.
Чтобы подключить Ofox к OpenCode, задайте провайдера, адрес API, ключ и точный ID модели в совместимом формате конфигурации. Затем проверьте не только ответ модели, но и работу инструментов. Наличие API не гарантирует доступ для каждого аккаунта и региона.
Конфигурационная схема сверена с документацией 20 сентября 2026 года. Платные запросы и сквозной запуск агента не выполнялись. Прежние обещания оплаты российскими картами, определённой задержки и подключения без VPN убраны: подтверждений для них нет.
Сначала проверьте версию OpenCode
Установите клиент по официальной инструкции для своей ОС. Затем выполните:
opencode --version
Ниже используется схема из документации конфигурации /docs/: provider, npm, options и models. Если установленная основная версия использует другую схему, откройте документацию именно этой версии. Не смешивайте этот пример с документацией v2.
Настройте один провайдер и одну модель
Сохраните копию существующей конфигурации. Для пользовательских настроек документация указывает ~/.config/opencode/opencode.json; проект может иметь собственный opencode.json. Файлы поддерживают JSON или JSONC. Если файл уже существует, объедините нужные поля, сохранив остальные настройки.
Шаблон для модели с Chat Completions:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ofox": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ofox",
"options": {
"baseURL": "https://api.ofox.io/v1",
"apiKey": "{env:OFOX_API_KEY}"
},
"models": {
"MODEL_ID_FROM_CATALOG": {
"name": "My selected model"
}
}
}
},
"model": "ofox/MODEL_ID_FROM_CATALOG"
}
MODEL_ID_FROM_CATALOG — заполнитель. Замените его в обоих местах на точный ID выбранной модели из списка моделей Ofox. Префикс ofox/ в поле model — ID провайдера OpenCode; он остаётся перед полным ID модели. Не считайте любой пункт каталога проверенной комбинацией для агента.
Задайте OFOX_API_KEY в окружении запуска через свой менеджер секретов. В файл не нужно вставлять сам ключ; не выводите его в терминал для проверки. Без переменной подстановка будет пустой. Если вместо окружения используете /connect, ID сохранённого провайдера должен совпадать с конфигурацией; не смешивайте несколько источников ключа без необходимости.
Согласно документации провайдеров, пакет @ai-sdk/openai-compatible используется для Chat Completions. Для модели, которой нужен Responses, документация указывает @ai-sdk/openai. Проверьте также поддержку нужного протокола на стороне API. Один адрес и похожий JSON не доказывают совместимость инструментов.
Проверьте подключение на небольшой задаче
Откройте отдельную рабочую копию проекта командой opencode. В интерфейсе выберите провайдера и модель через /models.
- Попросите кратко ответить на простой вопрос без изменения файлов.
- Разрешите прочитать один небольшой файл и объяснить его назначение. Убедитесь, что инструмент действительно отработал и ответ завершился.
- Попросите одно ограниченное изменение, проверьте diff и запустите существующий тест. Успешное чтение не доказывает правильность редактирования.
- Сопоставьте результат с журналом запроса и учётом использования у провайдера. Не переходите сразу к большой задаче при незавершённых ответах или повторных попытках.
Это план проверки, а не отчёт о выполненном тесте. Сохраните предыдущую рабочую конфигурацию для отката.
Ошибки: что проверять первым
| Симптом | Первый шаг |
|---|---|
| 401 | Проверьте наличие ключа в окружении запуска, его актуальность и соответствие провайдеру. Сам ключ не публикуйте. |
| 403 | Прочитайте сообщение сервера: права аккаунта, политика доступа или выбранная модель. Замена конфигурационного файла не гарантирует снятие ограничения. |
| 404 | Сверьте Base URL, путь запроса и точный ID модели. Это не всегда ошибка только в названии модели. |
| 429 | Проверьте текст ошибки и ограничения аккаунта; различайте частоту запросов, квоту и баланс. Не запускайте бесконечные повторы. |
| Модель отсутствует в списке | Сверьте ID провайдера и запись в models, затем проверьте, какой файл конфигурации загружен. |
| Текст работает, инструменты — нет | Проверьте протокол, пакет провайдера и продолжение после результата инструмента. |
Код HTTP помогает выбрать направление проверки; окончательная причина определяется ответом и журналом запроса. Сохраните время, версию клиента и обезличенный текст ошибки, не ключи.
Как выбрать следующий шаг
Для сравнения способов подключения используйте обзор агрегаторов API. Если нужен другой клиент, смотрите настройку Codex или DeepSeek Harness. Особенности Astra разобраны в отдельной инструкции по конфигурации.
Стоимость, способы оплаты и региональный доступ проверяйте отдельно до начала работы. Здесь нет обещания фиксированной экономии, оплаты картами РФ или доступности без VPN. Конфигурация клиента не заменяет условия обслуживания провайдера.
Часто задаваемые вопросы
- Какой файл конфигурации использует OpenCode?
- В приведённой схеме используются opencode.json или opencode.jsonc. Пример рассчитан на формат provider с полем npm из документации /docs/; не переносите его без проверки в другую основную версию.
- Достаточно ли получить текстовый ответ?
- Нет. Для работы с кодом отдельно проверьте чтение файла, вызов инструмента, возврат результата и завершение ответа. Доступность модели в списке этого не подтверждает.
- Можно ли гарантировать подключение из России без VPN?
- Нет. Доступ зависит от сети, аккаунта, выбранного провайдера и его правил. Эта инструкция не подтверждает доступность во всех регионах или способы оплаты.


