Documentação oficial desta página · v0.20.6
MiniMax OAuth
O Hermes Agent suporta a MiniMax por um fluxo de login OAuth no navegador, usando as mesmas credenciais do portal da MiniMax. Não precisa de chave de API nem de cartão de crédito — você entra uma vez e o Hermes renova a sessão sozinho.
O transporte reaproveita o adaptador anthropic_messages (a MiniMax expõe um endpoint compatível com a Anthropic Messages em /anthropic), então todos os recursos já existentes de chamada de ferramentas, streaming e contexto funcionam sem mudança nenhuma no adaptador.
Visão geral
| Item | Valor |
|---|---|
| ID do provedor | minimax-oauth |
| Nome exibido | MiniMax (OAuth) |
| Tipo de autenticação | OAuth no navegador (fluxo de redirecionamento PKCE) |
| Transporte | Compatível com Anthropic Messages (anthropic_messages) |
| Modelos | MiniMax-M2.7, MiniMax-M2.7-highspeed |
| Endpoint global | https://api.minimax.io/anthropic |
| Endpoint na China | https://api.minimaxi.com/anthropic |
| Exige variável de ambiente | Não (MINIMAX_API_KEY não é usada por este provedor) |
Pré-requisitos
- Python 3.9+
- Hermes Agent instalado
- Uma conta MiniMax em minimax.io (global) ou minimaxi.com (China)
- Um navegador disponível na máquina local (ou use
--no-browserem sessões remotas)
Início rápido
# Abra o seletor de provedor e modelo
hermes model
# → Escolha "MiniMax (OAuth)" na lista de provedores
# → O Hermes abre o navegador na página de autorização da MiniMax
# → Aprove o acesso no navegador
# → Escolha um modelo (MiniMax-M2.7 ou MiniMax-M2.7-highspeed)
# → Comece a conversar
hermes
Depois do primeiro login, as credenciais ficam guardadas em ~/.hermes/auth.json e são renovadas automaticamente antes de cada sessão.
Fazer login na mão
Dá para disparar o login sem passar pelo seletor de modelo:
hermes auth add minimax-oauth
Região China
Se a sua conta está na plataforma da China (minimaxi.com), use o provedor minimax-cn, baseado em chave de API — o minimax-cn é registrado só com auth_type="api_key" (sem fluxo OAuth). Configure MINIMAX_CN_API_KEY (e, se quiser, MINIMAX_CN_BASE_URL) direto:
echo 'MINIMAX_CN_API_KEY=sua-chave' >> ~/.hermes/.env
Sessões remotas / sem interface
Em servidores ou contêineres onde não há navegador disponível:
hermes auth add minimax-oauth --no-browser
O Hermes imprime a URL de verificação e o código de usuário — abra a URL em qualquer dispositivo e informe o código quando for pedido.
O fluxo OAuth
O Hermes implementa um fluxo OAuth PKCE no navegador contra os endpoints OAuth da MiniMax:
- O Hermes gera um par verificador/desafio PKCE e um valor de estado aleatório.
- Faz um POST para
{base_url}/oauth/codecom o desafio e recebe umuser_codee umaverification_uri. - O seu navegador abre a
verification_uri. Se for pedido, informe ouser_code. - O Hermes consulta
{base_url}/oauth/tokenrepetidamente até o token chegar (ou até o prazo estourar). - Os tokens (
access_token,refresh_token, expiração) são salvos em~/.hermes/auth.json, sob a chaveminimax-oauth.
A renovação do token (o grant OAuth padrão refresh_token) roda automaticamente no início de cada sessão, quando faltam menos de 60 segundos para o token de acesso expirar.
Conferir o status do login
hermes doctor
A seção ◆ Auth Providers vai mostrar:
✓ MiniMax OAuth (logged in, region=global)
ou, se você não estiver logado:
⚠ MiniMax OAuth (not logged in)
Trocar de modelo
hermes model
# → Escolha "MiniMax (OAuth)"
# → Escolha na lista de modelos
Ou defina o modelo direto:
hermes config set model.default MiniMax-M2.7
hermes config set model.provider minimax-oauth
Referência de configuração
Depois do login, o ~/.hermes/config.yaml vai ter entradas parecidas com:
model:
default: MiniMax-M2.7
provider: minimax-oauth
base_url: https://api.minimax.io/anthropic
Endpoints por região
| ID do provedor | Portal | Endpoint de inferência |
|---|---|---|
minimax-oauth (global) | https://api.minimax.io | https://api.minimax.io/anthropic |
minimax-cn (China) | https://api.minimaxi.com | https://api.minimaxi.com/anthropic |
Apelidos do provedor
Todos os nomes abaixo resolvem para minimax-oauth:
hermes --provider minimax-oauth # canônico
hermes --provider minimax-portal # apelido
hermes --provider minimax-global # apelido
hermes --provider minimax_oauth # apelido (forma com sublinhado)
Variáveis de ambiente
O provedor minimax-oauth não usa MINIMAX_API_KEY nem MINIMAX_BASE_URL. Essas variáveis servem só para os provedores minimax e minimax-cn, baseados em chave de API.
| Variável | Efeito |
|---|---|
MINIMAX_API_KEY | Usada só pelo provedor minimax — ignorada pelo minimax-oauth |
MINIMAX_CN_API_KEY | Usada só pelo provedor minimax-cn — ignorada pelo minimax-oauth |
Para usar o minimax-oauth como provedor ativo, defina model.provider: minimax-oauth no config.yaml (use hermes setup para o fluxo guiado), ou passe --provider minimax-oauth numa chamada avulsa:
hermes --provider minimax-oauth
Modelos
| Modelo | Melhor para |
|---|---|
MiniMax-M2.7 | Raciocínio com contexto longo, chamada de ferramentas complexa |
MiniMax-M2.7-highspeed | Menor latência, tarefas mais leves, chamadas auxiliares |
Os dois modelos suportam até 200.000 tokens de contexto.
O MiniMax-M2.7 também é usado automaticamente como modelo auxiliar em tarefas de visão e de delegação quando o minimax-oauth é o provedor principal.
Resolução de problemas
Token expirado — não faz login de novo sozinho
O Hermes renova o token no início de cada sessão quando faltam menos de 60 segundos para expirar. Se o token de acesso já expirou (depois de um longo período offline, por exemplo), a renovação acontece automaticamente na próxima requisição. Se a renovação falhar com refresh_token_reused ou invalid_grant, o Hermes marca a sessão como precisando de novo login.
Quando a falha de renovação é definitiva (HTTP 4xx, invalid_grant, grant revogado etc.), o Hermes marca o refresh token como morto e o põe em quarentena localmente, para não ficar repetindo uma troca fadada ao fracasso. O agente mostra uma única mensagem de "re-authentication required" e sai da frente até você entrar de novo.
Solução: rode hermes auth add minimax-oauth de novo para começar um login limpo. A quarentena é desfeita na próxima troca bem-sucedida.
A autorização expirou
O fluxo de código de dispositivo tem uma janela de validade finita. Se você não aprovar o login a tempo, o Hermes levanta um erro de tempo esgotado.
Solução: rode hermes auth add minimax-oauth (ou hermes model) de novo. O fluxo recomeça do zero.
Estado divergente (possível CSRF)
O Hermes detectou que o valor de state devolvido pelo servidor de autorização não bate com o que ele enviou.
Solução: refaça o login. Se continuar, veja se algum proxy ou redirecionamento está alterando a resposta do OAuth.
Login a partir de um servidor remoto
Se o hermes não conseguir abrir uma janela do navegador, use --no-browser:
hermes auth add minimax-oauth --no-browser
O Hermes imprime a URL e o código. Abra a URL em qualquer dispositivo e conclua o fluxo por lá.
Erro "Not logged into MiniMax OAuth" em execução
O armazenamento de autenticação não tem credenciais para minimax-oauth. Ou você ainda não fez login, ou o arquivo de credenciais foi apagado.
Solução: rode hermes model e escolha MiniMax (OAuth), ou rode hermes auth add minimax-oauth.
Sair da conta
Para remover as credenciais OAuth da MiniMax que estão guardadas:
hermes auth logout minimax-oauth