Gateway
設定 — ツールとカスタムプロバイダー
tools.* 設定キーとカスタムプロバイダー / ベース URL のセットアップ。エージェント、チャネル、その他のトップレベル設定キーについては、設定リファレンスを参照してください。
ツール
ツールプロファイル
tools.profile は、tools.allow/tools.deny より前にベースの許可リストを設定します。
| プロファイル | 含まれるもの |
|---|---|
minimal |
session_status のみ |
coding |
group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging |
group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full |
制限なし(未設定と同じ) |
ツールグループ
| グループ | ツール |
|---|---|
group:runtime |
exec, process, code_execution(bash は exec のエイリアスとして受け入れられます) |
group:fs |
read, write, edit, apply_patch |
group:sessions |
sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory |
memory_search, memory_get |
group:web |
web_search, x_search, web_fetch |
group:ui |
browser, canvas |
group:automation |
heartbeat_respond, cron, gateway |
group:messaging |
message |
group:nodes |
nodes |
group:agents |
agents_list, update_plan |
group:media |
image, image_generate, music_generate, video_generate, tts |
group:openclaw |
すべての組み込みツール(プロバイダーPluginを除く) |
tools.allow / tools.deny
グローバルなツールの許可/拒否ポリシー(拒否が優先)。大文字小文字を区別せず、* ワイルドカードをサポートします。Docker サンドボックスがオフの場合でも適用されます。
{ tools: { deny: ["browser", "canvas"] },}write と apply_patch は別々のツール ID です。allow: ["write"] は互換性のあるモデルでは apply_patch も有効にしますが、deny: ["write"] は apply_patch を拒否しません。すべてのファイル変更をブロックするには、group:fs を拒否するか、変更を行う各ツールを明示的に列挙してください。
{ tools: { deny: ["write", "edit", "apply_patch"] },}tools.byProvider
特定のプロバイダーまたはモデルのツールをさらに制限します。順序は、ベースプロファイル → プロバイダープロファイル → 許可/拒否です。
{ tools: { profile: "coding", byProvider: { "google-antigravity": { profile: "minimal" }, "openai/gpt-5.4": { allow: ["group:fs", "sessions_list"] }, }, },}tools.toolsBySender
特定のリクエスター ID のツールを制限します。これはチャネルアクセス制御に重ねる多層防御です。送信者の値はメッセージ本文ではなく、チャネルアダプターから取得される必要があります。
{ tools: { toolsBySender: { "channel:discord:1234567890123": { alsoAllow: ["group:fs"] }, "id:guest-user-id": { deny: ["group:runtime", "group:fs"] }, "*": { deny: ["exec", "process", "write", "edit", "apply_patch"] }, }, },}キーは明示的なプレフィックスを使用します: channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName>, または "*"。チャネル ID は正規の OpenClaw ID です。teams などのエイリアスは msteams に正規化されます。従来のプレフィックスなしキーは id: としてのみ受け入れられます。照合順序は channel+id、id、e164、username、name、その後にワイルドカードです。
エージェントごとの agents.list[].tools.toolsBySender は、一致する場合、空の {} ポリシーであってもグローバルな送信者照合を上書きします。
tools.elevated
サンドボックス外の昇格された exec アクセスを制御します。
{ tools: { elevated: { enabled: true, allowFrom: { whatsapp: ["+15555550123"], discord: ["1234567890123", "987654321098765432"], }, }, },}- エージェントごとの上書き(
agents.list[].tools.elevated)は、さらに制限することしかできません。 /elevated on|off|ask|fullはセッションごとに状態を保存します。インラインディレクティブは単一のメッセージに適用されます。- 昇格された
execはサンドボックスをバイパスし、設定されたエスケープパス(デフォルトはgateway、exec 対象がnodeの場合はnode)を使用します。
tools.exec
{ tools: { exec: { backgroundMs: 10000, timeoutSec: 1800, cleanupMs: 1800000, notifyOnExit: true, notifyOnExitEmptySuccess: false, commandHighlighting: false, applyPatch: { enabled: false, allowModels: ["gpt-5.5"], }, }, },}tools.loopDetection
ツールループ安全性チェックはデフォルトでは無効です。検出を有効化するには enabled: true を設定します。設定は tools.loopDetection でグローバルに定義でき、エージェントごとに agents.list[].tools.loopDetection で上書きできます。
{ tools: { loopDetection: { enabled: true, historySize: 30, warningThreshold: 10, criticalThreshold: 20, globalCircuitBreakerThreshold: 30, detectors: { genericRepeat: true, knownPollNoProgress: true, pingPong: true, }, }, },}historySizenumberループ分析用に保持するツール呼び出し履歴の最大数。
warningThresholdnumber警告対象となる、進捗のない繰り返しパターンのしきい値。
criticalThresholdnumberブロック対象となる重大なループの、より高い繰り返ししきい値。
globalCircuitBreakerThresholdnumber進捗のない実行に対する強制停止しきい値。
detectors.genericRepeatboolean同じツール/同じ引数の呼び出しが繰り返された場合に警告します。
detectors.knownPollNoProgressboolean既知のポーリングツール(process.poll、command_status など)で警告/ブロックします。
detectors.pingPongboolean進捗のない交互のペアパターンで警告/ブロックします。
tools.web
{ tools: { web: { search: { enabled: true, apiKey: "brave_api_key", // or BRAVE_API_KEY env maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, fetch: { enabled: true, provider: "firecrawl", // optional; omit for auto-detect maxChars: 50000, maxCharsCap: 50000, maxResponseBytes: 2000000, timeoutSeconds: 30, cacheTtlMinutes: 15, maxRedirects: 3, readability: true, userAgent: "custom-ua", }, }, },}tools.media
受信メディアの理解(画像/音声/動画)を設定します。
{ tools: { media: { concurrency: 2, asyncCompletion: { directSend: false, // deprecated: completions stay agent-mediated }, audio: { enabled: true, maxBytes: 20971520, scope: { default: "deny", rules: [{ action: "allow", match: { chatType: "direct" } }], }, models: [ { provider: "openai", model: "gpt-4o-mini-transcribe" }, { type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] }, ], }, image: { enabled: true, timeoutSeconds: 180, models: [{ provider: "ollama", model: "gemma4:26b", timeoutSeconds: 300 }], }, video: { enabled: true, maxBytes: 52428800, models: [{ provider: "google", model: "gemini-3-flash-preview" }], }, }, },}メディアモデル項目フィールド
プロバイダー項目(type: "provider" または省略):
provider: API プロバイダー ID(openai、anthropic、google/gemini、groqなど)model: モデル ID の上書きprofile/preferredProfile:auth-profiles.jsonプロファイル選択
CLI 項目(type: "cli"):
command: 実行する実行可能ファイルargs: テンプレート化された引数({{MediaPath}}、{{Prompt}}、{{MaxChars}}などをサポートします。openclaw doctor --fixは非推奨の{input}プレースホルダーを{{MediaPath}}に移行します)
共通フィールド:
capabilities: 任意のリスト(image、audio、video)。デフォルト:openai/anthropic/minimax→ 画像、google→ 画像+音声+動画、groq→ 音声。prompt、maxChars、maxBytes、timeoutSeconds、language: 項目ごとの上書き。tools.media.image.timeoutSecondsと、一致する画像モデルのtimeoutSeconds項目は、エージェントが明示的なimageツールを呼び出す場合にも適用されます。- 失敗した場合は次の項目にフォールバックします。
プロバイダー認証は標準の順序に従います: auth-profiles.json → 環境変数 → models.providers.*.apiKey。
非同期完了フィールド:
asyncCompletion.directSend: 非推奨の互換性フラグ。完了した非同期メディアタスクは、リクエスターのセッション経由のままになるため、エージェントが結果を受け取り、ユーザーへの伝え方を決定し、ソース配信で必要な場合にメッセージツールを使用します。
tools.agentToAgent
{ tools: { agentToAgent: { enabled: false, allow: ["home", "work"], }, },}tools.sessions
セッションツール(sessions_list、sessions_history、sessions_send)でターゲットにできるセッションを制御します。
デフォルト: tree(現在のセッション + サブエージェントなど、それにより生成されたセッション)。
{ tools: { sessions: { // "self" | "tree" | "agent" | "all" visibility: "tree", }, },}可視性スコープ
self: 現在のセッションキーのみ。tree: 現在のセッション + 現在のセッションにより生成されたセッション(サブエージェント)。agent: 現在のエージェント ID に属する任意のセッション(同じエージェント ID の下で送信者ごとのセッションを実行している場合、他のユーザーを含むことがあります)。all: 任意のセッション。エージェントをまたぐターゲット指定には引き続きtools.agentToAgentが必要です。- サンドボックス制限: 現在のセッションがサンドボックス化されており、
agents.defaults.sandbox.sessionToolsVisibility="spawned"の場合、tools.sessions.visibility="all"であっても可視性はtreeに強制されます。
tools.sessions_spawn
sessions_spawn のインライン添付サポートを制御します。
{ tools: { sessions_spawn: { attachments: { enabled: false, // opt-in: set true to allow inline file attachments maxTotalBytes: 5242880, // 5 MB total across all files maxFiles: 50, maxFileBytes: 1048576, // 1 MB per file retainOnSessionKeep: false, // keep attachments when cleanup="keep" }, }, },}添付ファイルの注記
- 添付ファイルは
runtime: "subagent"でのみサポートされます。ACP ランタイムは添付ファイルを拒否します。 - ファイルは子ワークスペースの
.openclaw/attachments/<uuid>/に.manifest.jsonとともに実体化されます。 - 添付ファイルの内容は、トランスクリプトの永続化から自動的に編集されます。
- Base64 入力は、厳密なアルファベット/パディング検査と、デコード前のサイズガードで検証されます。
- ファイル権限は、ディレクトリが
0700、ファイルが0600です。 - クリーンアップは
cleanupポリシーに従います。deleteは常に添付ファイルを削除します。keepはretainOnSessionKeep: trueの場合にのみ添付ファイルを保持します。
tools.experimental
実験的な組み込みツールフラグ。厳密エージェント型の GPT-5 自動有効化ルールが適用される場合を除き、デフォルトはオフです。
{ tools: { experimental: { planTool: true, // enable experimental update_plan }, },}planTool: 自明でない複数ステップの作業追跡向けに、構造化されたupdate_planツールを有効にします。- デフォルト: OpenAI または OpenAI Codex GPT-5 ファミリーの実行で
agents.defaults.embeddedPi.executionContract(またはエージェントごとのオーバーライド) が"strict-agentic"に設定されている場合を除き、falseです。そのスコープ外でツールを強制的にオンにするにはtrueを設定し、厳密エージェント型の GPT-5 実行でもオフのままにするにはfalseを設定します。 - 有効化すると、システムプロンプトには使用ガイダンスも追加され、モデルが実質的な作業にのみ使用し、
in_progressのステップを最大 1 つに保つようになります。
agents.defaults.subagents
{ agents: { defaults: { subagents: { allowAgents: ["research"], model: "minimax/MiniMax-M2.7", maxConcurrent: 8, runTimeoutSeconds: 900, announceTimeoutMs: 120000, archiveAfterMinutes: 60, }, }, },}model: 生成されたサブエージェントのデフォルトモデル。省略した場合、サブエージェントは呼び出し元のモデルを継承します。allowAgents: 要求元エージェントが独自のsubagents.allowAgentsを設定していない場合の、sessions_spawnの対象エージェント ID のデフォルト許可リスト (["*"]= 任意、デフォルト: 同じエージェントのみ)。runTimeoutSeconds: ツール呼び出しでrunTimeoutSecondsが省略された場合の、sessions_spawnのデフォルトタイムアウト (秒)。0はタイムアウトなしを意味します。announceTimeoutMs: Gateway のagentアナウンス配信試行に対する呼び出しごとのタイムアウト (ミリ秒)。デフォルト:120000。一時的なリトライにより、アナウンス待機の合計が設定された 1 回分のタイムアウトより長くなることがあります。- サブエージェントごとのツールポリシー:
tools.subagents.tools.allow/tools.subagents.tools.deny。
カスタムプロバイダーとベース URL
OpenClaw は組み込みのモデルカタログを使用します。カスタムプロバイダーは、設定の models.providers または ~/.openclaw/agents/<agentId>/agent/models.json で追加します。
{ models: { mode: "merge", // merge (default) | replace providers: { "custom-proxy": { baseUrl: "http://localhost:4000/v1", apiKey: "LITELLM_KEY", api: "openai-completions", // openai-completions | openai-responses | anthropic-messages | google-generative-ai models: [ { id: "llama-3.1-8b", name: "Llama 3.1 8B", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 128000, contextTokens: 96000, maxTokens: 32000, }, ], }, }, },}認証とマージの優先順位
- カスタム認証が必要な場合は、
authHeader: true+headersを使用します。 - エージェント設定ルートは
OPENCLAW_AGENT_DIR(またはレガシー環境変数エイリアスのPI_CODING_AGENT_DIR) でオーバーライドします。 - 一致するプロバイダー ID のマージ優先順位:
- 空でないエージェント
models.jsonのbaseUrl値が優先されます。 - 空でないエージェント
apiKey値は、そのプロバイダーが現在の設定/認証プロファイルのコンテキストで SecretRef 管理ではない場合にのみ優先されます。 - SecretRef 管理のプロバイダー
apiKey値は、解決済みシークレットを永続化する代わりに、ソースマーカー (env 参照の場合はENV_VAR_NAME、file/exec 参照の場合はsecretref-managed) から更新されます。 - SecretRef 管理のプロバイダーヘッダー値は、ソースマーカー (env 参照の場合は
secretref-env:ENV_VAR_NAME、file/exec 参照の場合はsecretref-managed) から更新されます。 - 空または欠落しているエージェント
apiKey/baseUrlは、設定のmodels.providersにフォールバックします。 - 一致するモデルの
contextWindow/maxTokensは、明示的な設定値と暗黙のカタログ値のうち高い方を使用します。 - 一致するモデルの
contextTokensは、存在する場合は明示的なランタイム上限を保持します。ネイティブモデルメタデータを変更せずに有効コンテキストを制限するために使用します。 - 設定で
models.jsonを完全に書き換えたい場合は、models.mode: "replace"を使用します。 - マーカーの永続化はソースを正とします。マーカーは、解決済みランタイムシークレット値からではなく、アクティブなソース設定スナップショット (解決前) から書き込まれます。
- 空でないエージェント
プロバイダーフィールドの詳細
トップレベルカタログ
models.mode: プロバイダーカタログの動作 (mergeまたはreplace)。models.providers: プロバイダー ID をキーにしたカスタムプロバイダーマップ。- 安全な編集: 追加更新には
openclaw config set models.providers.<id> '<json>' --strict-json --mergeまたはopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeを使用します。config setは、--replaceを渡さない限り破壊的な置換を拒否します。
- 安全な編集: 追加更新には
プロバイダー接続と認証
models.providers.*.api: リクエストアダプター (openai-completions、openai-responses、anthropic-messages、google-generative-aiなど)。MLX、vLLM、SGLang、およびほとんどの OpenAI 互換ローカルサーバーなどのセルフホスト/v1/chat/completionsバックエンドには、openai-completionsを使用します。baseUrlがありapiがないカスタムプロバイダーは、デフォルトでopenai-completionsになります。バックエンドが/v1/responsesをサポートしている場合にのみ、openai-responsesを設定します。models.providers.*.apiKey: プロバイダー資格情報 (SecretRef/env 置換を推奨)。models.providers.*.auth: 認証戦略 (api-key、token、oauth、aws-sdk)。models.providers.*.contextWindow: モデルエントリがcontextWindowを設定していない場合に、このプロバイダー配下のモデルに使用されるデフォルトのネイティブコンテキストウィンドウ。models.providers.*.contextTokens: モデルエントリがcontextTokensを設定していない場合に、このプロバイダー配下のモデルに使用されるデフォルトの有効ランタイムコンテキスト上限。models.providers.*.maxTokens: モデルエントリがmaxTokensを設定していない場合に、このプロバイダー配下のモデルに使用されるデフォルトの出力トークン上限。models.providers.*.timeoutSeconds: 接続、ヘッダー、本文、およびリクエスト全体の中止処理を含む、省略可能なプロバイダーごとのモデル HTTP リクエストタイムアウト秒数。models.providers.*.injectNumCtxForOpenAICompat: Ollama +openai-completionsの場合に、リクエストへoptions.num_ctxを注入します (デフォルト:true)。models.providers.*.authHeader: 必要な場合に、資格情報の転送をAuthorizationヘッダーで強制します。models.providers.*.baseUrl: アップストリーム API ベース URL。models.providers.*.headers: プロキシ/テナントルーティング用の追加静的ヘッダー。
リクエスト転送のオーバーライド
models.providers.*.request: モデルプロバイダー HTTP リクエストの転送オーバーライド。
request.headers: 追加ヘッダー (プロバイダーのデフォルトとマージされます)。値は SecretRef を受け付けます。request.auth: 認証戦略のオーバーライド。モード:"provider-default"(プロバイダー組み込みの認証を使用)、"authorization-bearer"(tokenを使用)、"header"(headerName、value、省略可能なprefixを使用)。request.proxy: HTTP プロキシのオーバーライド。モード:"env-proxy"(HTTP_PROXY/HTTPS_PROXY環境変数を使用)、"explicit-proxy"(urlを使用)。どちらのモードも、省略可能なtlsサブオブジェクトを受け付けます。request.tls: 直接接続の TLS オーバーライド。フィールド:ca、cert、key、passphrase(すべて SecretRef を受け付けます)、serverName、insecureSkipVerify。request.allowPrivateNetwork:trueの場合、プロバイダー HTTP フェッチガードを介して、DNS がプライベート、CGNAT、または類似の範囲に解決されるときでもbaseUrlへの HTTPS を許可します (信頼済みセルフホスト OpenAI 互換エンドポイント向けのオペレーターによるオプトイン)。localhost、127.0.0.1、[::1]などのループバックモデルプロバイダーストリーム URL は、明示的にfalseに設定されていない限り自動的に許可されます。LAN、tailnet、およびプライベート DNS ホストには引き続きオプトインが必要です。WebSocket はヘッダー/TLS には同じrequestを使用しますが、そのフェッチ SSRF ゲートは使用しません。デフォルトはfalseです。
モデルカタログエントリ
models.providers.*.models: 明示的なプロバイダーモデルカタログエントリ。models.providers.*.models.*.input: モデル入力モダリティ。テキスト専用モデルには["text"]を、ネイティブ画像/ビジョンモデルには["text", "image"]を使用します。画像添付ファイルは、選択されたモデルが画像対応としてマークされている場合にのみエージェントターンに注入されます。models.providers.*.models.*.contextWindow: ネイティブモデルコンテキストウィンドウメタデータ。これは、そのモデルのプロバイダーレベルのcontextWindowをオーバーライドします。models.providers.*.models.*.contextTokens: 省略可能なランタイムコンテキスト上限。これはプロバイダーレベルのcontextTokensをオーバーライドします。モデルのネイティブcontextWindowより小さい有効コンテキスト予算にしたい場合に使用します。openclaw models listは、値が異なる場合に両方を表示します。models.providers.*.models.*.compat.supportsDeveloperRole: 省略可能な互換性ヒント。空でない非ネイティブのbaseUrl(ホストがapi.openai.comではない) を持つapi: "openai-completions"では、OpenClaw はランタイムでこれをfalseに強制します。空または省略されたbaseUrlは、デフォルトの OpenAI 動作を維持します。models.providers.*.models.*.compat.requiresStringContent: 文字列専用の OpenAI 互換チャットエンドポイント向けの、省略可能な互換性ヒント。trueの場合、OpenClaw はリクエスト送信前に純粋なテキストのmessages[].content配列をプレーン文字列にフラット化します。models.providers.*.models.*.compat.strictMessageKeys: 厳密な OpenAI 互換チャットエンドポイント向けの、省略可能な互換性ヒント。trueの場合、OpenClaw はリクエスト送信前に送信する Chat Completions メッセージオブジェクトをroleとcontentに削ります。models.providers.*.models.*.compat.thinkingFormat: 省略可能な thinking ペイロードヒント。トップレベルのenable_thinkingには"qwen"を使用し、vLLM など、リクエストレベルの chat-template kwargs をサポートする Qwen ファミリーの OpenAI 互換サーバーでchat_template_kwargs.enable_thinkingを使う場合は"qwen-chat-template"を使用します。
Amazon Bedrock 検出
plugins.entries.amazon-bedrock.config.discovery: Bedrock 自動検出設定ルート。plugins.entries.amazon-bedrock.config.discovery.enabled: 暗黙の検出のオン/オフを切り替えます。plugins.entries.amazon-bedrock.config.discovery.region: 検出用の AWS リージョン。plugins.entries.amazon-bedrock.config.discovery.providerFilter: 対象を絞った検出用の省略可能なプロバイダー ID フィルター。plugins.entries.amazon-bedrock.config.discovery.refreshInterval: 検出更新のポーリング間隔。plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: 検出されたモデルのフォールバックコンテキストウィンドウ。plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: 検出されたモデルのフォールバック最大出力トークン数。
Interactive なカスタムプロバイダーのオンボーディングでは、GPT-4o、Claude、Gemini、Qwen-VL、LLaVA、Pixtral、InternVL、Mllama、MiniCPM-V、GLM-4V などの一般的なビジョンモデル ID について画像入力を推定し、既知のテキスト専用ファミリーでは追加の質問をスキップします。不明なモデル ID では、引き続き画像サポートについて確認します。非 Interactive なオンボーディングでも同じ推定が使われます。画像対応のメタデータを強制するには --custom-image-input を渡し、テキスト専用メタデータを強制するには --custom-text-input を渡します。
プロバイダーの例
Cerebras (GLM 4.7 / GPT OSS)
バンドル済みの cerebras プロバイダー Plugin は、openclaw onboard --auth-choice cerebras-api-key でこれを設定できます。明示的なプロバイダー設定は、デフォルトを上書きする場合にのみ使用してください。
{ env: { CEREBRAS_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "cerebras/zai-glm-4.7", fallbacks: ["cerebras/gpt-oss-120b"], }, models: { "cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" }, "cerebras/gpt-oss-120b": { alias: "GPT OSS 120B (Cerebras)" }, }, }, }, models: { mode: "merge", providers: { cerebras: { baseUrl: "https://api.cerebras.ai/v1", apiKey: "${CEREBRAS_API_KEY}", api: "openai-completions", models: [ { id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" }, { id: "gpt-oss-120b", name: "GPT OSS 120B (Cerebras)" }, ], }, }, },}Cerebras には cerebras/zai-glm-4.7 を使用し、Z.AI 直接利用には zai/glm-4.7 を使用します。
Kimi Coding
{ env: { KIMI_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "kimi/kimi-for-coding" }, models: { "kimi/kimi-for-coding": { alias: "Kimi Code" } }, }, },}Anthropic 互換の組み込みプロバイダーです。ショートカット: openclaw onboard --auth-choice kimi-code-api-key。
Local models (LM Studio)
ローカルモデルを参照してください。要約: 十分なハードウェア上で LM Studio Responses API 経由で大規模ローカルモデルを実行し、フォールバック用にホスト型モデルをマージしたままにします。
MiniMax M2.7 (direct)
{ agents: { defaults: { model: { primary: "minimax/MiniMax-M2.7" }, models: { "minimax/MiniMax-M2.7": { alias: "Minimax" }, }, }, }, models: { mode: "merge", providers: { minimax: { baseUrl: "https://api.minimax.io/anthropic", apiKey: "${MINIMAX_API_KEY}", api: "anthropic-messages", models: [ { id: "MiniMax-M2.7", name: "MiniMax M2.7", reasoning: true, input: ["text"], cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 }, contextWindow: 204800, maxTokens: 131072, }, ], }, }, },}MINIMAX_API_KEY を設定します。ショートカット: openclaw onboard --auth-choice minimax-global-api または openclaw onboard --auth-choice minimax-cn-api。モデルカタログのデフォルトは M2.7 のみです。Anthropic 互換のストリーミングパスでは、OpenClaw は自分で thinking を明示的に設定しない限り、デフォルトで MiniMax の思考を無効化します。/fast on または params.fastMode: true は MiniMax-M2.7 を MiniMax-M2.7-highspeed に書き換えます。
Moonshot AI (Kimi)
{ env: { MOONSHOT_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "moonshot/kimi-k2.6" }, models: { "moonshot/kimi-k2.6": { alias: "Kimi K2.6" } }, }, }, models: { mode: "merge", providers: { moonshot: { baseUrl: "https://api.moonshot.ai/v1", apiKey: "${MOONSHOT_API_KEY}", api: "openai-completions", models: [ { id: "kimi-k2.6", name: "Kimi K2.6", reasoning: false, input: ["text", "image"], cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 262144, }, ], }, }, },}中国エンドポイントの場合: baseUrl: "https://api.moonshot.cn/v1" または openclaw onboard --auth-choice moonshot-api-key-cn。
ネイティブの Moonshot エンドポイントは、共有 openai-completions トランスポート上でストリーミング使用量の互換性を公開し、OpenClaw は組み込みプロバイダー ID だけではなくエンドポイント機能に基づいてそれを判断します。
OpenCode
{ agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" }, models: { "opencode/claude-opus-4-6": { alias: "Opus" } }, }, },}OPENCODE_API_KEY(または OPENCODE_ZEN_API_KEY)を設定します。Zen カタログには opencode/... 参照を使用し、Go カタログには opencode-go/... 参照を使用します。ショートカット: openclaw onboard --auth-choice opencode-zen または openclaw onboard --auth-choice opencode-go。
Synthetic (Anthropic-compatible)
{ env: { SYNTHETIC_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" }, models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } }, }, }, models: { mode: "merge", providers: { synthetic: { baseUrl: "https://api.synthetic.new/anthropic", apiKey: "${SYNTHETIC_API_KEY}", api: "anthropic-messages", models: [ { id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 192000, maxTokens: 65536, }, ], }, }, },}ベース URL では /v1 を省略してください(Anthropic クライアントが追加します)。ショートカット: openclaw onboard --auth-choice synthetic-api-key。
Z.AI (GLM-4.7)
{ agents: { defaults: { model: { primary: "zai/glm-4.7" }, models: { "zai/glm-4.7": {} }, }, },}ZAI_API_KEY を設定します。z.ai/* と z-ai/* はエイリアスとして受け付けられます。ショートカット: openclaw onboard --auth-choice zai-api-key。
- 汎用エンドポイント:
https://api.z.ai/api/paas/v4 - コーディングエンドポイント(デフォルト):
https://api.z.ai/api/coding/paas/v4 - 汎用エンドポイントの場合は、ベース URL の上書きを指定したカスタムプロバイダーを定義します。
関連
- 設定 — エージェント
- 設定 — チャンネル
- 設定リファレンス — その他のトップレベルキー
- ツールと plugins