MiniMax OAuth
Hermes Agent поддерживает MiniMax через браузерный OAuth-вход — с теми же учётными данными, что и на портале MiniMax. Ни API-ключ, ни банковская карта не нужны: войдите один раз, и Hermes будет обновлять сессию автоматически.
Транспорт использует адаптер anthropic_messages — MiniMax предоставляет совместимый с Anthropic Messages эндпоинт по пути /anthropic. Поэтому вызов инструментов, стриминг и контекстные функции работают без каких-либо изменений в адаптере.
Обзор
| Параметр | Значение |
|---|---|
| Provider ID | minimax-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:
- Hermes генерирует пару PKCE verifier/challenge и случайное значение state.
- Отправляет POST на
{base_url}/oauth/codeс challenge и получаетuser_codeиverification_uri. - Ваш браузер открывает
verification_uri. Введитеuser_code, если потребуется. - Hermes опрашивает
{base_url}/oauth/tokenдо получения токена (или до истечения времени ожидания). - Токены (
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.io | https://api.minimax.io/anthropic |
minimax-cn (Китай) | https://api.minimaxi.com | https://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