MiniMax OAuth

Hermes Agent поддерживает MiniMax через браузерный OAuth-вход — с теми же учётными данными, что и на портале MiniMax. Ни API-ключ, ни банковская карта не нужны: войдите один раз, и Hermes будет обновлять сессию автоматически.

Транспорт использует адаптер anthropic_messages — MiniMax предоставляет совместимый с Anthropic Messages эндпоинт по пути /anthropic. Поэтому вызов инструментов, стриминг и контекстные функции работают без каких-либо изменений в адаптере.

Обзор

ПараметрЗначение
Provider IDminimax-oauth
Отображаемое имяMiniMax (OAuth)
Тип аутентификацииBrowser OAuth (PKCE redirect flow)
ТранспортСовместимый с Anthropic Messages (anthropic_messages)
МоделиMiniMax-M2.7, MiniMax-M2.7-highspeed
Глобальный эндпоинтhttps://api.minimax.io/anthropic
Эндпоинт для Китаяhttps://api.minimaxi.com/anthropic
Требует переменной окруженияНет (MINIMAX_API_KEY для этого провайдера не используется)

Требования

  • Python 3.9+
  • Установленный Hermes Agent
  • Аккаунт MiniMax на minimax.io (глобально) или minimaxi.com (Китай)
  • Браузер на локальной машине (или флаг --no-browser для удалённых сессий)

Быстрый старт

# Открыть выбор провайдера и модели
hermes model
# → Выбрать "MiniMax (OAuth)" из списка провайдеров
# → Hermes откроет браузер на странице авторизации MiniMax
# → Подтвердить доступ в браузере
# → Выбрать модель (MiniMax-M2.7 или MiniMax-M2.7-highspeed)
# → Начать чат

hermes

После первого входа учётные данные сохраняются в ~/.hermes/auth.json и обновляются автоматически перед каждой сессией.

Ручной вход

Можно запустить вход без использования списка моделей:

hermes auth add minimax-oauth

Регион Китай

Если ваш аккаунт на китайской платформе (minimaxi.com), используйте API-key-провайдер minimax-cn — он зарегистрирован только с auth_type="api_key" (OAuth-потока нет). Настройте MINIMAX_CN_API_KEY (и опционально MINIMAX_CN_BASE_URL) напрямую:

echo 'MINIMAX_CN_API_KEY=your-key' >> ~/.hermes/.env

Удалённые / headless-сессии

На серверах или в контейнерах, где нет браузера:

hermes auth add minimax-oauth --no-browser

Hermes выведет URL для верификации и пользовательский код — откройте URL на любом устройстве и введите код при запросе.

Как работает OAuth-поток

Hermes реализует PKCE browser OAuth flow через OAuth-эндпоинты MiniMax:

  1. Hermes генерирует пару PKCE verifier/challenge и случайное значение state.
  2. Отправляет POST на {base_url}/oauth/code с challenge и получает user_code и verification_uri.
  3. Ваш браузер открывает verification_uri. Введите user_code, если потребуется.
  4. Hermes опрашивает {base_url}/oauth/token до получения токена (или до истечения времени ожидания).
  5. Токены (access_token, refresh_token, срок действия) сохраняются в ~/.hermes/auth.json под ключом minimax-oauth.

Обновление токена (стандартный OAuth refresh_token grant) запускается автоматически при старте каждой сессии, если до истечения access_token осталось менее 60 секунд.

Проверка статуса входа

hermes doctor

В разделе ◆ Auth Providers вы увидите:

✓ MiniMax OAuth  (logged in, region=global)

или, если вы не вошли:

⚠ MiniMax OAuth  (not logged in)

Смена модели

hermes model
# → Выбрать "MiniMax (OAuth)"
# → Выбрать модель из списка

Или задать модель напрямую:

hermes config set model.default MiniMax-M2.7
hermes config set model.provider minimax-oauth

Справочник по конфигурации

После входа ~/.hermes/config.yaml будет содержать примерно следующее:

