chore(i18n): refresh ja-JP translations
This commit is contained in:
parent
da963bfe1e
commit
9b1cf0d758
File diff suppressed because it is too large
Load Diff
@ -1,51 +1,51 @@
|
||||
---
|
||||
read_when:
|
||||
- 埋め込みエージェントランタイムまたはハーネスレジストリを変更しています
|
||||
- バンドル版または信頼済みプラグインからエージェントハーネスを登録しています
|
||||
- Codexプラグインがモデルプロバイダーとどのように関係するかを理解する必要があります
|
||||
- 組み込みエージェントランタイムまたはハーネスレジストリを変更しています
|
||||
- バンドル済みまたは信頼されたプラグインからエージェントハーネスを登録しています
|
||||
- Codexプラグインがモデルプロバイダーとどのように関係しているかを理解する必要があります
|
||||
sidebarTitle: Agent Harness
|
||||
summary: 低レベルの埋め込みエージェント実行子を置き換えるプラグイン向けの実験的SDKサーフェス
|
||||
summary: 低レベルの組み込みエージェント実行器を置き換えるプラグイン向けの実験的なSDKサーフェス
|
||||
title: エージェントハーネスプラグイン
|
||||
x-i18n:
|
||||
generated_at: "2026-04-11T02:46:40Z"
|
||||
generated_at: "2026-04-12T00:18:54Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 43c1f2c087230398b0162ed98449f239c8db1e822e51c7dcd40c54fa6c3374e1
|
||||
source_hash: 62b88fd24ce8b600179db27e16e8d764a2cd7a14e5c5df76374c33121aa5e365
|
||||
source_path: plugins/sdk-agent-harness.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# エージェントハーネスプラグイン
|
||||
|
||||
**エージェントハーネス**は、準備済みのOpenClawエージェントターン1回分に対する低レベル実行子です。これはモデルプロバイダーでも、チャネルでも、ツールレジストリでもありません。
|
||||
**エージェントハーネス**は、準備済みのOpenClawエージェントの1ターンを実行する低レベル実行器です。これはモデルプロバイダーでも、チャネルでも、ツールレジストリでもありません。
|
||||
|
||||
このサーフェスは、バンドル版または信頼済みのネイティブプラグインでのみ使用してください。パラメーター型が意図的に現在の埋め込みランナーを反映しているため、この契約はまだ実験的です。
|
||||
このサーフェスは、バンドル済みまたは信頼されたネイティブプラグインにのみ使用してください。パラメーター型が意図的に現在の組み込みランナーを反映しているため、この契約はまだ実験的です。
|
||||
|
||||
## ハーネスを使うべき場合
|
||||
## ハーネスを使用する場合
|
||||
|
||||
モデルファミリーが独自のネイティブセッションランタイムを持ち、通常のOpenClawプロバイダートランスポートでは抽象化として不適切な場合に、エージェントハーネスを登録します。
|
||||
モデルファミリーが独自のネイティブセッションランタイムを持ち、通常のOpenClawプロバイダー転送が不適切な抽象化である場合は、エージェントハーネスを登録します。
|
||||
|
||||
例:
|
||||
|
||||
- スレッドとコンパクションを管理するネイティブのコーディングエージェントサーバー
|
||||
- ネイティブのプラン/reasoning/ツールイベントをストリーミングしなければならないローカルCLIまたはデーモン
|
||||
- OpenClawセッションの文字起こしに加えて独自の再開IDを必要とするモデルランタイム
|
||||
- ネイティブのプランニング/推論/ツールイベントをストリーミングする必要があるローカルCLIまたはデーモン
|
||||
- OpenClawセッショントランスクリプトに加えて独自の再開IDが必要なモデルランタイム
|
||||
|
||||
新しいLLM APIを追加するだけの目的でハーネスを登録してはいけません。通常のHTTPまたはWebSocketモデルAPIであれば、[provider plugin](/ja-JP/plugins/sdk-provider-plugins)を構築してください。
|
||||
新しいLLM APIを追加するためだけにハーネスを登録しないでください。通常のHTTPまたはWebSocketモデルAPIでは、[プロバイダープラグイン](/ja-JP/plugins/sdk-provider-plugins)を構築してください。
|
||||
|
||||
## コアが引き続き所有するもの
|
||||
## コアが引き続き管理するもの
|
||||
|
||||
ハーネスが選択される前に、OpenClawはすでに以下を解決しています:
|
||||
ハーネスが選択される前に、OpenClawはすでに次を解決しています。
|
||||
|
||||
- プロバイダーとモデル
|
||||
- ランタイム認証状態
|
||||
- thinkingレベルとコンテキスト予算
|
||||
- OpenClawの文字起こし/セッションファイル
|
||||
- 思考レベルとコンテキスト予算
|
||||
- OpenClawトランスクリプト/セッションファイル
|
||||
- ワークスペース、サンドボックス、ツールポリシー
|
||||
- チャネル返信コールバックとストリーミングコールバック
|
||||
- モデルフォールバックとライブモデル切り替えポリシー
|
||||
|
||||
この分割は意図的なものです。ハーネスは準備済みの試行を実行しますが、プロバイダーを選択したり、チャネル配信を置き換えたり、黙ってモデルを切り替えたりはしません。
|
||||
この分離は意図的なものです。ハーネスは準備済みの試行を実行するものであり、プロバイダーを選択したり、チャネル配信を置き換えたり、モデルを黙って切り替えたりするものではありません。
|
||||
|
||||
## ハーネスを登録する
|
||||
|
||||
@ -66,9 +66,9 @@ const myHarness: AgentHarness = {
|
||||
},
|
||||
|
||||
async runAttempt(params) {
|
||||
// ネイティブスレッドを開始または再開します。
|
||||
// params.prompt、params.tools、params.images、params.onPartialReply、
|
||||
// params.onAgentEvent、およびその他の準備済み試行フィールドを使用します。
|
||||
// Start or resume your native thread.
|
||||
// Use params.prompt, params.tools, params.images, params.onPartialReply,
|
||||
// params.onAgentEvent, and the other prepared attempt fields.
|
||||
return await runMyNativeTurn(params);
|
||||
},
|
||||
};
|
||||
@ -85,61 +85,51 @@ export default definePluginEntry({
|
||||
|
||||
## 選択ポリシー
|
||||
|
||||
OpenClawは、プロバイダー/モデル解決後にハーネスを選択します:
|
||||
OpenClawは、プロバイダー/モデルの解決後にハーネスを選択します。
|
||||
|
||||
1. `OPENCLAW_AGENT_RUNTIME=<id>`は、そのIDを持つ登録済みハーネスを強制します。
|
||||
2. `OPENCLAW_AGENT_RUNTIME=pi`は、組み込みPIハーネスを強制します。
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto`は、登録済みハーネスに、解決済みのプロバイダー/モデルをサポートしているか問い合わせます。
|
||||
4. 一致する登録済みハーネスがない場合、PIフォールバックが無効でなければOpenClawはPIを使用します。
|
||||
1. `OPENCLAW_AGENT_RUNTIME=<id>` は、そのIDを持つ登録済みハーネスを強制します。
|
||||
2. `OPENCLAW_AGENT_RUNTIME=pi` は、組み込みのPIハーネスを強制します。
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto` は、解決済みのプロバイダー/モデルをサポートするかどうかを登録済みハーネスに問い合わせます。
|
||||
4. 一致する登録済みハーネスがない場合、PIフォールバックが無効でない限り、OpenClawはPIを使用します。
|
||||
|
||||
強制されたプラグインハーネスの失敗は、実行失敗として表面化します。`auto`モードでは、
|
||||
選択されたプラグインハーネスがターンの副作用を生成する前に失敗した場合、
|
||||
OpenClawはPIにフォールバックすることがあります。代わりにそのフォールバックを確定的な失敗にしたい場合は、`OPENCLAW_AGENT_HARNESS_FALLBACK=none`または
|
||||
`embeddedHarness.fallback: "none"`を設定してください。
|
||||
強制されたプラグインハーネスの失敗は、実行失敗として表面化します。`auto` モードでは、選択されたプラグインハーネスがターンの副作用を生成する前に失敗した場合、OpenClawはPIにフォールバックすることがあります。その代わりにそのフォールバックをハード失敗にするには、`OPENCLAW_AGENT_HARNESS_FALLBACK=none` または `embeddedHarness.fallback: "none"` を設定してください。
|
||||
|
||||
バンドル版Codexプラグインは、ハーネスIDとして`codex`を登録します。コアはこれを
|
||||
通常のプラグインハーネスIDとして扱います。Codex固有のエイリアスは共有ランタイムセレクターではなく、
|
||||
プラグインまたはオペレーター設定に属します。
|
||||
バンドル済みのCodexプラグインは、ハーネスIDとして `codex` を登録します。コアはこれを通常のプラグインハーネスIDとして扱います。Codex固有のエイリアスは、共有ランタイムセレクターではなく、プラグインまたはオペレーター設定に属します。
|
||||
|
||||
## プロバイダーとハーネスの組み合わせ
|
||||
## プロバイダーとハーネスのペアリング
|
||||
|
||||
ほとんどのハーネスは、プロバイダーもあわせて登録するべきです。プロバイダーは、
|
||||
モデル参照、認証状態、モデルメタデータ、および`/model`選択をOpenClawの他の部分から見えるようにします。
|
||||
その後、ハーネスは`supports(...)`内でそのプロバイダーを要求します。
|
||||
ほとんどのハーネスは、プロバイダーも登録するべきです。プロバイダーにより、モデル参照、認証状態、モデルメタデータ、`/model` 選択がOpenClawの他の部分から見えるようになります。その後、ハーネスは `supports(...)` でそのプロバイダーを要求します。
|
||||
|
||||
バンドル版Codexプラグインはこのパターンに従っています:
|
||||
バンドル済みのCodexプラグインは、このパターンに従います。
|
||||
|
||||
- プロバイダーID: `codex`
|
||||
- ユーザーモデル参照: `codex/gpt-5.4`、`codex/gpt-5.2`、またはCodexアプリサーバーが返すその他のモデル
|
||||
- ユーザーモデル参照: `codex/gpt-5.4`、`codex/gpt-5.2`、またはCodexアプリサーバーが返す別のモデル
|
||||
- ハーネスID: `codex`
|
||||
- 認証: 合成プロバイダー可用性。CodexハーネスがネイティブのCodexログイン/セッションを所有するため
|
||||
- アプリサーバーリクエスト: OpenClawは生のモデルIDをCodexに送信し、
|
||||
ハーネスがネイティブのアプリサーバープロトコルと通信します
|
||||
- 認証: 合成プロバイダー可用性。CodexハーネスがネイティブのCodexログイン/セッションを管理するため
|
||||
- アプリサーバーリクエスト: OpenClawは生のモデルIDをCodexに送信し、ハーネスがネイティブのアプリサーバープロトコルと通信します
|
||||
|
||||
Codexプラグインは追加的なものです。通常の`openai/gpt-*`参照は引き続きOpenAIプロバイダー参照であり、
|
||||
通常のOpenClawプロバイダー経路を使用し続けます。Codex管理の認証、
|
||||
Codexモデル検出、ネイティブスレッド、およびCodexアプリサーバー実行が必要な場合は`codex/gpt-*`
|
||||
を選択してください。`/model`は、OpenAIプロバイダー資格情報を必要とせずに、
|
||||
Codexアプリサーバーが返すCodexモデル間を切り替えられます。
|
||||
Codexプラグインは追加的なものです。通常の `openai/gpt-*` 参照は引き続きOpenAIプロバイダー参照のままで、通常のOpenClawプロバイダーパスを使用し続けます。`codex/gpt-*` は、Codex管理の認証、Codexモデル検出、ネイティブスレッド、Codexアプリサーバー実行が必要な場合に選択してください。`/model` は、OpenAIプロバイダー資格情報を必要とせずに、Codexアプリサーバーが返すCodexモデル間を切り替えられます。
|
||||
|
||||
オペレーター設定、モデルプレフィックス例、Codex専用設定については、
|
||||
[Codex Harness](/ja-JP/plugins/codex-harness)を参照してください。
|
||||
オペレーター設定、モデル接頭辞の例、Codex専用設定については、[Codexハーネス](/ja-JP/plugins/codex-harness)を参照してください。
|
||||
|
||||
OpenClawはCodexアプリサーバー`0.118.0`以降を必要とします。Codexプラグインは
|
||||
アプリサーバーの初期化ハンドシェイクを確認し、古いまたはバージョン未設定のサーバーをブロックすることで、
|
||||
OpenClawがテスト済みのプロトコルサーフェスに対してのみ実行されるようにします。
|
||||
OpenClawは、Codexアプリサーバー `0.118.0` 以降を必要とします。Codexプラグインはアプリサーバーの初期化ハンドシェイクを確認し、古いサーバーまたはバージョンなしのサーバーをブロックすることで、OpenClawがテスト済みのプロトコルサーフェスに対してのみ実行されるようにします。
|
||||
|
||||
### ネイティブCodexハーネスモード
|
||||
|
||||
バンドル済みの `codex` ハーネスは、組み込みOpenClawエージェントターン向けのネイティブCodexモードです。最初にバンドル済みの `codex` プラグインを有効にし、設定で制限付きallowlistを使用している場合は `plugins.allow` に `codex` を含めてください。これは `openai-codex/*` とは異なります。
|
||||
|
||||
- `openai-codex/*` は、通常のOpenClawプロバイダーパスを通じてChatGPT/Codex OAuthを使用します。
|
||||
- `codex/*` は、バンドル済みのCodexプロバイダーを使用し、ターンをCodexアプリサーバー経由でルーティングします。
|
||||
|
||||
このモードが実行されると、CodexがネイティブスレッドID、再開動作、コンパクション、アプリサーバー実行を管理します。OpenClawは引き続き、チャットチャネル、表示用トランスクリプトミラー、ツールポリシー、承認、メディア配信、セッション選択を管理します。Codexアプリサーバーパスが使用されており、PIフォールバックが壊れたネイティブハーネスを隠していないことを証明する必要がある場合は、`embeddedHarness.runtime: "codex"` と `embeddedHarness.fallback: "none"` を使用してください。
|
||||
|
||||
## PIフォールバックを無効にする
|
||||
|
||||
デフォルトでは、OpenClawは埋め込みエージェントを`agents.defaults.embeddedHarness`
|
||||
が`{ runtime: "auto", fallback: "pi" }`に設定された状態で実行します。`auto`モードでは、登録済みプラグイン
|
||||
ハーネスがプロバイダー/モデルの組み合わせを要求できます。一致するものがない場合、または自動選択された
|
||||
プラグインハーネスが出力生成前に失敗した場合、OpenClawはPIにフォールバックします。
|
||||
デフォルトでは、OpenClawは組み込みエージェントを `agents.defaults.embeddedHarness` を `{ runtime: "auto", fallback: "pi" }` に設定して実行します。`auto` モードでは、登録済みプラグインハーネスがプロバイダー/モデルの組み合わせを要求できます。一致するものがない場合、または自動選択されたプラグインハーネスが出力を生成する前に失敗した場合、OpenClawはPIにフォールバックします。
|
||||
|
||||
プラグインハーネスだけが実際に使用されていることを証明する必要がある場合は、`fallback: "none"`を設定してください。これにより自動PIフォールバックは無効になりますが、
|
||||
明示的な`runtime: "pi"`や`OPENCLAW_AGENT_RUNTIME=pi`はブロックされません。
|
||||
プラグインハーネスだけが実行されていることを証明する必要がある場合は、`fallback: "none"` を設定してください。これにより自動PIフォールバックは無効になりますが、明示的な `runtime: "pi"` または `OPENCLAW_AGENT_RUNTIME=pi` は妨げられません。
|
||||
|
||||
Codex専用の埋め込み実行の場合:
|
||||
Codex専用の組み込み実行の場合:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -155,8 +145,7 @@ Codex専用の埋め込み実行の場合:
|
||||
}
|
||||
```
|
||||
|
||||
一致するモデルを任意の登録済みプラグインハーネスに要求させつつ、OpenClawが黙ってPIにフォールバックすることは避けたい場合は、
|
||||
`runtime: "auto"`のままにしてフォールバックを無効にしてください:
|
||||
登録済みの任意のプラグインハーネスが一致するモデルを要求できるようにしつつ、OpenClawがPIに黙ってフォールバックすることは望まない場合は、`runtime: "auto"` のままにしてフォールバックを無効にしてください。
|
||||
|
||||
```json
|
||||
{
|
||||
@ -171,7 +160,7 @@ Codex専用の埋め込み実行の場合:
|
||||
}
|
||||
```
|
||||
|
||||
エージェント単位の上書きも同じ形を使います:
|
||||
エージェントごとのオーバーライドでも同じ形を使用します。
|
||||
|
||||
```json
|
||||
{
|
||||
@ -196,8 +185,7 @@ Codex専用の埋め込み実行の場合:
|
||||
}
|
||||
```
|
||||
|
||||
`OPENCLAW_AGENT_RUNTIME`は引き続き設定済みランタイムを上書きします。環境から
|
||||
PIフォールバックを無効にするには`OPENCLAW_AGENT_HARNESS_FALLBACK=none`を使用してください。
|
||||
`OPENCLAW_AGENT_RUNTIME` は、引き続き設定されたランタイムを上書きします。環境からPIフォールバックを無効にするには、`OPENCLAW_AGENT_HARNESS_FALLBACK=none` を使用してください。
|
||||
|
||||
```bash
|
||||
OPENCLAW_AGENT_RUNTIME=codex \
|
||||
@ -205,53 +193,39 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
|
||||
openclaw gateway run
|
||||
```
|
||||
|
||||
フォールバックを無効にすると、要求されたハーネスが
|
||||
登録されていない、解決済みのプロバイダー/モデルをサポートしていない、または
|
||||
ターンの副作用を生成する前に失敗した場合、セッションは早い段階で失敗します。これは
|
||||
Codex専用デプロイや、Codexアプリサーバー経路が実際に使われていることを証明しなければならない
|
||||
ライブテストでは意図された動作です。
|
||||
フォールバックを無効にすると、要求されたハーネスが登録されていない、解決済みのプロバイダー/モデルをサポートしていない、またはターンの副作用を生成する前に失敗した場合、セッションは早い段階で失敗します。これは、Codex専用デプロイメントや、Codexアプリサーバーパスが実際に使用されていることを証明しなければならないライブテストでは意図された動作です。
|
||||
|
||||
この設定が制御するのは埋め込みエージェントハーネスだけです。画像、
|
||||
動画、音楽、TTS、PDF、その他のプロバイダー固有のモデルルーティングは無効化されません。
|
||||
この設定は、組み込みエージェントハーネスのみを制御します。画像、動画、音楽、TTS、PDF、その他のプロバイダー固有のモデルルーティングは無効にしません。
|
||||
|
||||
## ネイティブセッションと文字起こしミラー
|
||||
## ネイティブセッションとトランスクリプトミラー
|
||||
|
||||
ハーネスは、ネイティブセッションID、スレッドID、またはデーモン側の再開トークンを保持する場合があります。
|
||||
その対応付けはOpenClawセッションに明示的に関連付けたままにし、
|
||||
ユーザーに見えるassistant/tool出力をOpenClawの文字起こしへミラーし続けてください。
|
||||
ハーネスは、ネイティブセッションID、スレッドID、またはデーモン側の再開トークンを保持する場合があります。その関連付けはOpenClawセッションに明示的に結び付けたままにし、ユーザーに表示されるアシスタント/ツール出力を引き続きOpenClawトランスクリプトへミラーリングしてください。
|
||||
|
||||
OpenClawの文字起こしは、以下の互換レイヤーのままです:
|
||||
OpenClawトランスクリプトは、引き続き次の互換レイヤーです。
|
||||
|
||||
- チャネルから見えるセッション履歴
|
||||
- 文字起こし検索とインデックス作成
|
||||
- 後続ターンで組み込みPIハーネスに戻すこと
|
||||
- 汎用の`/new`、`/reset`、およびセッション削除動作
|
||||
- チャネルに表示されるセッション履歴
|
||||
- トランスクリプト検索とインデックス作成
|
||||
- 後のターンで組み込みPIハーネスに戻すこと
|
||||
- 汎用的な `/new`、`/reset`、およびセッション削除の動作
|
||||
|
||||
ハーネスがサイドカーの対応情報を保存する場合は、所有するOpenClawセッションがリセットされたときに
|
||||
OpenClawがそれをクリアできるよう、`reset(...)`を実装してください。
|
||||
ハーネスがサイドカーの関連付けを保存する場合は、所有するOpenClawセッションがリセットされたときにOpenClawがそれを消去できるよう、`reset(...)` を実装してください。
|
||||
|
||||
## ツールおよびメディア結果
|
||||
## ツールとメディアの結果
|
||||
|
||||
コアはOpenClawのツール一覧を構築し、それを準備済み試行に渡します。
|
||||
ハーネスが動的ツール呼び出しを実行する場合は、チャネルメディアを自分で送信するのではなく、
|
||||
ハーネス結果の形を通じてツール結果を返してください。
|
||||
コアはOpenClawツールリストを構築し、それを準備済みの試行に渡します。ハーネスが動的ツール呼び出しを実行する場合、チャネルメディアを自分で送信するのではなく、ハーネス結果の形を通してツール結果を返してください。
|
||||
|
||||
これにより、テキスト、画像、動画、音楽、TTS、承認、メッセージングツール出力が、
|
||||
PIベース実行と同じ配信経路に保たれます。
|
||||
これにより、テキスト、画像、動画、音楽、TTS、承認、メッセージングツールの出力が、PIベースの実行と同じ配信パスに保たれます。
|
||||
|
||||
## 現在の制限
|
||||
|
||||
- 公開インポートパスは汎用ですが、一部の試行/結果型エイリアスには互換性のためにまだ
|
||||
`Pi`名が残っています。
|
||||
- サードパーティ製ハーネスのインストールは実験的です。ネイティブセッションランタイムが必要になるまでは
|
||||
provider pluginを優先してください。
|
||||
- ターンをまたいだハーネス切り替えはサポートされています。ネイティブツール、承認、assistantテキスト、またはメッセージ送信が始まった後、
|
||||
ターンの途中でハーネスを切り替えないでください。
|
||||
- 公開インポートパスは汎用ですが、互換性のために一部の試行/結果型エイリアスにはまだ `Pi` という名前が残っています。
|
||||
- サードパーティ製ハーネスのインストールは実験的です。ネイティブセッションランタイムが必要になるまでは、プロバイダープラグインを優先してください。
|
||||
- ターン間でのハーネス切り替えはサポートされています。ネイティブツール、承認、アシスタントテキスト、またはメッセージ送信が始まった後に、ターンの途中でハーネスを切り替えないでください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [SDK Overview](/ja-JP/plugins/sdk-overview)
|
||||
- [Runtime Helpers](/ja-JP/plugins/sdk-runtime)
|
||||
- [Provider Plugins](/ja-JP/plugins/sdk-provider-plugins)
|
||||
- [Codex Harness](/ja-JP/plugins/codex-harness)
|
||||
- [Model Providers](/ja-JP/concepts/model-providers)
|
||||
- [SDK概要](/ja-JP/plugins/sdk-overview)
|
||||
- [ランタイムヘルパー](/ja-JP/plugins/sdk-runtime)
|
||||
- [プロバイダープラグイン](/ja-JP/plugins/sdk-provider-plugins)
|
||||
- [Codexハーネス](/ja-JP/plugins/codex-harness)
|
||||
- [モデルプロバイダー](/ja-JP/concepts/model-providers)
|
||||
|
||||
@ -1,50 +1,49 @@
|
||||
---
|
||||
read_when:
|
||||
- OpenClawでOpenAI modelsを使いたいとき
|
||||
- API keyの代わりにCodexサブスクリプション認証を使いたいとき
|
||||
summary: OpenClawでAPI keyまたはCodexサブスクリプション経由でOpenAIを使う
|
||||
- OpenClaw で OpenAI モデルを使いたい場合
|
||||
- API キーではなく Codex サブスクリプション認証を使いたい場合
|
||||
- GPT-5 エージェントの実行動作をより厳格にする必要がある場合
|
||||
summary: OpenClaw で API キーまたは Codex サブスクリプションを使って OpenAI を利用する
|
||||
title: OpenAI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T04:46:34Z"
|
||||
generated_at: "2026-04-12T00:18:58Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6a2ce1ce5f085fe55ec50b8d20359180b9002c9730820cd5b0e011c3bf807b64
|
||||
source_hash: 7aa06fba9ac901e663685a6b26443a2f6aeb6ec3589d939522dc87cbb43497b4
|
||||
source_path: providers/openai.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# OpenAI
|
||||
|
||||
OpenAIはGPT models向けの開発者APIを提供しています。Codexは、サブスクリプションアクセス用の**ChatGPT sign-in** または従量課金アクセス用の**API key** sign-inをサポートします。Codex cloudではChatGPT sign-inが必要です。
|
||||
OpenAIは、OpenClawのような外部ツールやワークフローでのサブスクリプションOAuth利用を明示的にサポートしています。
|
||||
OpenAI は GPT モデル向けの開発者 API を提供しています。Codex は、サブスクリプションアクセス用の **ChatGPT サインイン** と、従量課金アクセス用の **API キー** サインインをサポートしています。Codex cloud では ChatGPT サインインが必要です。
|
||||
OpenAI は、OpenClaw のような外部ツールやワークフローでのサブスクリプション OAuth 利用を明示的にサポートしています。
|
||||
|
||||
## デフォルトの対話スタイル
|
||||
|
||||
OpenClawは、`openai/*` と
|
||||
`openai-codex/*` の両方の実行に対して、小さなOpenAI固有のprompt overlayを追加できます。デフォルトでは、このoverlayはassistantを温かく、
|
||||
協調的で、簡潔、直接的、かつ少し感情表現豊かに保ちつつ、
|
||||
ベースのOpenClaw system promptは置き換えません。friendly overlayはまた、
|
||||
全体の出力を簡潔に保ちながら、自然に合う場面ではたまにemojiを使うことも
|
||||
許可します。
|
||||
OpenClaw は、`openai/*` と
|
||||
`openai-codex/*` の両方の実行に対して、小さな OpenAI 固有のプロンプトオーバーレイを追加できます。デフォルトでは、このオーバーレイにより、ベースとなる OpenClaw システムプロンプトを置き換えることなく、アシスタントを親しみやすく、
|
||||
協調的で、簡潔かつ直接的、そして少しだけ感情表現豊かに保ちます。フレンドリーなオーバーレイでは、
|
||||
全体の出力を簡潔に保ちながら、自然に合う場合に限って時折絵文字を使うことも許可されます。
|
||||
|
||||
設定キー:
|
||||
|
||||
`plugins.entries.openai.config.personality`
|
||||
|
||||
許可される値:
|
||||
使用可能な値:
|
||||
|
||||
- `"friendly"`: デフォルト。OpenAI固有overlayを有効にします。
|
||||
- `"on"`: `"friendly"` の別名。
|
||||
- `"off"`: overlayを無効にし、ベースのOpenClaw promptのみを使用します。
|
||||
- `"friendly"`: デフォルト。OpenAI 固有のオーバーレイを有効にします。
|
||||
- `"on"`: `"friendly"` のエイリアス。
|
||||
- `"off"`: オーバーレイを無効にし、ベースの OpenClaw プロンプトのみを使用します。
|
||||
|
||||
適用範囲:
|
||||
|
||||
- `openai/*` modelsに適用されます。
|
||||
- `openai-codex/*` modelsに適用されます。
|
||||
- 他のproviderには影響しません。
|
||||
- `openai/*` モデルに適用されます。
|
||||
- `openai-codex/*` モデルに適用されます。
|
||||
- 他のプロバイダーには影響しません。
|
||||
|
||||
この動作はデフォルトで有効です。将来のローカルconfig変更でもこれを
|
||||
維持したい場合は、明示的に `"friendly"` を残してください:
|
||||
この動作はデフォルトで有効です。今後ローカル設定が変動しても `"friendly"` を維持したい場合は、
|
||||
明示的に指定したままにしてください:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -60,9 +59,9 @@ OpenClawは、`openai/*` と
|
||||
}
|
||||
```
|
||||
|
||||
### OpenAI prompt overlayを無効にする
|
||||
### OpenAI プロンプトオーバーレイを無効にする
|
||||
|
||||
未変更のベースOpenClaw promptを使いたい場合は、overlayを `"off"` に設定します:
|
||||
変更されていないベースの OpenClaw プロンプトを使いたい場合は、オーバーレイを `"off"` に設定します:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -78,31 +77,31 @@ OpenClawは、`openai/*` と
|
||||
}
|
||||
```
|
||||
|
||||
config CLIから直接設定することもできます:
|
||||
設定 CLI から直接指定することもできます:
|
||||
|
||||
```bash
|
||||
openclaw config set plugins.entries.openai.config.personality off
|
||||
```
|
||||
|
||||
OpenClawはこの設定を実行時に大文字小文字を区別せず正規化するため、
|
||||
`"Off"` のような値でもfriendly overlayは無効になります。
|
||||
OpenClaw は実行時にこの設定を大文字小文字を区別せず正規化するため、
|
||||
`"Off"` のような値でもフレンドリーなオーバーレイは無効になります。
|
||||
|
||||
## Option A: OpenAI API key(OpenAI Platform)
|
||||
## オプション A: OpenAI API キー (OpenAI Platform)
|
||||
|
||||
**最適な用途:** 直接APIアクセスと従量課金。
|
||||
API keyはOpenAI dashboardから取得してください。
|
||||
**最適な用途:** 直接 API アクセスと従量課金。
|
||||
API キーは OpenAI ダッシュボードから取得してください。
|
||||
|
||||
ルート概要:
|
||||
|
||||
- `openai/gpt-5.4` = 直接のOpenAI Platform APIルート
|
||||
- `OPENAI_API_KEY`(または同等のOpenAI provider設定)が必要
|
||||
- OpenClawでは、ChatGPT/Codex sign-inは `openai/*` ではなく `openai-codex/*` 経由になります
|
||||
- `openai/gpt-5.4` = 直接 OpenAI Platform API ルート
|
||||
- `OPENAI_API_KEY`(または同等の OpenAI プロバイダー設定)が必要
|
||||
- OpenClaw では、ChatGPT/Codex サインインは `openai/*` ではなく `openai-codex/*` を通してルーティングされます
|
||||
|
||||
### CLIセットアップ
|
||||
### CLI セットアップ
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice openai-api-key
|
||||
# または非対話
|
||||
# または非対話モード
|
||||
openclaw onboard --openai-api-key "$OPENAI_API_KEY"
|
||||
```
|
||||
|
||||
@ -115,28 +114,28 @@ openclaw onboard --openai-api-key "$OPENAI_API_KEY"
|
||||
}
|
||||
```
|
||||
|
||||
OpenAIの現在のAPI modelドキュメントでは、直接の
|
||||
OpenAI API利用向けに `gpt-5.4` と `gpt-5.4-pro` が挙げられています。OpenClawはその両方を `openai/*` Responsesパス経由で転送します。
|
||||
OpenClawは、古い `openai/gpt-5.3-codex-spark` 行を意図的に非表示にしています。
|
||||
これは、直接のOpenAI API呼び出しではlive trafficで拒否されるためです。
|
||||
OpenAI の現在の API モデルドキュメントでは、直接の
|
||||
OpenAI API 利用向けに `gpt-5.4` と `gpt-5.4-pro` が掲載されています。OpenClaw はその両方を `openai/*` Responses パス経由で転送します。
|
||||
OpenClaw は、古い `openai/gpt-5.3-codex-spark` 行を意図的に表示しません。
|
||||
これは、実際のトラフィックでは直接 OpenAI API 呼び出しで拒否されるためです。
|
||||
|
||||
OpenClawは、直接のOpenAI
|
||||
APIパス上で `openai/gpt-5.3-codex-spark` を公開しません。`pi-ai` には引き続きそのmodelの組み込み行がありますが、live OpenAI API
|
||||
リクエストは現在それを拒否します。OpenClawではSparkはCodex専用として扱われます。
|
||||
OpenClaw は、直接 OpenAI
|
||||
API パスでは `openai/gpt-5.3-codex-spark` を公開しません。`pi-ai` はこのモデルの組み込み行を引き続き同梱していますが、実際の OpenAI API
|
||||
リクエストでは現在拒否されます。OpenClaw では Spark は Codex 専用として扱われます。
|
||||
|
||||
## 画像生成
|
||||
|
||||
バンドルされた `openai` pluginは、共有
|
||||
`image_generate` tool経由の画像生成も登録します。
|
||||
同梱の `openai` プラグインは、共有の
|
||||
`image_generate` ツールを通じて画像生成も登録します。
|
||||
|
||||
- デフォルト画像model: `openai/gpt-image-1`
|
||||
- Generate: 1リクエストあたり最大4画像
|
||||
- Edit mode: 有効、最大5枚の参照画像
|
||||
- デフォルト画像モデル: `openai/gpt-image-1`
|
||||
- 生成: 1 リクエストあたり最大 4 枚の画像
|
||||
- 編集モード: 有効、最大 5 枚の参照画像
|
||||
- `size` をサポート
|
||||
- 現在のOpenAI固有の注意点: OpenClawは現在 `aspectRatio` または
|
||||
`resolution` の上書きをOpenAI Images APIへ転送しません
|
||||
- 現在の OpenAI 固有の注意点: OpenClaw は現時点で `aspectRatio` または
|
||||
`resolution` の上書きを OpenAI Images API に転送しません
|
||||
|
||||
OpenAIをデフォルトの画像providerとして使うには:
|
||||
OpenAI をデフォルトの画像プロバイダーとして使うには:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -150,22 +149,22 @@ OpenAIをデフォルトの画像providerとして使うには:
|
||||
}
|
||||
```
|
||||
|
||||
共有toolの
|
||||
パラメータ、provider選択、フェイルオーバー動作については [Image Generation](/ja-JP/tools/image-generation) を参照してください。
|
||||
共有ツールの
|
||||
パラメーター、プロバイダー選択、フェイルオーバー動作については、[画像生成](/ja-JP/tools/image-generation) を参照してください。
|
||||
|
||||
## 動画生成
|
||||
|
||||
バンドルされた `openai` pluginは、共有
|
||||
`video_generate` tool経由の動画生成も登録します。
|
||||
同梱の `openai` プラグインは、共有の
|
||||
`video_generate` ツールを通じて動画生成も登録します。
|
||||
|
||||
- デフォルト動画model: `openai/sora-2`
|
||||
- モード: text-to-video、image-to-video、および単一動画の参照/編集フロー
|
||||
- 現在の上限: 画像1枚または動画1本の参照入力
|
||||
- 現在のOpenAI固有の注意点: OpenClawは現在、ネイティブOpenAI動画生成に対して `size`
|
||||
の上書きだけを転送します。`aspectRatio`、`resolution`、`audio`、`watermark` などの未対応の任意上書きは無視され、
|
||||
tool warningとして返されます。
|
||||
- デフォルト動画モデル: `openai/sora-2`
|
||||
- モード: テキストから動画、画像から動画、単一動画の参照/編集フロー
|
||||
- 現在の制限: 画像または動画の参照入力は 1 件のみ
|
||||
- 現在の OpenAI 固有の注意点: OpenClaw は現在、ネイティブ OpenAI 動画生成では `size`
|
||||
の上書きのみを転送します。`aspectRatio`、`resolution`、`audio`、`watermark` などの未対応のオプション上書きは無視され、
|
||||
ツール警告として報告されます。
|
||||
|
||||
OpenAIをデフォルトの動画providerとして使うには:
|
||||
OpenAI をデフォルトの動画プロバイダーとして使うには:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -179,31 +178,31 @@ OpenAIをデフォルトの動画providerとして使うには:
|
||||
}
|
||||
```
|
||||
|
||||
共有toolの
|
||||
パラメータ、provider選択、フェイルオーバー動作については [Video Generation](/ja-JP/tools/video-generation) を参照してください。
|
||||
共有ツールの
|
||||
パラメーター、プロバイダー選択、フェイルオーバー動作については、[動画生成](/ja-JP/tools/video-generation) を参照してください。
|
||||
|
||||
## Option B: OpenAI Code(Codex)サブスクリプション
|
||||
## オプション B: OpenAI Code (Codex) サブスクリプション
|
||||
|
||||
**最適な用途:** API keyの代わりにChatGPT/Codexサブスクリプションアクセスを使うこと。
|
||||
Codex cloudではChatGPT sign-inが必要であり、Codex CLIはChatGPTまたはAPI keyによるsign-inをサポートします。
|
||||
**最適な用途:** API キーの代わりに ChatGPT/Codex サブスクリプションアクセスを使うこと。
|
||||
Codex cloud では ChatGPT サインインが必要で、一方 Codex CLI では ChatGPT または API キーのサインインをサポートしています。
|
||||
|
||||
ルート概要:
|
||||
|
||||
- `openai-codex/gpt-5.4` = ChatGPT/Codex OAuthルート
|
||||
- 直接のOpenAI Platform API keyではなく、ChatGPT/Codex sign-inを使用
|
||||
- `openai-codex/*` に対するprovider側の制限は、ChatGPT web/app体験とは異なる場合があります
|
||||
- `openai-codex/gpt-5.4` = ChatGPT/Codex OAuth ルート
|
||||
- 直接の OpenAI Platform API キーではなく、ChatGPT/Codex サインインを使用
|
||||
- `openai-codex/*` のプロバイダー側の制限は、ChatGPT の Web/アプリ体験と異なる場合があります
|
||||
|
||||
### CLIセットアップ(Codex OAuth)
|
||||
### CLI セットアップ (Codex OAuth)
|
||||
|
||||
```bash
|
||||
# ウィザードでCodex OAuthを実行
|
||||
# ウィザードで Codex OAuth を実行
|
||||
openclaw onboard --auth-choice openai-codex
|
||||
|
||||
# またはOAuthを直接実行
|
||||
# または OAuth を直接実行
|
||||
openclaw models auth login --provider openai-codex
|
||||
```
|
||||
|
||||
### 設定スニペット(Codexサブスクリプション)
|
||||
### 設定スニペット (Codex サブスクリプション)
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -211,43 +210,42 @@ openclaw models auth login --provider openai-codex
|
||||
}
|
||||
```
|
||||
|
||||
OpenAIの現在のCodexドキュメントでは、現在のCodex modelとして `gpt-5.4` が挙げられています。OpenClawは
|
||||
これを、ChatGPT/Codex OAuth利用向けに `openai-codex/gpt-5.4` へマップします。
|
||||
OpenAI の現在の Codex ドキュメントでは、現在の Codex モデルとして `gpt-5.4` が掲載されています。OpenClaw
|
||||
では、ChatGPT/Codex OAuth 利用向けにこれを `openai-codex/gpt-5.4` にマッピングしています。
|
||||
|
||||
このルートは `openai/gpt-5.4` とは意図的に分離されています。直接の
|
||||
OpenAI Platform APIパスを使いたい場合は、API key付きの `openai/*` を使ってください。ChatGPT/Codex sign-inを使いたい場合は、`openai-codex/*` を使ってください。
|
||||
OpenAI Platform API パスを使いたい場合は、API キー付きの `openai/*` を使用してください。ChatGPT/Codex サインインを使いたい場合は、
|
||||
`openai-codex/*` を使用してください。
|
||||
|
||||
オンボーディングが既存のCodex CLIログインを再利用する場合、それらの認証情報は
|
||||
引き続きCodex CLIによって管理されます。有効期限切れ時には、OpenClawはまず外部のCodexソースを再読み込みし、
|
||||
providerがそれを更新できる場合は、OpenClaw専用の別コピーとして所有権を持つのではなく、
|
||||
更新後の認証情報をCodexストレージへ書き戻します。
|
||||
オンボーディングで既存の Codex CLI ログインを再利用した場合、それらの認証情報は引き続き
|
||||
Codex CLI によって管理されます。有効期限切れ時、OpenClaw はまず外部の Codex ソースを再読み込みし、プロバイダー側で更新可能な場合は、
|
||||
OpenClaw 専用の別コピーを所有するのではなく、更新された認証情報を Codex ストレージへ書き戻します。
|
||||
|
||||
Codex Sparkを利用できるCodexアカウントなら、OpenClawは次もサポートします:
|
||||
Codex アカウントに Codex Spark の利用権限がある場合、OpenClaw は以下もサポートします:
|
||||
|
||||
- `openai-codex/gpt-5.3-codex-spark`
|
||||
|
||||
OpenClawはCodex SparkをCodex専用として扱います。直接の
|
||||
`openai/gpt-5.3-codex-spark` API-keyパスは公開しません。
|
||||
OpenClaw は Codex Spark を Codex 専用として扱います。直接の
|
||||
`openai/gpt-5.3-codex-spark` API キーパスは公開しません。
|
||||
|
||||
OpenClawは、`pi-ai`
|
||||
がそれを発見した場合にも `openai-codex/gpt-5.3-codex-spark` を保持します。これは権限依存かつ実験的なものとして扱ってください。Codex Sparkは
|
||||
GPT-5.4 `/fast` とは別物であり、利用可否はサインインしているCodex /
|
||||
ChatGPTアカウントに依存します。
|
||||
OpenClaw は、`pi-ai`
|
||||
がそれを検出した場合に `openai-codex/gpt-5.3-codex-spark` も保持します。これは利用権限依存かつ実験的なものとして扱ってください。Codex Spark は
|
||||
GPT-5.4 の `/fast` とは別物であり、利用可否はサインインしている Codex /
|
||||
ChatGPT アカウントに依存します。
|
||||
|
||||
### Codexコンテキストウィンドウ上限
|
||||
### Codex コンテキストウィンドウ上限
|
||||
|
||||
OpenClawは、Codex model metadataと実行時コンテキスト上限を別の
|
||||
値として扱います。
|
||||
OpenClaw は、Codex モデルのメタデータと実行時コンテキスト上限を別の値として扱います。
|
||||
|
||||
`openai-codex/gpt-5.4` では:
|
||||
`openai-codex/gpt-5.4` の場合:
|
||||
|
||||
- ネイティブ `contextWindow`: `1050000`
|
||||
- デフォルトの実行時 `contextTokens` 上限: `272000`
|
||||
|
||||
これにより、model metadataの正確性を保ちつつ、実運用ではレイテンシと品質特性が
|
||||
より良い、より小さなデフォルト実行時ウィンドウを維持します。
|
||||
これにより、実際にはレイテンシーと品質の特性がより良い、より小さなデフォルト実行時
|
||||
ウィンドウを維持しつつ、モデルメタデータの正確性も保たれます。
|
||||
|
||||
別の実効上限を使いたい場合は、`models.providers.<provider>.models[].contextTokens` を設定してください:
|
||||
有効な上限を別の値にしたい場合は、`models.providers.<provider>.models[].contextTokens` を設定してください:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -266,48 +264,42 @@ OpenClawは、Codex model metadataと実行時コンテキスト上限を別の
|
||||
}
|
||||
```
|
||||
|
||||
`contextWindow` は、ネイティブmodel
|
||||
metadataを宣言または上書きするときにのみ使ってください。実行時コンテキスト予算を制限したい場合は `contextTokens` を使ってください。
|
||||
`contextWindow` は、ネイティブモデルの
|
||||
メタデータを宣言または上書きするときにのみ使用してください。実行時コンテキスト予算を制限したい場合は `contextTokens` を使用してください。
|
||||
|
||||
### デフォルトtransport
|
||||
### デフォルトのトランスポート
|
||||
|
||||
OpenClawはmodel streamingに `pi-ai` を使用します。`openai/*` と
|
||||
`openai-codex/*` の両方で、デフォルトtransportは `"auto"`(WebSocket優先、その後
|
||||
SSEフォールバック)です。
|
||||
OpenClaw はモデルストリーミングに `pi-ai` を使用します。`openai/*` と
|
||||
`openai-codex/*` の両方で、デフォルトのトランスポートは `"auto"`(まず WebSocket、次に SSE へフォールバック)です。
|
||||
|
||||
`"auto"` モードでは、OpenClawは初期の再試行可能なWebSocket失敗を1回だけ再試行してから
|
||||
SSEにフォールバックします。強制 `"websocket"` モードでは、フォールバックの裏に隠さず
|
||||
transport errorをそのまま表示します。
|
||||
`"auto"` モードでは、OpenClaw は SSE にフォールバックする前に、初期の再試行可能な WebSocket 障害も
|
||||
1 回再試行します。強制 `"websocket"` モードでは、フォールバックの背後に隠すことなくトランスポートエラーをそのまま表示します。
|
||||
|
||||
`"auto"` モードで接続時または初期ターンのWebSocket失敗が発生すると、OpenClawは
|
||||
そのsessionのWebSocketパスを約60秒間degradedとしてマークし、
|
||||
そのcool-down中の後続ターンは、transport間を行き来させる代わりにSSEで送信します。
|
||||
`"auto"` モードで接続または初期ターンの WebSocket 障害が発生した後、OpenClaw は
|
||||
そのセッションの WebSocket パスを約 60 秒間劣化状態としてマークし、
|
||||
トランスポート間を行き来し続けるのではなく、クールダウン中の後続ターンを SSE 経由で送信します。
|
||||
|
||||
ネイティブOpenAI系endpoint(`openai/*`、`openai-codex/*`、およびAzure
|
||||
OpenAI Responses)では、OpenClawはリクエストに安定したsessionおよびturn identity stateも付与するため、
|
||||
再試行、再接続、SSEフォールバックが同じ
|
||||
conversation identityに揃ったまま維持されます。ネイティブOpenAI系ルートでは、これには安定した
|
||||
session/turn request identity headerと、それに対応するtransport metadataが含まれます。
|
||||
ネイティブ OpenAI ファミリーのエンドポイント(`openai/*`、`openai-codex/*`、および Azure
|
||||
OpenAI Responses)では、OpenClaw はリクエストに安定したセッション ID とターン ID の状態も付加するため、
|
||||
再試行、再接続、SSE フォールバック時にも同じ会話 ID に整合します。ネイティブ OpenAI ファミリーのルートでは、これには安定した
|
||||
セッション/ターンのリクエスト ID ヘッダーと、それに一致するトランスポートメタデータが含まれます。
|
||||
|
||||
OpenClawはまた、OpenAI usage counterをtransport variant間で正規化してから
|
||||
session/status surfaceに渡します。ネイティブOpenAI/Codex Responsesトラフィックは
|
||||
usageを `input_tokens` / `output_tokens` または
|
||||
`prompt_tokens` / `completion_tokens` のいずれかで報告する場合がありますが、
|
||||
OpenClawはそれらを `/status`、`/usage`、session logs向けに同じ入力
|
||||
および出力counterとして扱います。ネイティブ
|
||||
WebSocketトラフィックで `total_tokens` が欠落している(または `0` と報告される)場合、OpenClawは
|
||||
正規化された入力 + 出力合計にフォールバックするため、session/status表示は値が入ったままになります。
|
||||
OpenClaw は、セッション/ステータス画面に到達する前に、トランスポートの違いをまたいで OpenAI の使用量カウンターも正規化します。ネイティブ OpenAI/Codex Responses トラフィックでは、使用量が `input_tokens` / `output_tokens` または
|
||||
`prompt_tokens` / `completion_tokens` として報告される場合がありますが、
|
||||
OpenClaw は `/status`、`/usage`、およびセッションログ向けに、これらを同じ入力および出力カウンターとして扱います。ネイティブ
|
||||
WebSocket トラフィックで `total_tokens` が省略される(または `0` が報告される)場合、
|
||||
OpenClaw はセッション/ステータス表示が埋まったままになるよう、正規化された入力 + 出力の合計にフォールバックします。
|
||||
|
||||
`agents.defaults.models.<provider/model>.params.transport` を設定できます:
|
||||
|
||||
- `"sse"`: SSEを強制
|
||||
- `"websocket"`: WebSocketを強制
|
||||
- `"auto"`: WebSocketを試し、その後SSEにフォールバック
|
||||
- `"sse"`: SSE を強制
|
||||
- `"websocket"`: WebSocket を強制
|
||||
- `"auto"`: WebSocket を試し、その後 SSE にフォールバック
|
||||
|
||||
`openai/*`(Responses API)については、OpenClawは
|
||||
WebSocket transportが使われる場合に、デフォルトでWebSocket warm-upも有効にします(`openaiWsWarmup: true`)。
|
||||
`openai/*`(Responses API)では、WebSocket トランスポートが使われる場合、
|
||||
OpenClaw はデフォルトで WebSocket ウォームアップも有効にします(`openaiWsWarmup: true`)。
|
||||
|
||||
関連するOpenAIドキュメント:
|
||||
関連する OpenAI ドキュメント:
|
||||
|
||||
- [Realtime API with WebSocket](https://platform.openai.com/docs/guides/realtime-websocket)
|
||||
- [Streaming API responses (SSE)](https://platform.openai.com/docs/guides/streaming-responses)
|
||||
@ -329,12 +321,13 @@ WebSocket transportが使われる場合に、デフォルトでWebSocket warm-u
|
||||
}
|
||||
```
|
||||
|
||||
### OpenAI WebSocket warm-up
|
||||
### OpenAI WebSocket ウォームアップ
|
||||
|
||||
OpenAIのドキュメントではwarm-upは任意とされています。OpenClawでは、
|
||||
WebSocket transport使用時の初回ターンのレイテンシを下げるため、`openai/*` に対してデフォルトで有効にしています。
|
||||
OpenAI のドキュメントでは、ウォームアップはオプションとして説明されています。OpenClaw は、
|
||||
WebSocket トランスポート使用時の最初のターンのレイテンシーを減らすため、
|
||||
`openai/*` ではデフォルトでこれを有効にします。
|
||||
|
||||
### warm-upを無効にする
|
||||
### ウォームアップを無効にする
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -352,7 +345,7 @@ WebSocket transport使用時の初回ターンのレイテンシを下げるた
|
||||
}
|
||||
```
|
||||
|
||||
### warm-upを明示的に有効にする
|
||||
### ウォームアップを明示的に有効にする
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -370,12 +363,11 @@ WebSocket transport使用時の初回ターンのレイテンシを下げるた
|
||||
}
|
||||
```
|
||||
|
||||
### OpenAIとCodexのpriority processing
|
||||
### OpenAI と Codex の優先処理
|
||||
|
||||
OpenAIのAPIは `service_tier=priority` によるpriority processingを公開しています。
|
||||
OpenClawでは、ネイティブOpenAI/Codex Responses endpointにそのフィールドを渡すために
|
||||
`agents.defaults.models["<provider>/<model>"].params.serviceTier`
|
||||
を設定します。
|
||||
OpenAI の API は `service_tier=priority` による優先処理を公開しています。OpenClaw
|
||||
では、ネイティブ OpenAI/Codex Responses エンドポイントにそのフィールドを渡すため、
|
||||
`agents.defaults.models["<provider>/<model>"].params.serviceTier` を設定します。
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -398,38 +390,38 @@ OpenClawでは、ネイティブOpenAI/Codex Responses endpointにそのフィ
|
||||
}
|
||||
```
|
||||
|
||||
サポートされる値は `auto`、`default`、`flex`、`priority` です。
|
||||
サポートされる値は `auto`、`default`、`flex`、および `priority` です。
|
||||
|
||||
OpenClawは、ネイティブOpenAI/Codex endpointを指している場合、
|
||||
OpenClaw は、これらのモデルがネイティブ OpenAI/Codex エンドポイントを指している場合、
|
||||
`params.serviceTier` を直接の `openai/*` Responses
|
||||
リクエストと `openai-codex/*` Codex Responsesリクエストの両方へ転送します。
|
||||
リクエストと `openai-codex/*` Codex Responses リクエストの両方に転送します。
|
||||
|
||||
重要な動作:
|
||||
|
||||
- 直接の `openai/*` は `api.openai.com` を対象にしている必要があります
|
||||
- `openai-codex/*` は `chatgpt.com/backend-api` を対象にしている必要があります
|
||||
- いずれかのproviderを別のbase URLまたはproxy経由にした場合、OpenClawは `service_tier` をそのままにします
|
||||
- どちらかのプロバイダーを別のベース URL やプロキシ経由でルーティングしている場合、OpenClaw は `service_tier` を変更しません
|
||||
|
||||
### OpenAI fast mode
|
||||
### OpenAI 高速モード
|
||||
|
||||
OpenClawは、`openai/*` と
|
||||
`openai-codex/*` の両session向けに共有fast-modeトグルを公開しています:
|
||||
OpenClaw は、`openai/*` と
|
||||
`openai-codex/*` の両方のセッション向けに共有の高速モード切り替えを公開しています:
|
||||
|
||||
- Chat/UI: `/fast status|on|off`
|
||||
- Config: `agents.defaults.models["<provider>/<model>"].params.fastMode`
|
||||
- 設定: `agents.defaults.models["<provider>/<model>"].params.fastMode`
|
||||
|
||||
fast modeが有効なとき、OpenClawはそれをOpenAI priority processingへマップします:
|
||||
高速モードが有効な場合、OpenClaw はそれを OpenAI の優先処理にマッピングします:
|
||||
|
||||
- `api.openai.com` への直接の `openai/*` Responses呼び出しは `service_tier = "priority"` を送信します
|
||||
- `chatgpt.com/backend-api` への `openai-codex/*` Responses呼び出しも `service_tier = "priority"` を送信します
|
||||
- `api.openai.com` への直接の `openai/*` Responses 呼び出しは `service_tier = "priority"` を送信します
|
||||
- `chatgpt.com/backend-api` への `openai-codex/*` Responses 呼び出しも `service_tier = "priority"` を送信します
|
||||
- 既存のペイロード `service_tier` 値は保持されます
|
||||
- fast modeは `reasoning` や `text.verbosity` を書き換えません
|
||||
- 高速モードは `reasoning` や `text.verbosity` を書き換えません
|
||||
|
||||
特にGPT 5.4では、最も一般的な設定は次のとおりです:
|
||||
GPT 5.4 について特に一般的な設定は次のとおりです:
|
||||
|
||||
- `openai/gpt-5.4` または `openai-codex/gpt-5.4` を使っているsessionで `/fast on` を送る
|
||||
- `openai/gpt-5.4` または `openai-codex/gpt-5.4` を使うセッションで `/fast on` を送信する
|
||||
- または `agents.defaults.models["openai/gpt-5.4"].params.fastMode = true` を設定する
|
||||
- Codex OAuthも使うなら、`agents.defaults.models["openai-codex/gpt-5.4"].params.fastMode = true` も設定する
|
||||
- Codex OAuth も使う場合は、`agents.defaults.models["openai-codex/gpt-5.4"].params.fastMode = true` も設定する
|
||||
|
||||
例:
|
||||
|
||||
@ -454,48 +446,73 @@ fast modeが有効なとき、OpenClawはそれをOpenAI priority processingへ
|
||||
}
|
||||
```
|
||||
|
||||
session overrideはconfigより優先されます。Sessions UIでsession overrideをクリアすると、
|
||||
そのsessionは設定済みデフォルトに戻ります。
|
||||
セッションの上書き設定は config より優先されます。Sessions UI でセッション上書きをクリアすると、
|
||||
そのセッションは設定済みのデフォルトに戻ります。
|
||||
|
||||
### ネイティブOpenAIとOpenAI互換ルートの違い
|
||||
### ネイティブ OpenAI と OpenAI 互換ルートの違い
|
||||
|
||||
OpenClawは、直接のOpenAI、Codex、およびAzure OpenAI endpointを、
|
||||
汎用的なOpenAI互換 `/v1` proxyとは異なるものとして扱います:
|
||||
OpenClaw は、直接の OpenAI、Codex、および Azure OpenAI エンドポイントを、
|
||||
汎用的な OpenAI 互換 `/v1` プロキシとは異なる方法で扱います:
|
||||
|
||||
- ネイティブ `openai/*`、`openai-codex/*`、およびAzure OpenAIルートでは、
|
||||
reasoningを明示的に無効にした場合でも `reasoning: { effort: "none" }` をそのまま維持します
|
||||
- ネイティブOpenAI系ルートではtool schemaがデフォルトでstrict modeになります
|
||||
- 隠しOpenClaw attribution header(`originator`、`version`、および
|
||||
`User-Agent`)は、検証済みのネイティブOpenAI host
|
||||
(`api.openai.com`)とネイティブCodex host(`chatgpt.com/backend-api`)でのみ付与されます
|
||||
- ネイティブOpenAI/Codexルートでは、
|
||||
`service_tier`、Responses `store`、OpenAI reasoning互換ペイロード、
|
||||
prompt-cache hintのようなOpenAI専用request shapingを維持します
|
||||
- proxy形式のOpenAI互換ルートでは、より緩い互換動作を維持し、
|
||||
strictなtool schema、ネイティブ専用request shaping、隠し
|
||||
OpenAI/Codex attribution headerは強制しません
|
||||
- ネイティブ `openai/*`、`openai-codex/*`、および Azure OpenAI ルートでは、
|
||||
推論を明示的に無効にしたとき `reasoning: { effort: "none" }` をそのまま維持します
|
||||
- ネイティブ OpenAI ファミリールートでは、ツールスキーマのデフォルトが strict mode になります
|
||||
- 非表示の OpenClaw 帰属ヘッダー(`originator`、`version`、および
|
||||
`User-Agent`)は、検証済みのネイティブ OpenAI ホスト
|
||||
(`api.openai.com`)およびネイティブ Codex ホスト(`chatgpt.com/backend-api`)にのみ付与されます
|
||||
- ネイティブ OpenAI/Codex ルートでは、`service_tier`、Responses の `store`、OpenAI の reasoning 互換ペイロード、および
|
||||
プロンプトキャッシュヒントのような OpenAI 専用のリクエスト整形を維持します
|
||||
- プロキシ形式の OpenAI 互換ルートでは、より緩い互換動作を維持し、
|
||||
strict なツールスキーマ、ネイティブ専用のリクエスト整形、または非表示の
|
||||
OpenAI/Codex 帰属ヘッダーを強制しません
|
||||
|
||||
Azure OpenAIはtransportと互換動作の点ではネイティブルーティング側に残りますが、
|
||||
隠しOpenAI/Codex attribution headerは受け取りません。
|
||||
Azure OpenAI は、トランスポートと互換動作の点ではネイティブルーティングの区分に含まれますが、
|
||||
非表示の OpenAI/Codex 帰属ヘッダーは受け取りません。
|
||||
|
||||
これにより、現在のネイティブOpenAI Responses動作を維持しつつ、
|
||||
古いOpenAI互換shimをサードパーティの `/v1` backendへ強制しないようにしています。
|
||||
これにより、現在のネイティブ OpenAI Responses の動作を維持しつつ、
|
||||
古い OpenAI 互換 shim をサードパーティの `/v1` バックエンドに強制しないようにしています。
|
||||
|
||||
### OpenAI Responsesのサーバー側compaction
|
||||
### Strict-agentic GPT モード
|
||||
|
||||
直接のOpenAI Responses model(`api: "openai-responses"` を使い、
|
||||
`baseUrl` が `api.openai.com` 上にある `openai/*`)では、OpenClawは現在、
|
||||
OpenAIのサーバー側compaction payload hintを自動有効化します:
|
||||
`openai/*` および `openai-codex/*` の GPT-5 ファミリー実行では、OpenClaw は
|
||||
より厳格な埋め込み Pi 実行コントラクトを使用できます:
|
||||
|
||||
- `store: true` を強制(model compatが `supportsStore: false` を設定していない限り)
|
||||
- `context_management: [{ type: "compaction", compact_threshold: ... }]` を注入
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
embeddedPi: {
|
||||
executionContract: "strict-agentic",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
デフォルトでは、`compact_threshold` はmodel `contextWindow` の `70%` です(利用不可時は `80000`)。
|
||||
`strict-agentic` では、具体的なツールアクションが可能な場合、
|
||||
OpenClaw は計画だけのアシスタントターンを成功した進捗として扱わなくなります。即時実行を促す steer を付けてそのターンを再試行し、
|
||||
大きな作業には構造化された `update_plan` ツールを自動で有効にし、
|
||||
モデルが行動せずに計画を続ける場合は明示的なブロック状態を表示します。
|
||||
|
||||
### サーバー側compactionを明示的に有効にする
|
||||
このモードは、OpenAI および OpenAI Codex の GPT-5 ファミリー実行に限定されます。他のプロバイダー
|
||||
および古いモデルファミリーは、他の実行時設定に明示的に参加させない限り、
|
||||
デフォルトの埋め込み Pi 動作のままです。
|
||||
|
||||
互換性のあるResponses model(たとえばAzure OpenAI Responses)で
|
||||
`context_management` 注入を強制したい場合に使用します:
|
||||
### OpenAI Responses のサーバー側 compaction
|
||||
|
||||
直接の OpenAI Responses モデル(`api: "openai-responses"` を使う `openai/*` で、
|
||||
`baseUrl` が `api.openai.com` のもの)では、OpenClaw は OpenAI のサーバー側
|
||||
compaction ペイロードヒントを自動で有効にします:
|
||||
|
||||
- `store: true` を強制します(モデル互換設定で `supportsStore: false` の場合を除く)
|
||||
- `context_management: [{ type: "compaction", compact_threshold: ... }]` を注入します
|
||||
|
||||
デフォルトでは、`compact_threshold` はモデル `contextWindow` の `70%`(不明な場合は `80000`)です。
|
||||
|
||||
### サーバー側 compaction を明示的に有効にする
|
||||
|
||||
互換性のある Responses モデル(たとえば Azure OpenAI Responses)で
|
||||
`context_management` 注入を強制したい場合に使います:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -532,7 +549,7 @@ OpenAIのサーバー側compaction payload hintを自動有効化します:
|
||||
}
|
||||
```
|
||||
|
||||
### サーバー側compactionを無効にする
|
||||
### サーバー側 compaction を無効にする
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -550,11 +567,11 @@ OpenAIのサーバー側compaction payload hintを自動有効化します:
|
||||
}
|
||||
```
|
||||
|
||||
`responsesServerCompaction` が制御するのは `context_management` 注入だけです。
|
||||
直接のOpenAI Responses modelでは、compatが
|
||||
`supportsStore: false` を設定していない限り、引き続き `store: true` を強制します。
|
||||
`responsesServerCompaction` は `context_management` 注入のみを制御します。
|
||||
直接の OpenAI Responses モデルでは、互換設定で
|
||||
`supportsStore: false` が指定されていない限り、引き続き `store: true` を強制します。
|
||||
|
||||
## 注意
|
||||
|
||||
- Model refは常に `provider/model` を使います([/concepts/models](/ja-JP/concepts/models) を参照)。
|
||||
- モデル参照は常に `provider/model` を使用します([/concepts/models](/ja-JP/concepts/models) を参照)。
|
||||
- 認証の詳細と再利用ルールは [/concepts/oauth](/ja-JP/concepts/oauth) にあります。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user