クイックスタート、QA ランナー、単体/統合スイート、Docker フローについては、 テストを参照してください。このページでは、ライブ(ネットワークに接続する)テスト スイート(モデルマトリクス、CLI バックエンド、ACP、メディアプロバイダーのライブテスト)と 認証情報の扱いについて説明します。Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
ライブ: ローカルプロファイルのスモークコマンド
アドホックなライブチェックの前に~/.profile を source し、プロバイダーキーとローカルツール
パスがシェルと一致するようにします。
voicecall smoke は、--yes も指定されていない限り dry run です。実際の通知通話を
意図的に発信したい場合にのみ --yes を使用してください。Twilio、Telnyx、Plivo では、
準備状況チェックが成功するには公開 Webhook URL が必要です。ローカルのみの
loopback/プライベートフォールバックは設計上拒否されます。
ライブ: Android ノード機能スイープ
- テスト:
src/gateway/android-node.capabilities.live.test.ts - スクリプト:
pnpm android:test:integration - 目的: 接続済み Android ノードが現在公開しているすべてのコマンドを呼び出し、コマンド契約の挙動をアサートする。
- 範囲:
- 前提条件付き/手動セットアップ(このスイートはアプリのインストール/実行/ペアリングを行いません)。
- 選択された Android ノードに対する、コマンドごとの Gateway
node.invoke検証。
- 必須の事前セットアップ:
- Android アプリがすでに Gateway に接続済みかつペアリング済みであること。
- アプリをフォアグラウンドに保つこと。
- 成功を期待する機能に対して、権限/キャプチャ同意が付与されていること。
- 任意のターゲット上書き:
OPENCLAW_ANDROID_NODE_IDまたはOPENCLAW_ANDROID_NODE_NAME。OPENCLAW_ANDROID_GATEWAY_URL/OPENCLAW_ANDROID_GATEWAY_TOKEN/OPENCLAW_ANDROID_GATEWAY_PASSWORD。
- Android セットアップの詳細: Android アプリ
ライブ: モデルスモーク(プロファイルキー)
ライブテストは、失敗を切り分けられるように 2 つのレイヤーに分かれています。- 「直接モデル」は、指定されたキーでプロバイダー/モデルがそもそも回答できるかを示します。
- 「Gateway スモーク」は、そのモデルで gateway+agent パイプライン全体が機能するかを示します(セッション、履歴、ツール、サンドボックスポリシーなど)。
レイヤー 1: 直接モデル補完(Gateway なし)
- テスト:
src/agents/models.profiles.live.test.ts - 目的:
- 検出されたモデルを列挙する
getApiKeyForModelを使って、認証情報を持っているモデルを選択する- モデルごとに小さな補完を実行する(必要に応じて対象を絞ったリグレッションも実行)
- 有効化方法:
pnpm test:live(または Vitest を直接呼び出す場合はOPENCLAW_LIVE_TEST=1)
- このスイートを実際に実行するには
OPENCLAW_LIVE_MODELS=modern(または modern のエイリアスであるall)を設定します。設定しない場合、pnpm test:liveを Gateway スモークに集中させるためスキップされます - モデルの選択方法:
OPENCLAW_LIVE_MODELS=modernで modern allowlist(Opus/Sonnet 4.6+、GPT-5.2 + Codex、Gemini 3、DeepSeek V4、GLM 4.7、MiniMax M2.7、Grok 4.3)を実行OPENCLAW_LIVE_MODELS=allは modern allowlist のエイリアス- または
OPENCLAW_LIVE_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,..."(カンマ区切り allowlist) - Modern/all スイープは、デフォルトでは厳選された高シグナルの上限を使用します。網羅的な modern スイープには
OPENCLAW_LIVE_MAX_MODELS=0を設定し、より小さい上限には正の数を設定します。 - 網羅的スイープでは、直接モデルテスト全体のタイムアウトに
OPENCLAW_LIVE_TEST_TIMEOUT_MSを使用します。デフォルト: 60 分。 - 直接モデルプローブは、デフォルトで 20 並列で実行されます。上書きするには
OPENCLAW_LIVE_MODEL_CONCURRENCYを設定します。
- プロバイダーの選択方法:
OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"(カンマ区切り allowlist)
- キーの取得元:
- デフォルト: プロファイルストアと env フォールバック
- プロファイルストアのみに強制するには
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1を設定します
- これが存在する理由:
- 「プロバイダー API が壊れている / キーが無効」と「Gateway agent パイプラインが壊れている」を分離します
- 小さく分離されたリグレッションを含みます(例: OpenAI Responses/Codex Responses の推論リプレイ + ツール呼び出しフロー)
レイヤー 2: Gateway + dev agent スモーク(「@openclaw」が実際に行うこと)
- テスト:
src/gateway/gateway-models.profiles.live.test.ts - 目的:
- インプロセス Gateway を起動する
agent:dev:*セッションを作成/パッチする(実行ごとにモデルを上書き)- キーがあるモデルを反復し、次をアサートする:
- 「意味のある」応答(ツールなし)
- 実際のツール呼び出しが機能する(read プローブ)
- 任意の追加ツールプローブ(exec+read プローブ)
- OpenAI リグレッションパス(ツール呼び出しのみ → フォローアップ)が引き続き機能する
- プローブの詳細(失敗をすばやく説明できるように):
readプローブ: テストはワークスペースに nonce ファイルを書き込み、agent にそれをreadして nonce をエコーバックするよう依頼します。exec+readプローブ: テストは agent にexecで nonce を一時ファイルへ書き込み、その後readで読み返すよう依頼します。- 画像プローブ: テストは生成された PNG(cat + ランダムコード)を添付し、モデルが
cat <CODE>を返すことを期待します。 - 実装リファレンス:
src/gateway/gateway-models.profiles.live.test.tsとsrc/gateway/live-image-probe.ts。
- 有効化方法:
pnpm test:live(または Vitest を直接呼び出す場合はOPENCLAW_LIVE_TEST=1)
- モデルの選択方法:
- デフォルト: modern allowlist(Opus/Sonnet 4.6+、GPT-5.2 + Codex、Gemini 3、DeepSeek V4、GLM 4.7、MiniMax M2.7、Grok 4.3)
OPENCLAW_LIVE_GATEWAY_MODELS=allは modern allowlist のエイリアス- または絞り込むには
OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"(またはカンマ区切りリスト)を設定します - Modern/all Gateway スイープは、デフォルトでは厳選された高シグナルの上限を使用します。網羅的な modern スイープには
OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0を設定し、より小さい上限には正の数を設定します。
- プロバイダーの選択方法(「OpenRouter のすべて」を避ける):
OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"(カンマ区切り allowlist)
- このライブテストでは、ツール + 画像プローブは常に有効です:
readプローブ +exec+readプローブ(ツール負荷)- 画像プローブは、モデルが画像入力サポートを公開している場合に実行されます
- フロー(概要):
- テストが「CAT」+ ランダムコード入りの小さな PNG を生成します(
src/gateway/live-image-probe.ts) agent経由でattachments: [{ mimeType: "image/png", content: "<base64>" }]として送信します- Gateway が添付ファイルを
images[]にパースします(src/gateway/server-methods/agent.ts+src/gateway/chat-attachments.ts) - 埋め込み agent がマルチモーダルユーザーメッセージをモデルへ転送します
- アサーション: 返信に
cat+ コードが含まれる(OCR 許容: 軽微な誤りは許容)
- テストが「CAT」+ ランダムコード入りの小さな PNG を生成します(
ライブ: CLI バックエンドスモーク(Claude、Codex、Gemini、またはその他のローカル CLI)
- テスト:
src/gateway/gateway-cli-backend.live.test.ts - 目的: デフォルト設定に触れずに、ローカル CLI バックエンドを使用して Gateway + agent パイプラインを検証します。
- バックエンド固有のスモークデフォルトは、所有する extension の
cli-backend.ts定義にあります。 - 有効化:
pnpm test:live(または Vitest を直接呼び出す場合はOPENCLAW_LIVE_TEST=1)OPENCLAW_LIVE_CLI_BACKEND=1
- デフォルト:
- デフォルトのプロバイダー/モデル:
claude-cli/claude-sonnet-4-6 - コマンド/引数/画像の挙動は、所有する CLI バックエンド Plugin メタデータから取得されます。
- デフォルトのプロバイダー/モデル:
- 上書き(任意):
OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.5"OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'- 実際の画像添付を送信するには
OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1(パスはプロンプトに注入されます)。Docker レシピでは、明示的に要求されない限り、これはデフォルトでオフです。 - プロンプト注入の代わりに画像ファイルパスを CLI 引数として渡すには
OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"。 IMAGE_ARGが設定されている場合に画像引数をどのように渡すかを制御するにはOPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"(または"list")。- 2 ターン目を送信して resume フローを検証するには
OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1。 - 選択されたモデルが切り替えターゲットをサポートしている場合、Claude Sonnet -> Opus の同一セッション継続性プローブにオプトインするには
OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1。Docker レシピでは、集約時の信頼性のため、これはデフォルトでオフです。 - MCP/ツール loopback プローブにオプトインするには
OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1。Docker レシピでは、明示的に要求されない限り、これはデフォルトでオフです。
gemini --debug mcp list を実行して、保存済みの
transport: "streamable-http" サーバーが Gemini の HTTP MCP 形式に正規化され、
ローカルの streamable-HTTP MCP サーバーに接続できることを証明します。
Docker レシピ:
- Docker ランナーは
scripts/test-live-cli-backend-docker.shにあります。 - これは repo Docker イメージ内で、非 root の
nodeユーザーとしてライブ CLI バックエンドスモークを実行します。 - 所有する extension から CLI スモークメタデータを解決し、その後、一致する Linux CLI パッケージ(
@anthropic-ai/claude-code、@openai/codex、または@google/gemini-cli)をOPENCLAW_DOCKER_CLI_TOOLS_DIR(デフォルト:~/.cache/openclaw/docker-cli-tools)のキャッシュ済み書き込み可能プレフィックスへインストールします。 pnpm test:docker:live-cli-backend:claude-subscriptionには、claudeAiOauth.subscriptionTypeを含む~/.claude/.credentials.jsonまたはclaude setup-tokenからのCLAUDE_CODE_OAUTH_TOKENのいずれかによる、ポータブルな Claude Code サブスクリプション OAuth が必要です。これは最初に Docker 内の直接claude -pを証明し、その後 Anthropic API キー env var を保持せずに Gateway CLI バックエンドを 2 ターン実行します。このサブスクリプション lane は、Claude が現在、サードパーティアプリ利用を通常のサブスクリプションプラン上限ではなく追加利用課金にルーティングするため、Claude MCP/ツールおよび画像プローブをデフォルトで無効にします。- ライブ CLI バックエンドスモークは現在、Claude、Codex、Gemini について同じエンドツーエンドフローを実行します: テキストターン、画像分類ターン、その後 Gateway CLI 経由で検証される MCP
cronツール呼び出し。 - Claude のデフォルトスモークでは、セッションを Sonnet から Opus へパッチし、再開されたセッションが以前のメモをまだ覚えていることも検証します。
ライブ: APNs HTTP/2 プロキシ到達性
- テスト:
src/infra/push-apns-http2.live.test.ts - 目的: ローカル HTTP CONNECT プロキシを介して Apple の sandbox APNs エンドポイントへトンネルし、APNs HTTP/2 検証リクエストを送信して、Apple の実際の
403 InvalidProviderToken応答がプロキシ経路を通って返ることをアサートします。 - 有効化:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_APNS_REACHABILITY=1 pnpm test:live src/infra/push-apns-http2.live.test.ts
- 任意のタイムアウト:
OPENCLAW_LIVE_APNS_TIMEOUT_MS=30000
ライブ: ACP bind スモーク(/acp spawn ... --bind here)
- テスト:
src/gateway/gateway-acp-bind.live.test.ts - 目的: ライブ ACP エージェントで実際の ACP 会話バインドフローを検証する:
/acp spawn <agent> --bind hereを送信する- 合成メッセージチャネル会話をその場でバインドする
- 同じ会話で通常のフォローアップを送信する
- フォローアップがバインドされた ACP セッショントランスクリプトに到達することを検証する
- 有効化:
pnpm test:live src/gateway/gateway-acp-bind.live.test.tsOPENCLAW_LIVE_ACP_BIND=1
- デフォルト:
- Docker 内の ACP エージェント:
claude,codex,gemini - 直接
pnpm test:live ...用の ACP エージェント:claude - 合成チャネル: Slack DM スタイルの会話コンテキスト
- ACP バックエンド:
acpx
- Docker 内の ACP エージェント:
- 上書き:
OPENCLAW_LIVE_ACP_BIND_AGENT=claudeOPENCLAW_LIVE_ACP_BIND_AGENT=codexOPENCLAW_LIVE_ACP_BIND_AGENT=droidOPENCLAW_LIVE_ACP_BIND_AGENT=geminiOPENCLAW_LIVE_ACP_BIND_AGENT=opencodeOPENCLAW_LIVE_ACP_BIND_AGENTS=claude,codex,geminiOPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@<version>'OPENCLAW_LIVE_ACP_BIND_CODEX_MODEL=gpt-5.5OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL=opencode/kimi-k2.6OPENCLAW_LIVE_ACP_BIND_REQUIRE_TRANSCRIPT=1OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.5
- 注記:
- このレーンは、テストが外部配信を装わずにメッセージチャネルコンテキストをアタッチできるように、管理者専用の合成 originating-route フィールド付きで Gateway の
chat.sendサーフェスを使用する。 OPENCLAW_LIVE_ACP_BIND_AGENT_COMMANDが未設定の場合、テストは選択された ACP ハーネスエージェントに対して、埋め込みacpxPlugin の組み込みエージェントレジストリを使用する。- バインド済みセッションの Cron MCP 作成は、デフォルトではベストエフォートである。外部 ACP ハーネスはバインド/画像の証明が通過した後に MCP 呼び出しをキャンセルする場合があるため。バインド後の Cron プローブを厳密にするには
OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1を設定する。
- このレーンは、テストが外部配信を装わずにメッセージチャネルコンテキストをアタッチできるように、管理者専用の合成 originating-route フィールド付きで Gateway の
- Docker ランナーは
scripts/test-live-acp-bind-docker.shにある。 - デフォルトでは、ACP バインドスモークを集約ライブ CLI エージェントに対して順番に実行する:
claude、codex、次にgemini。 - マトリクスを絞り込むには、
OPENCLAW_LIVE_ACP_BIND_AGENTS=claude、OPENCLAW_LIVE_ACP_BIND_AGENTS=codex、OPENCLAW_LIVE_ACP_BIND_AGENTS=droid、OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini、またはOPENCLAW_LIVE_ACP_BIND_AGENTS=opencodeを使用する。 - これは
~/.profileを読み込み、一致する CLI 認証素材をコンテナにステージングし、その後、要求されたライブ CLI(@anthropic-ai/claude-code、@openai/codex、https://app.factory.ai/cli経由の Factory Droid、@google/gemini-cli、またはopencode-ai)が不足していればインストールする。ACP バックエンド自体は公式acpxPlugin からの埋め込みacpx/runtimeパッケージである。 - Droid Docker バリアントは設定用に
~/.factoryをステージングし、FACTORY_API_KEYを転送し、その API キーを必須とする。これはローカルの Factory OAuth/keyring 認証をコンテナへ移植できないためである。これは ACPX の組み込みdroid exec --output-format acpレジストリエントリを使用する。 - OpenCode Docker バリアントは厳密な単一エージェント回帰レーンである。
~/.profileを読み込んだ後に、OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL(デフォルトopencode/kimi-k2.6)から一時的なOPENCODE_CONFIG_CONTENTデフォルトモデルを書き込み、pnpm test:docker:live-acp-bind:opencodeは汎用のバインド後スキップを受け入れる代わりに、バインドされたアシスタントトランスクリプトを要求する。 - 直接の
acpxCLI 呼び出しは、Gateway 外部で挙動を比較するための手動/回避策パスに限られる。Docker ACP バインドスモークは OpenClaw の埋め込みacpxランタイムバックエンドを検証する。
ライブ: Codex アプリサーバーハーネススモーク
- 目的: 通常の Gateway
agentメソッドを通して Plugin 所有の Codex ハーネスを検証する:- バンドル済み
codexPlugin を読み込む openai/gpt-5.5を選択する。これはデフォルトで OpenAI エージェントターンを Codex 経由にルーティングする- Codex ハーネスを選択した状態で、最初の Gateway エージェントターンを
openai/gpt-5.5に送信する - 同じ OpenClaw セッションに 2 回目のターンを送信し、アプリサーバー スレッドが再開できることを検証する
- 同じ Gateway コマンドパスを通して
/codex statusと/codex modelsを実行する - 任意で、Guardian レビュー済みの昇格シェルプローブを 2 つ実行する: 承認されるべき無害な コマンドと、拒否されてエージェントが確認を返すべき偽のシークレットアップロード
- バンドル済み
- テスト:
src/gateway/gateway-codex-harness.live.test.ts - 有効化:
OPENCLAW_LIVE_CODEX_HARNESS=1 - デフォルトモデル:
openai/gpt-5.5 - 任意の画像プローブ:
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1 - 任意の MCP/ツールプローブ:
OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1 - 任意の Guardian プローブ:
OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1 - このスモークは provider/model の
agentRuntime.id: "codex"を強制するため、壊れた Codex ハーネスが静かに PI へフォールバックして通過することはできない。 - 認証: ローカル Codex サブスクリプションログインからの Codex アプリサーバー認証。Docker
スモークは、該当する場合に非 Codex プローブ用の
OPENAI_API_KEYも提供でき、 任意でコピーされた~/.codex/auth.jsonと~/.codex/config.tomlも使用できる。
- Docker ランナーは
scripts/test-live-codex-harness-docker.shにある。 - これはマウントされた
~/.profileを読み込み、OPENAI_API_KEYを渡し、存在する場合は Codex CLI 認証ファイルをコピーし、書き込み可能なマウント済み npm プレフィックスに@openai/codexをインストールし、ソースツリーをステージングしてから、Codex ハーネスのライブテストのみを実行する。 - Docker はデフォルトで画像、MCP/ツール、Guardian プローブを有効にする。より狭いデバッグ
実行が必要な場合は、
OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0またはOPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0またはOPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0を設定する。 - Docker は同じ明示的な Codex ランタイム設定を使用するため、レガシーエイリアスや PI フォールバックで Codex ハーネス回帰を隠すことはできない。
推奨ライブレシピ
狭く明示的な許可リストが最速で、最も不安定になりにくい:-
単一モデル、直接(Gateway なし):
OPENCLAW_LIVE_MODELS="openai/gpt-5.5" pnpm test:live src/agents/models.profiles.live.test.ts
-
単一モデル、Gateway スモーク:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
複数プロバイダーにまたがるツール呼び出し:
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
-
Google 重点(Gemini API キー + Antigravity):
- Gemini(API キー):
OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3-flash-preview" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts - Antigravity(OAuth):
OPENCLAW_LIVE_GATEWAY_MODELS="google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-pro-high" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
- Gemini(API キー):
-
Google adaptive thinking スモーク:
- ローカルキーがシェルプロファイルにある場合:
source ~/.profile - Gemini 3 動的デフォルト:
pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000 - Gemini 2.5 動的予算:
pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000
- ローカルキーがシェルプロファイルにある場合:
google/...は Gemini API(API キー)を使用する。google-antigravity/...は Antigravity OAuth ブリッジ(Cloud Code Assist スタイルのエージェントエンドポイント)を使用する。google-gemini-cli/...はマシン上のローカル Gemini CLI を使用する(別個の認証 + ツールの癖)。- Gemini API と Gemini CLI:
- API: OpenClaw は HTTP 経由で Google のホスト型 Gemini API を呼び出す(API キー / プロファイル認証)。ほとんどのユーザーが「Gemini」と言うときに意味するのはこれである。
- CLI: OpenClaw はローカルの
geminiバイナリをシェル実行する。独自の認証を持ち、挙動が異なる場合がある(ストリーミング/ツールサポート/バージョン差異)。
ライブ: モデルマトリクス(カバー範囲)
固定の「CI モデルリスト」はない(ライブはオプトイン)が、これらはキーを持つ開発マシンで定期的にカバーする推奨モデルである。モダンスモークセット(ツール呼び出し + 画像)
これは、動作し続けることを期待する「共通モデル」の実行である:- OpenAI(非 Codex):
openai/gpt-5.5 - OpenAI Codex OAuth:
openai-codex/gpt-5.5 - Anthropic:
anthropic/claude-opus-4-6(またはanthropic/claude-sonnet-4-6) - Google(Gemini API):
google/gemini-3.1-pro-previewとgoogle/gemini-3-flash-preview(古い Gemini 2.x モデルは避ける) - Google(Antigravity):
google-antigravity/claude-opus-4-6-thinkingとgoogle-antigravity/gemini-3-flash - DeepSeek:
deepseek/deepseek-v4-flashとdeepseek/deepseek-v4-pro - Z.AI(GLM):
zai/glm-5.1 - MiniMax:
minimax/MiniMax-M2.7
OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts
ベースライン: ツール呼び出し(Read + 任意の Exec)
プロバイダーファミリーごとに少なくとも 1 つ選択する:- OpenAI:
openai/gpt-5.5 - Anthropic:
anthropic/claude-opus-4-6(またはanthropic/claude-sonnet-4-6) - Google:
google/gemini-3-flash-preview(またはgoogle/gemini-3.1-pro-preview) - DeepSeek:
deepseek/deepseek-v4-flash - Z.AI(GLM):
zai/glm-5.1 - MiniMax:
minimax/MiniMax-M2.7
- xAI:
xai/grok-4.3(または利用可能な最新) - Mistral:
mistral/…(有効化済みの「tools」対応モデルを 1 つ選択) - Cerebras:
cerebras/…(アクセス権がある場合) - LM Studio:
lmstudio/…(ローカル。ツール呼び出しは API モードに依存する)
Vision: 画像送信(添付 → マルチモーダルメッセージ)
画像プローブを実行するため、OPENCLAW_LIVE_GATEWAY_MODELS に少なくとも 1 つの画像対応モデル(Claude/Gemini/OpenAI の vision 対応バリアントなど)を含める。
アグリゲーター / 代替 Gateway
キーを有効化している場合は、以下経由のテストもサポートしている:- OpenRouter:
openrouter/...(数百のモデル。ツール + 画像対応候補を見つけるにはopenclaw models scanを使用) - OpenCode: Zen 用の
opencode/...と Go 用のopencode-go/...(OPENCODE_API_KEY/OPENCODE_ZEN_API_KEY経由で認証)
- 組み込み:
openai、openai-codex、anthropic、google、google-vertex、google-antigravity、google-gemini-cli、zai、openrouter、opencode、opencode-go、xai、groq、cerebras、mistral、github-copilot models.providers経由(カスタムエンドポイント):minimax(クラウド/API)に加え、任意の OpenAI/Anthropic 互換プロキシ(LM Studio、vLLM、LiteLLM など)
認証情報(絶対にコミットしない)
ライブテストは CLI と同じ方法で認証情報を検出する。実用上の意味:- CLI が動作する場合、ライブテストは同じキーを見つけるはずです。
-
ライブテストが「認証情報なし」と表示する場合は、
openclaw models list/ モデル選択をデバッグするのと同じ方法でデバッグしてください。 -
エージェントごとの認証プロファイル:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(ライブテストで「プロファイルキー」が意味するもの) -
設定:
~/.openclaw/openclaw.json(またはOPENCLAW_CONFIG_PATH) -
レガシー状態ディレクトリ:
~/.openclaw/credentials/(存在する場合はステージング済みのライブホームにコピーされますが、メインのプロファイルキーストアではありません) -
ローカルでのライブ実行は、既定でアクティブな設定、エージェントごとの
auth-profiles.jsonファイル、レガシーのcredentials/、対応している外部 CLI 認証ディレクトリを一時テストホームにコピーします。ステージング済みのライブホームではworkspace/とsandboxes/がスキップされ、agents.*.workspace/agentDirのパス上書きは削除されるため、プローブは実ホストのワークスペースに触れません。
~/.profile でエクスポートされている場合) は、source ~/.profile の後にローカルテストを実行するか、下記の Docker ランナーを使用してください (~/.profile をコンテナにマウントできます)。
Deepgram ライブ (音声文字起こし)
- テスト:
extensions/deepgram/audio.live.test.ts - 有効化:
DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts
BytePlus コーディング計画ライブ
- テスト:
extensions/byteplus/live.test.ts - 有効化:
BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts - 任意のモデル上書き:
BYTEPLUS_CODING_MODEL=ark-code-latest
ComfyUI ワークフローメディアライブ
- テスト:
extensions/comfy/comfy.live.test.ts - 有効化:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts - スコープ:
- バンドルされた comfy の画像、動画、
music_generateパスを実行します plugins.entries.comfy.config.<capability>が設定されていない限り、各ケイパビリティをスキップします- comfy ワークフロー送信、ポーリング、ダウンロード、または Plugin 登録を変更した後に有用です
- バンドルされた comfy の画像、動画、
画像生成ライブ
- テスト:
test/image-generation.runtime.live.test.ts - コマンド:
pnpm test:live test/image-generation.runtime.live.test.ts - ハーネス:
pnpm test:live:media image - スコープ:
- 登録済みのすべての画像生成プロバイダー Plugin を列挙します
- プローブ前にログインシェル (
~/.profile) から不足しているプロバイダー環境変数を読み込みます - 既定では、保存済み認証プロファイルよりもライブ/環境変数 API キーを優先するため、
auth-profiles.json内の古いテストキーが実際のシェル認証情報を隠しません - 使用可能な認証/プロファイル/モデルがないプロバイダーをスキップします
- 設定済みの各プロバイダーを共有画像生成ランタイム経由で実行します:
<provider>:generate- プロバイダーが編集対応を宣言している場合は
<provider>:edit
- 現在対象になっているバンドルプロバイダー:
deepinfrafalgoogleminimaxopenaiopenroutervydraxai
- 任意の絞り込み:
OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="openai,google,openrouter,xai"OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="deepinfra"OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-2,google/gemini-3.1-flash-image-preview,openrouter/google/gemini-3.1-flash-image-preview,xai/grok-imagine-image"OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit,openrouter:generate,xai:default-generate,xai:default-edit"
- 任意の認証動作:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1でプロファイルストア認証を強制し、環境変数のみの上書きを無視します
infer スモークを追加します:
音楽生成ライブ
- テスト:
extensions/music-generation-providers.live.test.ts - 有効化:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts - ハーネス:
pnpm test:live:media music - スコープ:
- 共有バンドル音楽生成プロバイダーパスを実行します
- 現在は Google と MiniMax を対象にしています
- プローブ前にログインシェル (
~/.profile) からプロバイダー環境変数を読み込みます - 既定では、保存済み認証プロファイルよりもライブ/環境変数 API キーを優先するため、
auth-profiles.json内の古いテストキーが実際のシェル認証情報を隠しません - 使用可能な認証/プロファイル/モデルがないプロバイダーをスキップします
- 利用可能な場合は、宣言済みの両方のランタイムモードを実行します:
- プロンプトのみの入力で
generate - プロバイダーが
capabilities.edit.enabledを宣言している場合はedit
- プロンプトのみの入力で
- 現在の共有レーン対象:
google:generate,editminimax:generatecomfy: この共有スイープではなく、別個の Comfy ライブファイル
- 任意の絞り込み:
OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.6"
- 任意の認証動作:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1でプロファイルストア認証を強制し、環境変数のみの上書きを無視します
動画生成ライブ
- テスト:
extensions/video-generation-providers.live.test.ts - 有効化:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts - ハーネス:
pnpm test:live:media video - スコープ:
- 共有バンドル動画生成プロバイダーパスを実行します
- 既定ではリリース安全なスモークパスを使用します: FAL 以外のプロバイダー、プロバイダーごとに 1 件のテキストから動画リクエスト、1 秒のロブスタープロンプト、
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MSからのプロバイダーごとの操作上限 (既定は180000) - プロバイダー側のキュー遅延がリリース時間を支配する可能性があるため、既定では FAL をスキップします。明示的に実行するには
--video-providers falまたはOPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"を渡します - プローブ前にログインシェル (
~/.profile) からプロバイダー環境変数を読み込みます - 既定では、保存済み認証プロファイルよりもライブ/環境変数 API キーを優先するため、
auth-profiles.json内の古いテストキーが実際のシェル認証情報を隠しません - 使用可能な認証/プロファイル/モデルがないプロバイダーをスキップします
- 既定では
generateのみを実行します - 利用可能な場合に宣言済みの変換モードも実行するには、
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1を設定します:- プロバイダーが
capabilities.imageToVideo.enabledを宣言し、選択されたプロバイダー/モデルが共有スイープでバッファ backed のローカル画像入力を受け入れる場合はimageToVideo - プロバイダーが
capabilities.videoToVideo.enabledを宣言し、選択されたプロバイダー/モデルが共有スイープでバッファ backed のローカル動画入力を受け入れる場合はvideoToVideo
- プロバイダーが
- 共有スイープで現在宣言済みだがスキップされる
imageToVideoプロバイダー:vydra。バンドルされたveo3はテキスト専用で、バンドルされたklingはリモート画像 URL を必要とするため
- プロバイダー固有の Vydra 対象:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts- このファイルは
veo3のテキストから動画に加え、既定でリモート画像 URL フィクスチャを使用するklingレーンを実行します
- 現在の
videoToVideoライブ対象:- 選択されたモデルが
runway/gen4_alephの場合のみrunway
- 選択されたモデルが
- 共有スイープで現在宣言済みだがスキップされる
videoToVideoプロバイダー:alibaba,qwen,xai。これらのパスは現在リモートのhttp(s)/ MP4 参照 URL を必要とするためgoogle。現在の共有 Gemini/Veo レーンはローカルのバッファ backed 入力を使用し、そのパスは共有スイープで受け入れられないためopenai。現在の共有レーンには組織固有の動画インペイント/リミックスアクセス保証がないため
- 任意の絞り込み:
OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="deepinfra,google,openai,runway"OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"- 既定のスイープに FAL を含むすべてのプロバイダーを含めるには
OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS="" - 積極的なスモーク実行のために各プロバイダー操作上限を短縮するには
OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000
- 任意の認証動作:
OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1でプロファイルストア認証を強制し、環境変数のみの上書きを無視します
メディアライブハーネス
- コマンド:
pnpm test:live:media - 目的:
- 共有画像、音楽、動画ライブスイートを 1 つのリポジトリネイティブなエントリポイント経由で実行します
~/.profileから不足しているプロバイダー環境変数を自動読み込みします- 既定では、現在使用可能な認証を持つプロバイダーに各スイートを自動絞り込みします
scripts/test-live.mjsを再利用するため、Heartbeat と静音モードの動作は一貫します
- 例:
pnpm test:live:mediapnpm test:live:media image video --providers openai,google,minimaxpnpm test:live:media video --video-providers openai,runway --all-providerspnpm test:live:media music --quiet
関連
- テスト - ユニット、インテグレーション、QA、Docker スイート