MiniMax OAuth
目次
Hermes Agent は MiniMax を、ブラウザを使った OAuth ログインで利用できます。認証情報は MiniMax のポータル と同じものです。API キーもクレジットカードも不要で、一度ログインすれば Hermes がセッションを自動で更新します。
通信には anthropic_messages アダプターをそのまま使います(MiniMax は /anthropic に Anthropic Messages 互換のエンドポイントを公開しています)。そのため、既存のツール呼び出し、ストリーミング、コンテキスト関連の機能は、アダプターに手を入れなくてもすべて動きます。
概要
| 項目 | 値 |
|---|---|
| プロバイダー ID | minimax-oauth |
| 表示名 | MiniMax (OAuth) |
| 認証方式 | ブラウザ OAuth(PKCE リダイレクト方式) |
| 通信方式 | 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.io(グローバル)または minimaxi.com(中国)の MiniMax アカウント
- 手元の端末で使えるブラウザ(リモート接続の場合は
--no-browserを使います)
クイックスタート
# Launch the provider and model picker
hermes model
# → Select "MiniMax (OAuth)" from the provider list
# → Hermes opens your browser to the MiniMax authorization page
# → Approve access in the browser
# → Select a model (MiniMax-M2.7 or MiniMax-M2.7-highspeed)
# → Start chatting
hermes最初のログインが済むと、認証情報は ~/.hermes/auth.json に保存され、セッションを始めるたびに自動で更新されます。
自分でログインを実行する
モデルの選択画面を経由せずに、ログインだけを実行することもできます。
hermes auth add minimax-oauth中国リージョン
アカウントが中国向けのプラットフォーム(minimaxi.com)にある場合は、API キー方式の minimax-cn プロバイダーを使ってください。minimax-cn は auth_type="api_key" のみで登録されており、OAuth の流れはありません。MINIMAX_CN_API_KEY(必要に応じて MINIMAX_CN_BASE_URL も)を直接設定します。
echo 'MINIMAX_CN_API_KEY=your-key' >> ~/.hermes/.envリモート/画面のない環境
ブラウザが使えないサーバーやコンテナでは、次のようにします。
hermes auth add minimax-oauth --no-browserHermes が確認用の URL とユーザーコードを表示します。手元のどの端末でもよいので URL を開き、求められたらコードを入力してください。
OAuth の流れ
Hermes は MiniMax の OAuth エンドポイントに対して、PKCE を使ったブラウザ OAuth の流れを実装しています。
- Hermes が PKCE のベリファイアーとチャレンジの組、そしてランダムな state の値を生成します。
- チャレンジを添えて
{base_url}/oauth/codeに POST し、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 グラント)は、アクセストークンの有効期限まで 60 秒を切っていれば、セッションを始めるたびに自動で走ります。
ログイン状態を確認する
hermes doctor◆ Auth Providers の欄に、次のように表示されます。
✓ MiniMax OAuth (logged in, region=global)ログインしていない場合は、次のようになります。
⚠ MiniMax OAuth (not logged in)モデルを切り替える
hermes model
# → Select "MiniMax (OAuth)"
# → Pick from the model listモデルを直接指定することもできます。
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リージョンごとのエンドポイント
| プロバイダー 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 キー方式の minimax と minimax-cn のためのものです。
| 変数 | 効果 |
|---|---|
MINIMAX_API_KEY |
minimax プロバイダー専用。minimax-oauth では無視されます |
MINIMAX_CN_API_KEY |
minimax-cn プロバイダー専用。minimax-oauth では無視されます |
minimax-oauth を使うプロバイダーにするには、config.yaml で model.provider: minimax-oauth を設定するか(対話的に進めるなら hermes setup を使います)、その回かぎりで --provider minimax-oauth を渡します。
hermes --provider minimax-oauthモデル
| モデル | 向いている用途 |
|---|---|
MiniMax-M2.7 |
長いコンテキストを使う推論、複雑なツール呼び出し |
MiniMax-M2.7-highspeed |
応答を速くしたいとき、軽い作業、補助的な呼び出し |
どちらのモデルも最大 200,000 トークンのコンテキストに対応します。
minimax-oauth を主に使うプロバイダーにしている場合、画像の処理や作業の委譲といった補助的な用途にも MiniMax-M2.7 が自動で使われます。
困ったときは
トークンが切れたのに再ログインが自動で走らない
Hermes は、有効期限まで 60 秒を切っていればセッションを始めるたびにトークンを更新します。すでにアクセストークンが切れている場合(長くオフラインだったときなど)は、次のリクエストのタイミングで自動的に更新されます。更新が refresh_token_reused や invalid_grant で失敗した場合、Hermes はそのセッションを再ログインが必要な状態として扱います。
更新の失敗が回復不能なとき(HTTP 4xx、invalid_grant、認可の取り消しなど)、Hermes はそのリフレッシュトークンを無効と判断して手元で隔離し、通らないやりとりを繰り返さないようにします。エージェントは「再認証が必要」という案内を一度だけ出し、あらためてログインするまで余計な口出しをしません。
対処: もう一度 hermes auth add minimax-oauth を実行して、ログインをやり直してください。隔離は、次に成功したやりとりで解除されます。
認可が時間切れになった
デバイスコード方式には有効期限があります。時間内に承認しないと、Hermes はタイムアウトのエラーを出します。
対処: hermes auth add minimax-oauth(または hermes model)をあらためて実行してください。最初からやり直しになります。
state が一致しない(CSRF の可能性)
認可サーバーが返した state の値が、Hermes が送ったものと一致しませんでした。
対処: ログインをやり直してください。それでも続く場合は、OAuth の応答を書き換えているプロキシやリダイレクトがないか確認します。
リモートのサーバーからログインする
hermes がブラウザのウィンドウを開けない場合は --no-browser を使ってください。
hermes auth add minimax-oauth --no-browserHermes が URL とコードを表示します。手元のどの端末でもよいので URL を開き、そちらで手続きを終えてください。
実行中に「Not logged into MiniMax OAuth」と出る
認証情報の保存先に minimax-oauth の情報がありません。まだログインしていないか、認証情報のファイルが削除されています。
対処: hermes model を実行して MiniMax (OAuth) を選ぶか、hermes auth add minimax-oauth を実行してください。
ログアウトする
保存済みの MiniMax OAuth の認証情報を削除するには、次を実行します。
hermes auth logout minimax-oauth