tutorial

Codex AppをToken Stationに接続する:Windows、macOS、Linux対応

Codex Appはconfig.tomlでカスタムモデルProviderを登録できます。ProviderをToken StationのResponses APIに向けると、Token Station API keyで利用可能なモデルを呼び出せます。

このガイドではWindows、macOS、Linuxでの設定を説明します。デスクトップAppとターミナルプログラムでは環境変数の取得元が異なる場合があります。macOSでDockやFinderから起動したAppは通常~/.zshrcを読みません。

事前準備

  • Codex App
  • Token StationのアカウントとAPI key
  • 対象モデルの利用権限と残高

例ではopenai/gpt-5.6-solを使います。Token Stationに表示される完全なモデルIDを確認してください。

実際のAPI keyをconfig.toml、スクリーンショット、チャット、リポジトリに記載しないでください。Codexには環境変数から読み込ませます。

Token Station Providerを登録する

Codex Appで設定 → 構成 → config.tomlを開くに進み、次を追加します。

model = "openai/gpt-5.6-sol"
model_provider = "token_station"

[model_providers.token_station]
name = "Token Station"
base_url = "https://bec.bytefuture.ai/v1"
env_key = "TOKEN_STATION_API_KEY"
wire_api = "responses"

既存の設定がある場合は、必要な項目を上書きせずに統合します。

フィールド 用途
model 完全なデフォルトモデルID
model_provider Codexが使うProviderブロック
name Providerの表示名
base_url Token Station APIのルート
env_key API keyを保存する環境変数名
wire_api Responses APIを選択する値

2つのtoken_stationは一致させます。

model_provider = "token_station"
[model_providers.token_station]

base_url/v1までとし、/responsesを追加しません。モデルIDのプロバイダー接頭辞も残します。

Providerの設定は環境変数の名前を宣言するだけで、値そのものは渡しません。さらに、デスクトップアプリが見る環境は、ターミナルが見ているものと同じとは限りません。以下の3節でOSごとの手順を説明します。

Windows:API keyを設定する

システムの詳細設定 → 環境変数を開き、ユーザー環境変数を作成します。

項目
変数名 TOKEN_STATION_API_KEY
変数値 実際のToken Station API key

変数名はconfig.tomlenv_keyと完全に一致させます。保存後、Codex Appを完全に終了して開き直します。

macOS:API keyを設定する

Dock、Finder、Launchpadから起動したAppは、現在のターミナルのexportを通常は引き継ぎません。グラフィカルログインセッションに変数を追加します。

launchctl setenv TOKEN_STATION_API_KEY '実際の API Key'

keyを表示せずに存在を確認します。

if [ -n "$(launchctl getenv TOKEN_STATION_API_KEY)" ]; then
  echo "TOKEN_STATION_API_KEY は設定済みです"
else
  echo "TOKEN_STATION_API_KEY は未設定です"
fi

Command + QでCodex Appを終了し、Dock、Finder、Launchpadから開き直します。

launchctl setenvの変数は通常、現在のログインセッションだけで有効です。ログアウトや再起動後は再設定が必要な場合があります。削除するには:

launchctl unsetenv TOKEN_STATION_API_KEY

Linux:API keyを設定する

環境変数の継承方法はディストリビューション、デスクトップ環境、インストール方法によって異なります。ターミナルから起動する場合は、同じShellで設定します。

export TOKEN_STATION_API_KEY='実際の API Key'

存在を確認します。

if [ -n "${TOKEN_STATION_API_KEY:-}" ]; then
  echo "TOKEN_STATION_API_KEY は設定済みです"
else
  echo "TOKEN_STATION_API_KEY は未設定です"
fi

同じターミナルからCodexを起動します。新しいターミナルでも読み込む場合は、export~/.bashrcまたは~/.zshrcに追加します。

GNOMEやKDEのメニューから起動し、systemdユーザーセッションを使う場合は次を試せます。

systemctl --user set-environment TOKEN_STATION_API_KEY='実際の API Key'

Appを完全に終了して開き直します。削除するには:

systemctl --user unset-environment TOKEN_STATION_API_KEY

Shell設定ファイルに保存したkeyは平文で残ります。Gitや公開同期フォルダーに含めないでください。

経路を確認する

Codex Appが返答しても、それは証拠の半分にすぎません。経路の両端を確認します。

  1. Codex Appを完全に終了して開き直す

  2. 新しい会話を作成する

  3. 次を送る

    「Token Station テスト成功」とだけ返信してください
  4. 正常な応答を確認する

  5. Token Stationダッシュボードを開く

  6. Recent Activityで時刻、状態、モデルを照合する

経路は次のようになります。

Codex App
→ config.toml 内の token_station provider
  → TOKEN_STATION_API_KEY
  → https://bec.bytefuture.ai/v1/responses
→ Token Station の呼び出し履歴

Appの応答とToken Stationの対応する記録がそろえば接続完了です。

トラブルシューティング

API keyが見つからない

変数名がenv_key = "TOKEN_STATION_API_KEY"と完全に一致することを確認し、設定後にAppを再起動します。macOSでDockから起動する場合はlaunchctl setenvを使います。

401または403

keyが無効、余分な空白を含む、モデル権限がない、残高がない可能性があります。

404

次を確認します。

base_url = "https://bec.bytefuture.ai/v1"
wire_api = "responses"

/responsesを重ねて追加しないでください。

モデルが見つからない

Token Stationが提供する完全なモデルIDを使い、プロバイダー接頭辞を残します。

応答はあるがToken Stationに記録がない

model_providerとProviderブロック名が一致すること、Appが編集後のconfig.tomlを読み直したことを確認します。

参考資料