v0.14.0 が出した一行のコマンド——hermes proxy——が、コミュニティが何ヶ月も尋ねていた連携問題のひとクラスをまるごと飲み込んだ。hermes proxy を一度走らせれば、ローカルに http://localhost:port のエンドポイントが立つ。このエンドポイントは OpenAI の API を喋る——背後にいるのは、自分が Hermes 経由でログインしている OAuth プロバイダのどれか:Claude Pro、ChatGPT Pro、SuperGrok。
実務上の含意はこうだ:OpenAI API しか喋れないツール群——Aider、Cline、Codex CLI、Continue、それに長いロングテールのエディタプラグイン——が、自分の既存の契約を経由して Claude Pro、ChatGPT Pro、SuperGrok と話せるようになる。API key を生成する必要は一度もない。
ここが重要なところだ:この種のツールは大抵、プロバイダごとの請求関係を要求してくる。Aider で Claude → Anthropic console に支払い手段付きのアカウント。Cline で GPT-5 → OpenAI の請求アカウント。Codex CLI → 同じ。hermes proxy はこの全部を、すでに持っている OAuth セッションで認証する一つの localhost エンドポイントへ畳み込む。
手順を最初から順番に追う。
0. 前提
- •Hermes Agent v0.14.0 以降をインストール・設定済み(
hermes --versionで確認) - •
hermes modelで少なくとも一つの OAuth 契約を紐づけ済み——Claude Pro、ChatGPT Pro、または SuperGrok
OAuth プロバイダにログインしたことがないなら、初めて hermes model を走らせたときにプロバイダごとの OAuth フローを案内してくれる。実際に金を払っている契約を選ぼう。
1. proxy を立てる
hermes proxy
既定では localhost の空きポートにバインドする。起動ログに URL が出るのでコピーする。ポートを固定したい場合:
hermes proxy --port 11500
長く居座るプロセスとして走らせる——下流のツールが使っている間は生かしておく。systemd、launchd、tmux、あるいはただのターミナルタブ、どれでもいい。
2. 下流のツールに proxy を向ける
Aider
export OPENAI_API_BASE=http://localhost:11500/v1
export OPENAI_API_KEY=hermes-proxy # 空でない文字列なら何でも通る
aider --model claude-sonnet-4-6
Aider の --model には、proxy が自分の Hermes プロバイダ設定から解決する名前を書く。Claude Pro でログインしているなら既定の Claude モデルがそこにいる。ChatGPT Pro と SuperGrok も同じ。
Cline(VS Code)
Cline の設定で、プロバイダを OpenAI Compatible に切り替える。そのうえで:
- •Base URL:
http://localhost:11500/v1 - •API Key:
hermes-proxy(空でなければ何でも) - •Model ID:自分の Hermes 設定にあるモデル名(例:
claude-sonnet-4-6、gpt-5.1)
保存。Cline のリクエストは Hermes 経由になり、契約の認証は Hermes 側が引き受ける。
Codex CLI
Codex CLI は通常 OPENAI_API_BASE と OPENAI_API_KEY を見る。Aider と同じ形:
export OPENAI_API_BASE=http://localhost:11500/v1
export OPENAI_API_KEY=hermes-proxy
codex --model gpt-5-codex
Hermes 経由で ChatGPT Pro にログインしているなら、gpt-5-codex が proxy から出てきて、Codex CLI がフル機能で使える——OpenAI 側で請求関係を一切作らずに。
Continue(JetBrains / VS Code)
Continue の設定を編集する(~/.continue/config.json、もしくは UI から):
{
"models": [{
"title": "Claude via Hermes",
"provider": "openai",
"model": "claude-sonnet-4-6",
"apiBase": "http://localhost:11500/v1",
"apiKey": "hermes-proxy"
}]
}
同じ流儀だ。"provider" は openai のままにする——Continue から見れば、これは OpenAI エンドポイントを叩いている。
3. 動作確認
curl で一発:
curl http://localhost:11500/v1/models -H "Authorization: Bearer hermes-proxy"
自分の Hermes プロバイダ設定から見えるモデル一覧が返ってくるはずだ。401 が来たり空リストが返ったりするなら、proxy は走っているが Hermes が生きた OAuth セッションを見つけられていない——hermes model をやり直して、自分が有効に契約しているプロバイダを選ぶ。
4. トラブルシュート
- •「Connection refused」——proxy が走っていない。立てる。
- •「401 unauthorized」——要求したモデルが、自分が紐づけた契約の範囲に入っていない。
hermes modelで生きているプロバイダを確認する。 - •「Model not found」——下流ツールに書いたモデル名と、Hermes プロバイダが公開している名前が一致していない。
hermes model listに出る名前を使う。 - •レート制限に当たる——契約自体の上限に当たっている(Claude Pro は Sonnet で 5 時間あたり 50 メッセージ前後、ChatGPT Pro と SuperGrok にも別枠の上限がある)。proxy は自前のレートリミッタを足さない——プロバイダが渡してくるクォータをそのまま転送する。
何が嬉しいか
OpenAI API は AI ツール生態系の共通語だ。ほぼ全てのエディタプラグインとコードアシスタントが、第一に OpenAI に対応し、第二に「OpenAI 互換エンドポイント」に対応している。引っかかるのは、その「互換エンドポイント」がたいてい「API key が要る、つまり請求アカウントが要る、つまり月 $20 の契約が誰かのダッシュボード上で従量課金のアカウントに化ける」を意味することだ。
hermes proxy はこの問題を畳んだ。自分の OAuth 契約は元の場所に居座ったまま。proxy は localhost で OpenAI を喋る。Aider、Cline、Codex CLI、Continue——どれも自分が Claude や Grok と話しているとは知らない。動く OpenAI エンドポイントが見えているだけ。
一つの契約、すべてのツール、API key 不要。売り文句はこの一行に尽きる。