Как подключить OpenCode к Tokenator API
OpenCode позволяет объявить собственного провайдера в конфиге. Мы описываем Tokenator как OpenAI-совместимый провайдер и перечисляем модели, которые хотим видеть в переключателе.
Что получится в итоге
После настройки OpenCode перестаёт обращаться к своему стандартному провайдеру и отправляет все запросы в Tokenator. Оплата идёт токенами вашего ключа, а список доступных моделей задаётся ключом, а не инструментом.
| Инструмент | OpenCode |
| Протокол | OpenAI-совместимый |
| Base URL | https://api.tokenator.top/v1 |
| Ключ | sk-your-tokenator-key |
Требования и поддерживаемые ОС
- Windows 10/11, macOS 12+ или современный Linux с 64-битной архитектурой.
- Доступ в интернет к домену Tokenator по HTTPS.
- API-ключ Tokenator вида
sk-your-tokenator-key.
OpenCode запускается в терминале; конфиг — обычный JSON-файл, редактируется любым редактором.
Установка OpenCode
npm install -g opencode-ai
Проверьте установку командой opencode --version.
Настройка Tokenator
- Зарегистрируйтесь в личном кабинете и купите пакет токенов.
- Ключ появится в кабинете сразу после подтверждения оплаты — копировать его нужно целиком, вместе с префиксом.
- В примерах ниже вместо настоящего ключа стоит плейсхолдер
sk-your-tokenator-key. Не публикуйте настоящий ключ в репозиториях и скриншотах.
Конфигурация для Windows
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"tokenator": {
"npm": "@ai-sdk/openai-compatible",
"name": "Tokenator",
"options": {
"baseURL": "https://api.tokenator.top/v1",
"apiKey": "{env:TOKENATOR_API_KEY}"
},
"models": {
"gpt-5.5": { "name": "gpt-5.5" }
}
}
}
}$env:TOKENATOR_API_KEY = "sk-your-tokenator-key"
opencodeПакет @ai-sdk/openai-compatible работает с эндпоинтом /v1/chat/completions. Ключ лучше не писать в файл, а подставлять из переменной окружения синтаксисом {env:…}. Каждая модель, которую вы хотите видеть в переключателе, перечисляется в models.
Конфигурация для macOS и Linux
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"tokenator": {
"npm": "@ai-sdk/openai-compatible",
"name": "Tokenator",
"options": {
"baseURL": "https://api.tokenator.top/v1",
"apiKey": "{env:TOKENATOR_API_KEY}"
},
"models": {
"gpt-5.5": { "name": "gpt-5.5" }
}
}
}
}export TOKENATOR_API_KEY="sk-your-tokenator-key" opencode
Пакет @ai-sdk/openai-compatible работает с эндпоинтом /v1/chat/completions. Ключ лучше не писать в файл, а подставлять из переменной окружения синтаксисом {env:…}. Каждая модель, которую вы хотите видеть в переключателе, перечисляется в models.
Первый запрос
Перед запуском инструмента полезно убедиться, что ключ и модель рабочие. Один запрос curl отвечает на оба вопроса сразу.
curl https://api.tokenator.top/v1/chat/completions \ -H "Authorization: Bearer sk-your-tokenator-key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.5", "messages": [{"role": "user", "content": "ping"}] }'
cd /path/to/project
opencodeУспешный ответ означает, что ключ действителен, модель разрешена для этого ключа и апстрим доступен. Расход виден в кабинете сразу после запроса.
Переключение моделей
Все модели, которые должны быть доступны, перечисляются в блоке models конфига. После правки файла переключатель моделей внутри агента подхватит новый список.
Примеры ID моделей, доступных сейчас:
claude-haiku-4-5claude-opus-4-6claude-opus-4-7claude-sonnet-4-6gpt-5.5deepseek-v4-flash
Актуальные ID и характеристики — в каталоге AI-моделей; там же видно, какие модели сейчас доступны. Выбрать между близкими вариантами помогает сравнение моделей.
Настройка reasoning
Если инструмент умеет передавать поле reasoning_effort в запросе, Tokenator пробрасывает его в апстрим без изменений. Дополнительно у самого ключа есть переключатель reasoning в личном кабинете — он действует независимо от инструмента.
Частые ошибки и способы исправления
| Симптом | Причина | Что сделать |
|---|---|---|
| Модель не появилась в списке | Модель не перечислена в блоке models либо в JSON есть синтаксическая ошибка. | Проверьте файл валидатором JSON и добавьте ID модели в models. |
401 или сообщение о недействительном ключе | Ключ скопирован с лишними пробелами, отозван, истёк или подставлен не в ту переменную окружения. | Проверьте ключ в личном кабинете и убедитесь, что переменная окружения действительно попала в тот процесс, где запускается инструмент. |
403 | Модель не входит в список разрешённых для этого ключа. | Посмотрите список моделей ключа в кабинете и выберите ID из каталога моделей. |
429 | Превышен лимит запросов в минуту или час либо лимит одновременных стримов для ключа. | Уменьшите параллелизм агента и повторите запрос с экспоненциальной задержкой. Лимиты ключа видны в кабинете. |
| Модель не найдена / не поддерживается | В запросе указан ID, которого нет в каталоге, либо алиас, недоступный этому ключу. | Скопируйте точный API ID со страницы модели — регистр и точки значимы. |
| Запрос завис или обрывается на длинном ответе | Клиент закрыл соединение по своему таймауту раньше, чем модель закончила генерацию. | Включите потоковый режим (stream: true) и увеличьте таймаут клиента: у длинных reasoning-ответов первый токен может прийти не сразу. |
| Ошибка вида «Request error» без деталей | Апстрим-провайдер вернул ошибку. Её текст не передаётся клиенту. | Повторите запрос: Tokenator сам переключается на следующего провайдера модели. Если ошибка стабильна — напишите в поддержку. |
Частые вопросы
Нужна ли подписка OpenCode или отдельный аккаунт провайдера?
Нет. Инструмент обращается к Tokenator, а оплата идёт токенами вашего ключа Tokenator.
Где посмотреть расход после подключения?
В личном кабинете: там видны запросы, израсходованные токены и остаток лимита ключа.
Можно ли использовать один ключ в нескольких инструментах?
Да. Ограничение — лимиты самого ключа: запросы в минуту и час, а также количество одновременных стримов.
Что будет, если токены закончатся посреди сессии?
Запросы начнут возвращать ошибку. Лимит восстанавливается пополнением того же ключа — переустанавливать инструмент не нужно.
Как вернуться к прежнему провайдеру?
Уберите добавленные настройки — переменные окружения или блок провайдера в конфиге. Инструмент вернётся к своему поведению по умолчанию.
Где почитать про сам формат API?
В документации Tokenator API и на странице про OpenAI-compatible API.