Hermes Agent Wiki 非公式・日本語wiki

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.7MiniMax-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-cnauth_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-browser

Hermes が確認用の URL とユーザーコードを表示します。手元のどの端末でもよいので URL を開き、求められたらコードを入力してください。

OAuth の流れ

Hermes は MiniMax の OAuth エンドポイントに対して、PKCE を使ったブラウザ OAuth の流れを実装しています。

  1. Hermes が PKCE のベリファイアーとチャレンジの組、そしてランダムな state の値を生成します。
  2. チャレンジを添えて {base_url}/oauth/code に POST し、user_codeverification_uri を受け取ります。
  3. ブラウザが verification_uri を開きます。入力を求められたら user_code を入れてください。
  4. Hermes は {base_url}/oauth/token を繰り返し呼び、トークンが返るまで(あるいは期限切れまで)待ちます。
  5. トークン(access_tokenrefresh_token、有効期限)が ~/.hermes/auth.jsonminimax-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_KEYMINIMAX_BASE_URL使いません。これらは API キー方式の minimaxminimax-cn のためのものです。

変数 効果
MINIMAX_API_KEY minimax プロバイダー専用。minimax-oauth では無視されます
MINIMAX_CN_API_KEY minimax-cn プロバイダー専用。minimax-oauth では無視されます

minimax-oauth を使うプロバイダーにするには、config.yamlmodel.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_reusedinvalid_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-browser

Hermes が 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

関連ページ