model:
  default: MiniMax-M2.7
  provider: minimax-oauth
  base_url: https://api.minimax.io/anthropic

Эндпоинты по регионам

Provider idПорталЭндпоинт для инференса
minimax-oauth (глобальный)https://api.minimax.iohttps://api.minimax.io/anthropic
minimax-cn (Китай)https://api.minimaxi.comhttps://api.minimaxi.com/anthropic

Псевдонимы провайдера

Все варианты ниже ведут к minimax-oauth:

hermes --provider minimax-oauth    # canonical
hermes --provider minimax-portal   # alias
hermes --provider minimax-global   # alias
hermes --provider minimax_oauth    # alias (underscore form)

Переменные окружения

Провайдер minimax-oauth не использует MINIMAX_API_KEY и MINIMAX_BASE_URL. Эти переменные предназначены только для API-key-провайдеров minimax и minimax-cn.

ПеременнаяДействие
MINIMAX_API_KEYИспользуется только провайдером minimax — для minimax-oauth игнорируется
MINIMAX_CN_API_KEYИспользуется только провайдером minimax-cn — для minimax-oauth игнорируется

Чтобы сделать minimax-oauth активным провайдером, задайте model.provider: minimax-oauth в config.yaml (используйте hermes setup для пошаговой настройки) или передайте --provider minimax-oauth для разового вызова:

hermes --provider minimax-oauth

Модели

МодельЛучше всего для
MiniMax-M2.7Длинный контекст, сложный вызов инструментов
MiniMax-M2.7-highspeedМеньшая задержка, лёгкие задачи, вспомогательные вызовы

Обе модели поддерживают контекст до 200 000 токенов.

MiniMax-M2.7-highspeed также используется автоматически как вспомогательная модель для задач с визуальным контентом и делегированием, когда minimax-oauth — основной провайдер.

Решение проблем

Токен истёк — автоматическое обновление не происходит

Hermes обновляет токен при каждом старте сессии, если до истечения access_token осталось менее 60 секунд. Если токен уже истёк (например, после длительного офлайна), обновление произойдёт автоматически при следующем запросе. Если обновление завершается ошибкой refresh_token_reused или invalid_grant, Hermes помечает сессию как требующую повторного входа.

Когда ошибка обновления терминальная (HTTP 4xx, invalid_grant, отозванный grant и т. п.), Hermes помечает refresh_token как недействительный и локально его карантинирует — чтобы не воспроизводить провальный обмен снова и снова. Агент выведет единственное сообщение «требуется повторная аутентификация» и больше не будет мешать работе до следующего входа.

Решение: запустите hermes auth add minimax-oauth заново для нового входа. Карантин снимается при следующем успешном обмене.

Авторизация истекла по таймауту

У потока device-code есть конечное окно истечения. Если вы не успели подтвердить вход вовремя, Hermes выбросит ошибку таймаута.

Решение: повторно запустите hermes auth add minimax-oauth (или hermes model). Поток начнётся с нуля.

Несовпадение state (возможный CSRF)

Hermes обнаружил, что значение state, возвращённое сервером авторизации, не совпадает с отправленным.

Решение: повторите вход. Если ошибка сохраняется, проверьте, нет ли прокси или редиректа, изменяющего OAuth-ответ.

Вход с удалённого сервера

Если hermes не может открыть браузер, используйте --no-browser:

hermes auth add minimax-oauth --no-browser

Hermes выведет URL и код. Откройте URL на любом устройстве и завершите поток там.

Ошибка «Not logged into MiniMax OAuth» во время работы

В хранилище аутентификации нет учётных данных для minimax-oauth. Вы ещё не вошли, или файл учётных данных был удалён.

Решение: запустите hermes model и выберите MiniMax (OAuth), или выполните hermes auth add minimax-oauth.

Выход

Чтобы удалить сохранённые учётные данные MiniMax OAuth:

hermes auth remove minimax-oauth

Смотрите также

ESC