~/.moltbot/moltbot.json, в актуальных — в ~/.openclaw/openclaw.json. Дальше по странице используется актуальный путь; в старой версии замените его на свой, всё остальное совпадает.
От MoltBot нужны ровно два значения:
baseUrl = https://speshu.ai/api/v1 и API-ключ в поле apiKey провайдера. Gateway говорит с нами обычным OpenAI-совместимым запросом к /chat/completions, поэтому больше ничего менять не нужно. Ключ создаётся в личном кабинете, подробности — в разделе Аутентификация.Ключ и идентификатор модели
1
Сохраните ключ в переменную окружения
cURL
2
Возьмите идентификатор модели из каталога
Идентификаторы текстовых моделей не зашивайте в код: состав каталога меняется, а зашитый в конфиг идентификатор начинает падать с
404 model_not_found. Возьмите его из GET /api/v1/models при настройке окружения:cURL
.data[0] — первый элемент, чтобы пример можно было запустить. В конфиг кладите тот идентификатор, который подходит вам по цене, контекстному окну и наличию зрения. Формат ответа и параметры выбора — в разделе Модели и цены.Конфигурация
Провайдер описывается в секцииmodels.providers файла конфигурации. В актуальных релизах это ~/.openclaw/openclaw.json, в релизах под именем MoltBot — ~/.moltbot/moltbot.json. На Windows тот же файл лежит в %USERPROFILE%\.openclaw\openclaw.json.
JSON не подставляет переменные окружения.
${SPESHU_API_KEY} выше — запись смысла, а не рабочая подстановка: впишите ключ текстом или соберите конфиг скриптом из шага ниже.openclaw configure создаёт его из шаблонов, а openclaw models list покажет, какие модели gateway видит.
Модель по умолчанию
Список вmodels.providers — это ещё не весь allowlist. Чтобы gateway разрешил вам пользоваться моделью, продублируйте её в agents.defaults, а ссылка на неё в конфиге пишется как speshu/<идентификатор модели>:
/model speshu/<идентификатор> или через CLI — openclaw models set speshu/<идентификатор>.
Первый работающий пример
Сначала проверьте, что адрес и ключ верны, не запуская gateway:cURL
openclaw gateway restart) и отправьте сообщение в подключённый канал.
1
Отправьте сообщение в канал
Напишите в Telegram, Slack или WhatsApp, к которому подключён gateway. Первое сообщение дольше обычного — gateway поднимается и валидирует конфигурацию.
2
Убедитесь, что отвечает нужная модель
В логах gateway должен быть запрос на
https://speshu.ai/api/v1/chat/completions с вашим ключом. Если в логе пусто — канал не привязан к агенту, и дело уже не в провайдере.3
Проверьте списание
Ответ пришёл — списание прошло. Сумма за этот раз видна в
usage.cost.total_cost в ответе /chat/completions и на странице баланса. Условия списания — в разделе Тарификация и оплата.Что работает дальше
Потоковая передача. Если в настройках канала включён частичный вывод, gateway читаетstream: true и печатает ответ по мере генерации. В самом API поток идёт по SSE, сервер не пишет поле event: и завершает его строкой data: [DONE] — клиент, разбирающий кадры по event:, покажет пустой результат. Формат кадров — в гайде Потоковая передача.
Инструменты. Схемы skills и tools уходят в запрос тем же способом, что и в обычном чате, а выбранный инструмент возвращается в tool_calls. Полный цикл, разбор аргументов и параллельные вызовы — в гайде Вызов функций.
Изображения во входе. Скриншот или документ передаются в сообщение по публичной ссылке, если выбранная модель принимает зрение. Как получить ссылку — в гайде Медиаввод.
Генерация медиа. Медиа-API не OpenAI-совместимый, поэтому через провайдера в конфиге не вызывается. Создавайте задачи напрямую через POST /api/v1/async/media/tasks с вашим ключом — формат конверта и опрос статуса в разделе Создать задачу. Идентификаторы медиа-моделей, в отличие от текстовых, стабильны: их можно писать литералом, например nano-banana-2, предварительно сверившись с GET /api/v1/media/models.
Частые проблемы
404 на любом запросе к провайдеру
404 на любом запросе к провайдеру
Проверьте
baseUrl целиком: https://speshu.ai/api и https://speshu.ai/api/v1/ — обе частые причины, обе дают 404 при верном ключе и модели. Значение должно заканчиваться ровно на /v1, без завершающего /.No API provider registered for api: undefined
No API provider registered for api: undefined
В провайдере не заполнено поле
api. Gateway не может определить тип протокола и отказывает до сетевого запроса. Добавьте "api": "openai-completions".401 invalid_api_key при верном ключе
401 invalid_api_key при верном ключе
Обычно ключ не подставился: в конфиге осталась строка
${SPESHU_API_KEY} вместо значения — JSON не раскрывает переменные. Отладочная проверка: curl -s https://speshu.ai/api/v1/balance -H "Authorization: Bearer $SPESHU_API_KEY".404 model_not_found или модель не появляется в списке
404 model_not_found или модель не появляется в списке
Две разные причины. Если модель есть в провайдере, но не видна агенту — она не продублирована в
agents.defaults.models, а этот список работает как allowlist. Если не помогло — идентификатор устарел: возьмите его заново из GET /api/v1/models и подставьте как есть, без префикса speshu/ в самом id.402 insufficient_quota в середине работы
402 insufficient_quota в середине работы
На балансе нет положительной суммы. Пополнение — в веб-приложении на speshu.ai/profile; баланс проверяется до обращения к модели, за отказ деньги не списываются.
Gateway не стартует после правки конфигурации
Gateway не стартует после правки конфигурации
Конфигурация валидируется при старте, и одна синтаксическая ошибка в соседнем разделе не даст загрузиться файлу целиком. Проверка:
openclaw doctor, а openclaw doctor --fix перезапишет файл в рабочем виде.Что дальше
Модели и цены
Как выбрать идентификатор и на что смотреть
Потоковая передача
SSE,
[DONE] и кадр со списаниемВызов функций
Полный цикл вызова инструмента агента
Начало работы
Полный маршрут от ключа до медиа-задачи
