diff --git a/docs/ja-JP/channels/matrix.md b/docs/ja-JP/channels/matrix.md index a69703ffb..0139f14db 100644 --- a/docs/ja-JP/channels/matrix.md +++ b/docs/ja-JP/channels/matrix.md @@ -1,29 +1,29 @@ --- read_when: - - OpenClawでMatrixをセットアップする - - MatrixのE2EEと検証を設定する + - OpenClawでMatrixをセットアップする場合 + - MatrixのE2EEと検証を設定する場合 summary: Matrixのサポート状況、セットアップ、設定例 title: Matrix x-i18n: - generated_at: "2026-04-06T03:08:57Z" + generated_at: "2026-04-06T04:46:17Z" model: gpt-5.4 provider: openai - source_hash: 3e2d84c08d7d5b96db14b914e54f08d25334401cdd92eb890bc8dfb37b0ca2dc + source_hash: 06f833bf0ede81bad69f140994c32e8cc5d1635764f95fc5db4fc5dc25f2b85e source_path: channels/matrix.md workflow: 15 --- # Matrix -Matrixは、OpenClaw用のMatrixバンドルチャネルプラグインです。 +Matrixは、OpenClaw用のMatrixバンドル済みチャネルpluginです。 公式の`matrix-js-sdk`を使用し、DM、ルーム、スレッド、メディア、リアクション、投票、位置情報、E2EEをサポートします。 -## バンドルプラグイン +## バンドル済みplugin -Matrixは現在のOpenClawリリースにバンドルプラグインとして含まれているため、通常の -パッケージビルドでは別途インストールは不要です。 +Matrixは現在のOpenClawリリースではバンドル済みpluginとして提供されるため、通常の +パッケージ版ビルドでは別途インストールは不要です。 -古いビルドまたはMatrixを含まないカスタムインストールを使用している場合は、 +古いビルドや、Matrixを含まないカスタムインストールを使用している場合は、 手動でインストールしてください。 npmからインストール: @@ -32,50 +32,50 @@ npmからインストール: openclaw plugins install @openclaw/matrix ``` -ローカルチェックアウトからインストール: +ローカルのチェックアウトからインストール: ```bash openclaw plugins install ./path/to/local/matrix-plugin ``` -プラグインの動作とインストールルールについては、[プラグイン](/ja-JP/tools/plugin)を参照してください。 +pluginの動作とインストールルールについては、[Plugins](/ja-JP/tools/plugin)を参照してください。 ## セットアップ -1. Matrixプラグインが利用可能であることを確認します。 - - 現在のパッケージ版OpenClawリリースにはすでに含まれています。 - - 古い/カスタムインストールでは、上記コマンドで手動追加できます。 -2. ご自身のhomeserverでMatrixアカウントを作成します。 +1. Matrix pluginが利用可能であることを確認します。 + - 現在のパッケージ版OpenClawリリースには、すでにバンドルされています。 + - 古いインストールやカスタムインストールでは、上記のコマンドで手動追加できます。 +2. ご利用のhomeserverでMatrixアカウントを作成します。 3. `channels.matrix`を次のいずれかで設定します。 - `homeserver` + `accessToken`、または - `homeserver` + `userId` + `password`。 4. Gatewayを再起動します。 -5. ボットとDMを開始するか、ルームに招待します。 +5. botとのDMを開始するか、ルームに招待します。 -対話型セットアップの経路: +対話型セットアップの手順: ```bash openclaw channels add openclaw configure --section channels ``` -Matrixウィザードで実際に尋ねられる内容: +Matrixウィザードが実際に尋ねる内容: - homeserver URL -- 認証方法: アクセストークンまたはパスワード -- パスワード認証を選択した場合のみユーザーID +- 認証方法: access token または password +- `password`認証を選んだ場合のみ user ID - 任意のデバイス名 - E2EEを有効にするかどうか - Matrixルームアクセスを今すぐ設定するかどうか -重要なウィザードの動作: +重要なウィザード動作: -- 選択したアカウントに対するMatrix認証env varsがすでに存在し、そのアカウントの認証がまだconfigに保存されていない場合、ウィザードはenvショートカットを提示し、そのアカウントには`enabled: true`のみを書き込みます。 -- Matrixアカウントを対話的に追加すると、入力したアカウント名はconfigとenv varsで使われるアカウントIDに正規化されます。たとえば、`Ops Bot`は`ops-bot`になります。 -- DM許可リストのプロンプトでは、完全な`@user:server`値をすぐに受け付けます。表示名は、ライブディレクトリ検索で厳密に1件一致した場合のみ機能します。それ以外の場合、ウィザードは完全なMatrix IDで再試行するよう求めます。 -- ルーム許可リストのプロンプトでは、ルームIDとエイリアスを直接受け付けます。参加済みルーム名をライブで解決することもできますが、解決できなかった名前はセットアップ時に入力されたまま保持されるだけで、実行時の許可リスト解決では無視されます。`!room:server`または`#alias:server`を推奨します。 -- 実行時のルーム/セッション識別には、安定したMatrixルームIDが使われます。ルームで宣言されたエイリアスは、長期的なセッションキーや安定したグループIDではなく、検索入力としてのみ使われます。 -- 保存前にルーム名を解決するには、`openclaw channels resolve --channel matrix "Project Room"`を使います。 +- 選択したアカウントに対応するMatrix認証用env varがすでに存在し、そのアカウントの認証情報がまだconfigに保存されていない場合、ウィザードはenvショートカットを提示し、そのアカウントには`enabled: true`のみを書き込みます。 +- 別のMatrixアカウントを対話的に追加すると、入力したアカウント名はconfigとenv varsで使用されるアカウントIDに正規化されます。たとえば、`Ops Bot`は`ops-bot`になります。 +- DM allowlistのプロンプトでは、完全な`@user:server`値をそのまま受け付けます。表示名が使えるのは、ライブのディレクトリ検索で正確に1件だけ一致した場合のみで、それ以外では完全なMatrix IDで再入力するようウィザードが求めます。 +- ルームallowlistのプロンプトでは、ルームIDとエイリアスを直接受け付けます。参加済みルーム名のライブ解決も可能ですが、解決できない名前はセットアップ時に入力された文字列のまま保持されるだけで、実行時のallowlist解決では無視されます。`!room:server`または`#alias:server`の使用を推奨します。 +- 実行時のルーム/セッション識別には安定したMatrixルームIDが使われます。ルームで宣言されたエイリアスは、長期的なセッションキーや安定したグループ識別子ではなく、検索入力としてのみ使われます。 +- 保存前にルーム名を解決するには、`openclaw channels resolve --channel matrix "Project Room"`を使用します。 最小限のトークンベース設定: @@ -92,7 +92,7 @@ Matrixウィザードで実際に尋ねられる内容: } ``` -パスワードベース設定(ログイン後にトークンをキャッシュ): +パスワードベース設定(ログイン後にトークンがキャッシュされます): ```json5 { @@ -109,10 +109,10 @@ Matrixウィザードで実際に尋ねられる内容: ``` Matrixはキャッシュされた認証情報を`~/.openclaw/credentials/matrix/`に保存します。 -デフォルトアカウントは`credentials.json`を使用し、名前付きアカウントは`credentials-.json`を使用します。 -そこにキャッシュ済み認証情報が存在する場合、現在の認証がconfigに直接設定されていなくても、OpenClawはセットアップ、doctor、チャネルステータス検出においてMatrixが設定済みであると見なします。 +デフォルトアカウントでは`credentials.json`、名前付きアカウントでは`credentials-.json`を使います。 +そこにキャッシュ済み認証情報が存在する場合、現在の認証情報がconfigに直接設定されていなくても、OpenClawはセットアップ、doctor、チャネル状態の検出においてMatrixが設定済みだと扱います。 -環境変数の同等項目(configキーが未設定のときに使用): +環境変数の対応表(configキーが未設定の場合に使用): - `MATRIX_HOMESERVER` - `MATRIX_ACCESS_TOKEN` @@ -121,7 +121,7 @@ Matrixはキャッシュされた認証情報を`~/.openclaw/credentials/matrix/ - `MATRIX_DEVICE_ID` - `MATRIX_DEVICE_NAME` -デフォルト以外のアカウントでは、アカウントスコープ付きenv varsを使用します: +デフォルト以外のアカウントでは、アカウントスコープ付きenv varsを使用します。 - `MATRIX__HOMESERVER` - `MATRIX__ACCESS_TOKEN` @@ -135,19 +135,19 @@ Matrixはキャッシュされた認証情報を`~/.openclaw/credentials/matrix/ - `MATRIX_OPS_HOMESERVER` - `MATRIX_OPS_ACCESS_TOKEN` -正規化されたアカウントID`ops-bot`では、次を使用します: +正規化済みアカウントID`ops-bot`では、次を使用します。 - `MATRIX_OPS_X2D_BOT_HOMESERVER` - `MATRIX_OPS_X2D_BOT_ACCESS_TOKEN` -Matrixは、アカウントID内の句読点をエスケープして、スコープ付きenv varsの衝突を防ぎます。 -たとえば、`-`は`_X2D_`になるため、`ops-prod`は`MATRIX_OPS_X2D_PROD_*`に対応します。 +MatrixはアカウントID内の句読点をエスケープして、スコープ付きenv varsで衝突が起きないようにします。 +たとえば、`-`は`_X2D_`になり、`ops-prod`は`MATRIX_OPS_X2D_PROD_*`に対応します。 -対話型ウィザードがenv-varショートカットを提示するのは、それらの認証env varsがすでに存在し、かつ選択したアカウントにMatrix認証がまだconfigに保存されていない場合だけです。 +対話型ウィザードがenv varショートカットを提示するのは、それらの認証用env varsがすでに存在し、かつ選択したアカウントにMatrix認証情報がまだconfigへ保存されていない場合のみです。 ## 設定例 -これは、DMペアリング、ルーム許可リスト、有効化されたE2EEを備えた実用的なベースライン設定です: +これは、DM pairing、ルームallowlist、E2EE有効化を含む実用的なベースライン設定です。 ```json5 { @@ -182,13 +182,20 @@ Matrixは、アカウントID内の句読点をエスケープして、スコー } ``` +`autoJoin`は、ルーム/グループ招待だけでなく、一般的なMatrix招待に適用されます。 +これには新しいDM形式の招待も含まれます。招待時点では、OpenClawは招待された +ルームが最終的にDMとして扱われるかグループとして扱われるかを確実には判断できないため、すべての招待はまず同じ +`autoJoin`判定を通ります。botが参加し、そのルームが +DMとして分類された後は、引き続き`dm.policy`が適用されるため、`autoJoin`は参加動作を、`dm.policy`は返信/アクセス +動作を制御します。 + ## ストリーミングプレビュー Matrixの返信ストリーミングはオプトインです。 -OpenClawに単一のライブプレビュー -返信を送信させ、モデルがテキストを生成している間そのプレビューをその場で編集し、返信完了時に最終化したい場合は、 -`channels.matrix.streaming`を`"partial"`に設定してください: +OpenClawに単一のライブプレビュー返信を送信させ、 +モデルがテキストを生成している間そのプレビューをその場で編集し、返信完了時に確定したい場合は、 +`channels.matrix.streaming`を`"partial"`に設定します。 ```json5 { @@ -200,38 +207,39 @@ OpenClawに単一のライブプレビュー } ``` -- `streaming: "off"`がデフォルトです。OpenClawは最終返信を待って一度だけ送信します。 -- `streaming: "partial"`は、現在のassistantブロック用に通常のMatrixテキストメッセージを使った編集可能なプレビューメッセージを1つ作成します。これにより、Matrixの従来の「プレビュー優先」通知動作が維持されるため、標準クライアントでは完成済みブロックではなく、最初にストリーミングされたプレビューテキストで通知されることがあります。 -- `streaming: "quiet"`は、現在のassistantブロック用に編集可能な静かなプレビュー通知を1つ作成します。これは、最終化されたプレビュー編集用の受信者プッシュルールも設定する場合にのみ使用してください。 -- `blockStreaming: true`は、個別のMatrix進捗メッセージを有効にします。プレビューのストリーミングが有効な場合、Matrixは現在のブロックのライブドラフトを維持し、完了済みブロックを別メッセージとして保持します。 -- プレビューが有効で`blockStreaming`がoffの場合、Matrixはライブドラフトをその場で編集し、ブロックまたはターン終了時にその同じイベントを最終化します。 -- プレビューが1つのMatrixイベントに収まらなくなった場合、OpenClawはプレビューのストリーミングを停止し、通常の最終配信にフォールバックします。 -- メディア返信は引き続き通常どおり添付ファイルを送信します。古いプレビューを安全に再利用できなくなった場合、OpenClawは最終メディア返信を送る前にそれを削除します。 -- プレビュー編集には追加のMatrix API呼び出しがかかります。最も保守的なレート制限挙動を望む場合は、ストリーミングをoffのままにしてください。 +- `streaming: "off"`がデフォルトです。OpenClawは最終返信を待ってから一度だけ送信します。 +- `streaming: "partial"`は、現在のassistantブロックに対して、通常のMatrixテキストメッセージを使った編集可能なプレビューメッセージを1つ作成します。これにより、Matrixの従来の「プレビュー先行」通知動作が維持されるため、標準クライアントでは完成済みブロックではなく最初のストリーミングプレビューテキストに対して通知される場合があります。 +- `streaming: "quiet"`は、現在のassistantブロックに対して編集可能な静かなプレビュー通知を1つ作成します。これは、確定したプレビュー編集に対する受信者側push ruleも設定している場合にのみ使用してください。 +- `blockStreaming: true`は、Matrixの進捗メッセージを個別に有効化します。プレビュー ストリーミングが有効な場合、Matrixは現在のブロックのライブ下書きを維持し、完了済みブロックを別メッセージとして保持します。 +- プレビュー ストリーミングがオンで`blockStreaming`がオフの場合、Matrixはライブ下書きをその場で編集し、ブロックまたはターンが終わると同じイベントを確定します。 +- プレビューが1つのMatrixイベントに収まらなくなった場合、OpenClawはプレビュー ストリーミングを停止し、通常の最終配信にフォールバックします。 +- メディア返信は引き続き通常どおり添付ファイルとして送信されます。古いプレビューを安全に再利用できなくなった場合、OpenClawは最終メディア返信を送信する前にそれをredactします。 +- プレビュー編集には追加のMatrix API呼び出しコストがかかります。最も保守的なrate limit動作を望む場合は、ストリーミングをオフのままにしてください。 -`blockStreaming`だけではドラフトプレビューは有効になりません。 -プレビュー編集には`streaming: "partial"`または`streaming: "quiet"`を使用し、完了済みassistantブロックも個別の進捗メッセージとして表示したい場合にのみ`blockStreaming: true`を追加してください。 +`blockStreaming`自体では下書きプレビューは有効になりません。 +プレビュー編集には`streaming: "partial"`または`streaming: "quiet"`を使い、 +完了済みassistantブロックも個別の進捗メッセージとして表示したい場合にのみ`blockStreaming: true`を追加してください。 -カスタムプッシュルールなしで標準のMatrix通知が必要な場合は、プレビュー優先動作には`streaming: "partial"`を使用するか、最終版のみ配信するために`streaming`をoffのままにしてください。`streaming: "off"`では: +カスタムpush ruleなしで標準のMatrix通知が必要な場合は、プレビュー先行動作には`streaming: "partial"`を使うか、最終結果のみ配信するには`streaming`をオフのままにしてください。`streaming: "off"`の場合: -- `blockStreaming: true`は、完了した各ブロックを通常の通知付きMatrixメッセージとして送信します。 -- `blockStreaming: false`は、最終的に完成した返信のみを通常の通知付きMatrixメッセージとして送信します。 +- `blockStreaming: true`は、完了した各ブロックを通常の通知対象となるMatrixメッセージとして送信します。 +- `blockStreaming: false`は、最終的に完成した返信のみを通常の通知対象となるMatrixメッセージとして送信します。 -### 静かな最終化プレビュー向けのセルフホスト型プッシュルール +### 静かな確定プレビュー向けのセルフホストpush rules -独自のMatrix基盤を運用していて、静かなプレビューをブロックまたは -最終返信の完了時にのみ通知させたい場合は、`streaming: "quiet"`を設定し、最終化されたプレビュー編集用にユーザー単位のプッシュルールを追加してください。 +独自のMatrixインフラを運用していて、静かなプレビューでブロックまたは +最終返信の完了時のみ通知したい場合は、`streaming: "quiet"`を設定し、確定したプレビュー編集に対するユーザーごとのpush ruleを追加します。 -これは通常、homeserver全体の設定変更ではなく、受信側ユーザーの設定です: +これは通常、homeserver全体の設定変更ではなく、受信者ユーザー側のセットアップです。 -始める前の簡単な対応表: +始める前の対応表: -- recipient user = 通知を受け取るべき人 +- recipient user = 通知を受け取る人 - bot user = 返信を送信するOpenClaw Matrixアカウント -- 以下のAPI呼び出しではrecipient userのアクセストークンを使う -- プッシュルールの`sender`はbot userの完全なMXIDに一致させる +- 以下のAPI呼び出しにはrecipient userのaccess tokenを使用する +- push rule内の`sender`はbot userの完全なMXIDに一致させる -1. OpenClawを静かなプレビューを使うよう設定します: +1. OpenClawで静かなプレビューを使うよう設定します。 ```json5 { @@ -243,13 +251,13 @@ OpenClawに単一のライブプレビュー } ``` -2. 受信側アカウントがすでに通常のMatrixプッシュ通知を受け取っていることを確認します。静かなプレビュー - ルールが機能するのは、そのユーザーに既存の有効なpusher/devicesがある場合だけです。 +2. recipientアカウントが通常のMatrix push通知をすでに受け取れていることを確認します。静かなプレビュー + ルールは、そのユーザーに有効なpushers/devicesがすでにある場合にのみ機能します。 -3. 受信側ユーザーのアクセストークンを取得します。 - - ボットのトークンではなく、受信側ユーザーのトークンを使用してください。 +3. recipient userのaccess tokenを取得します。 + - botのtokenではなく、受信するユーザーのtokenを使ってください。 - 既存のクライアントセッショントークンを再利用するのが通常は最も簡単です。 - - 新しいトークンを発行する必要がある場合は、標準のMatrix Client-Server APIからログインできます: + - 新しいtokenを発行する必要がある場合は、標準のMatrix Client-Server APIからログインできます。 ```bash curl -sS -X POST \ @@ -265,7 +273,7 @@ curl -sS -X POST \ }' ``` -4. 受信側アカウントにすでにpushersがあることを確認します: +4. recipientアカウントにすでにpushersがあることを確認します。 ```bash curl -sS \ @@ -273,10 +281,10 @@ curl -sS \ "https://matrix.example.org/_matrix/client/v3/pushers" ``` -これが有効なpushers/devicesを返さない場合は、以下の +これで有効なpushers/devicesが返らない場合は、以下の OpenClawルールを追加する前に、まず通常のMatrix通知を修正してください。 -OpenClawは、最終化されたテキストのみのプレビュー編集に次のマーカーを付けます: +OpenClawは、確定したテキストのみのプレビュー編集に次のマーカーを付けます。 ```json { @@ -284,7 +292,7 @@ OpenClawは、最終化されたテキストのみのプレビュー編集に次 } ``` -5. これらの通知を受け取るべき各受信側アカウントに対して、overrideプッシュルールを作成します: +5. これらの通知を受け取る各recipientアカウントに対してoverride push ruleを作成します。 ```bash curl -sS -X PUT \ @@ -314,25 +322,25 @@ curl -sS -X PUT \ }' ``` -コマンド実行前に、以下の値を置き換えてください: +コマンド実行前に、次の値を置き換えてください。 -- `https://matrix.example.org`: あなたのhomeserverのベースURL -- `$USER_ACCESS_TOKEN`: 受信側ユーザーのアクセストークン -- `openclaw-finalized-preview-botname`: この受信側ユーザーに対するこのボット用の一意なrule ID -- `@bot:example.org`: 受信側ユーザーのMXIDではなく、あなたのOpenClaw MatrixボットMXID +- `https://matrix.example.org`: あなたのhomeserverベースURL +- `$USER_ACCESS_TOKEN`: 受信ユーザーのaccess token +- `openclaw-finalized-preview-botname`: この受信ユーザーに対するこのbot専用の一意なrule ID +- `@bot:example.org`: 受信ユーザーのMXIDではなく、あなたのOpenClaw Matrix bot MXID -複数ボット構成で重要な点: +複数bot構成で重要な点: -- プッシュルールは`ruleId`で識別されます。同じrule IDに対して`PUT`を再実行すると、その1つのルールが更新されます。 -- 1人の受信側ユーザーが複数のOpenClaw Matrixボットアカウントから通知を受ける必要がある場合は、各sender一致に対して一意なrule IDを持つルールをボットごとに1つ作成してください。 -- 単純なパターンとしては`openclaw-finalized-preview-`があり、たとえば`openclaw-finalized-preview-ops`や`openclaw-finalized-preview-support`です。 +- Push rulesは`ruleId`でキー付けされます。同じrule IDに対して`PUT`を再実行すると、その1つのルールが更新されます。 +- 1人の受信ユーザーが複数のOpenClaw Matrix botアカウントから通知を受ける必要がある場合は、送信者一致ごとに一意なrule IDを持つルールをbotごとに1つ作成してください。 +- 単純なパターンとしては、`openclaw-finalized-preview-`、たとえば`openclaw-finalized-preview-ops`や`openclaw-finalized-preview-support`があります。 -このルールはイベント送信者に対して評価されます: +このルールはイベント送信者に対して評価されます。 -- 受信側ユーザーのトークンで認証する -- `sender`をOpenClawボットのMXIDに一致させる +- 受信ユーザーのtokenで認証する +- `sender`をOpenClaw bot MXIDに一致させる -6. ルールが存在することを確認します: +6. ルールが存在することを確認します。 ```bash curl -sS \ @@ -340,10 +348,10 @@ curl -sS \ "https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname" ``` -7. ストリーミング返信をテストします。quietモードでは、ルームには静かなドラフトプレビューが表示され、 - ブロックまたはターンが完了すると、その場での最終編集で1回通知されるはずです。 +7. ストリーミング返信をテストします。quietモードでは、ルームに静かな下書きプレビューが表示され、 + ブロックまたはターンの完了時に、その場での最終編集で1回だけ通知されるはずです。 -後でルールを削除する必要がある場合は、受信側ユーザーのトークンで同じrule IDを削除してください: +後でルールを削除する必要がある場合は、受信ユーザーのtokenで同じrule IDを削除します。 ```bash curl -sS -X DELETE \ @@ -351,39 +359,39 @@ curl -sS -X DELETE \ "https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname" ``` -注意: +注記: -- ルールの作成には、ボットのトークンではなく受信側ユーザーのアクセストークンを使用してください。 -- 新しいユーザー定義の`override`ルールは、デフォルトの抑制ルールより前に挿入されるため、追加の順序パラメーターは不要です。 -- これは、OpenClawが安全にその場で最終化できるテキストのみのプレビュー編集にのみ影響します。メディアフォールバックや古いプレビューフォールバックでは、引き続き通常のMatrix配信を使用します。 -- `GET /_matrix/client/v3/pushers`がpushersを示さない場合、そのユーザーはそのアカウント/デバイスでまだ有効なMatrixプッシュ配信を持っていません。 +- ルールの作成には、botのtokenではなく受信ユーザーのaccess tokenを使ってください。 +- 新しいユーザー定義の`override`ルールは、デフォルトの抑制ルールより前に挿入されるため、追加の順序パラメータは不要です。 +- これは、OpenClawが安全にその場で確定できるテキストのみのプレビュー編集にのみ影響します。メディアフォールバックや古いプレビューフォールバックでは、引き続き通常のMatrix配信が使われます。 +- `GET /_matrix/client/v3/pushers`でpushersが表示されない場合、そのユーザーはまだこのアカウント/デバイスで有効なMatrix push配信を持っていません。 #### Synapse -Synapseでは、通常、上記の設定だけで十分です: +Synapseでは、通常は上記のセットアップだけで十分です。 -- 最終化されたOpenClawプレビュー通知のために特別な`homeserver.yaml`変更は不要です。 -- Synapseデプロイですでに通常のMatrixプッシュ通知が送信されている場合、主な設定手順は上記のユーザートークン + `pushrules`呼び出しです。 -- Synapseをリバースプロキシやworkersの背後で実行している場合は、`/_matrix/client/.../pushrules/`が正しくSynapseに届くことを確認してください。 -- Synapse workersを実行している場合は、pushersが正常であることを確認してください。プッシュ配信はメインプロセスまたは`synapse.app.pusher` / 設定済みpusher workersによって処理されます。 +- 確定済みOpenClawプレビュー通知のために特別な`homeserver.yaml`変更は不要です。 +- Synapseデプロイがすでに通常のMatrix push通知を送信している場合、ユーザーtoken + 上記の`pushrules`呼び出しが主なセットアップ手順です。 +- Synapseをリバースプロキシまたはworkerの背後で実行している場合は、`/_matrix/client/.../pushrules/`が正しくSynapseに届くことを確認してください。 +- Synapse workersを使用している場合は、pushersが正常であることを確認してください。push配信はメインプロセス、または`synapse.app.pusher` / 設定されたpusher workerで処理されます。 #### Tuwunel -Tuwunelでは、上記と同じセットアップフローとpush-rule API呼び出しを使用します: +Tuwunelでは、上記と同じセットアップ手順とpush-rule API呼び出しを使用します。 -- 最終化プレビューマーカー自体のためのTuwunel固有設定は不要です。 -- そのユーザーに対して通常のMatrix通知がすでに機能している場合、主な設定手順は上記のユーザートークン + `pushrules`呼び出しです。 -- ユーザーが別のデバイスでアクティブな間に通知が消えるように見える場合は、`suppress_push_when_active`が有効になっていないか確認してください。Tuwunelは2025年9月12日のTuwunel 1.4.2でこのオプションを追加しており、1つのデバイスがアクティブな間、他のデバイスへのプッシュを意図的に抑制することがあります。 +- 確定プレビューマーカー自体のためにTuwunel固有の設定は不要です。 +- そのユーザーですでに通常のMatrix通知が機能している場合、ユーザーtoken + 上記の`pushrules`呼び出しが主なセットアップ手順です。 +- ユーザーが別のデバイスでアクティブな間に通知が消えるように見える場合は、`suppress_push_when_active`が有効かどうかを確認してください。Tuwunelは2025年9月12日のTuwunel 1.4.2でこのオプションを追加しており、1台のデバイスがアクティブな間は他のデバイスへのpushを意図的に抑制することがあります。 ## 暗号化と検証 -暗号化された(E2EE)ルームでは、送信画像イベントは`thumbnail_file`を使用するため、画像プレビューは完全な添付ファイルと一緒に暗号化されます。暗号化されていないルームでは引き続き通常の`thumbnail_url`を使用します。設定は不要です — プラグインがE2EE状態を自動検出します。 +暗号化された(E2EE)ルームでは、送信画像イベントに`thumbnail_file`が使われるため、画像プレビューは完全な添付ファイルと一緒に暗号化されます。暗号化されていないルームでは、引き続きプレーンな`thumbnail_url`が使われます。設定は不要です — pluginがE2EE状態を自動検出します。 -### ボット間ルーム +### Bot to botルーム デフォルトでは、他の設定済みOpenClaw MatrixアカウントからのMatrixメッセージは無視されます。 -エージェント間のMatrixトラフィックを意図的に許可したい場合は、`allowBots`を使用します: +エージェント間のMatrixトラフィックを意図的に許可したい場合は、`allowBots`を使用してください。 ```json5 { @@ -400,13 +408,13 @@ Tuwunelでは、上記と同じセットアップフローとpush-rule API呼び } ``` -- `allowBots: true`は、許可されたルームとDMで他の設定済みMatrixボットアカウントからのメッセージを受け入れます。 -- `allowBots: "mentions"`は、ルーム内でそれらのメッセージがこのボットに明示的にメンションしている場合にのみ受け入れます。DMは引き続き許可されます。 +- `allowBots: true`は、許可されたルームとDMにおいて、他の設定済みMatrix botアカウントからのメッセージを受け付けます。 +- `allowBots: "mentions"`は、ルーム内でそのメッセージがこのbotに明示的にメンションしている場合にのみ受け付けます。DMは引き続き許可されます。 - `groups..allowBots`は、1つのルームに対してアカウントレベル設定を上書きします。 - OpenClawは自己返信ループを避けるため、同じMatrix user IDからのメッセージは引き続き無視します。 -- Matrixはここでネイティブのbotフラグを公開しないため、OpenClawは「bot-authored」を「このOpenClaw Gateway上の別の設定済みMatrixアカウントによって送信されたもの」として扱います。 +- Matrixはここでネイティブのbotフラグを公開していないため、OpenClawは「bot作成メッセージ」を「このOpenClaw Gateway上で設定された別のMatrixアカウントから送信されたもの」として扱います。 -共有ルームでボット間トラフィックを有効にする場合は、厳格なルーム許可リストとメンション要件を使用してください。 +共有ルームでbot間トラフィックを有効にする場合は、厳格なルームallowlistとメンション要件を使用してください。 暗号化を有効にする: @@ -424,7 +432,7 @@ Tuwunelでは、上記と同じセットアップフローとpush-rule API呼び } ``` -検証ステータスを確認する: +検証状態を確認する: ```bash openclaw matrix verify status @@ -436,57 +444,57 @@ openclaw matrix verify status openclaw matrix verify status --verbose ``` -保存済みのリカバリーキーを機械可読出力に含める: +保存されたrecovery keyを機械可読出力に含める: ```bash openclaw matrix verify status --include-recovery-key --json ``` -クロスサイニングと検証状態をブートストラップする: +クロス署名と検証状態をbootstrapする: ```bash openclaw matrix verify bootstrap ``` -マルチアカウント対応: アカウントごとの認証情報と任意の`name`を含む`channels.matrix.accounts`を使用します。共有パターンについては、[設定リファレンス](/ja-JP/gateway/configuration-reference#multi-account-all-channels)を参照してください。 +複数アカウント対応: `channels.matrix.accounts`を使って、アカウントごとの認証情報と任意の`name`を設定します。共有パターンについては、[Configuration reference](/ja-JP/gateway/configuration-reference#multi-account-all-channels)を参照してください。 -詳細なブートストラップ診断: +詳細なbootstrap診断: ```bash openclaw matrix verify bootstrap --verbose ``` -ブートストラップ前に新しいクロスサイニングIDリセットを強制する: +bootstrap前に新しいクロス署名IDリセットを強制する: ```bash openclaw matrix verify bootstrap --force-reset-cross-signing ``` -リカバリーキーでこのデバイスを検証する: +recovery keyでこのデバイスを検証する: ```bash openclaw matrix verify device "" ``` -詳細なデバイス検証の詳細: +詳細なデバイス検証情報: ```bash openclaw matrix verify device "" --verbose ``` -ルームキーバックアップの健全性を確認する: +ルームキーbackupの健全性を確認する: ```bash openclaw matrix verify backup status ``` -詳細なバックアップ健全性診断: +詳細なbackup健全性診断: ```bash openclaw matrix verify backup status --verbose ``` -サーバーバックアップからルームキーを復元する: +サーバーbackupからルームキーを復元する: ```bash openclaw matrix verify backup restore @@ -498,20 +506,20 @@ openclaw matrix verify backup restore openclaw matrix verify backup restore --verbose ``` -現在のサーバーバックアップを削除し、新しいバックアップベースラインを作成します。保存済みの -バックアップキーを正常に読み込めない場合、このリセットではシークレットストレージも再作成できるため、 -今後のコールドスタートで新しいバックアップキーを読み込めるようになります: +現在のサーバーbackupを削除し、新しいbackupベースラインを作成します。保存された +backup keyを正常に読み込めない場合、このリセットではsecret storageも再作成されるため、 +今後のコールドスタートで新しいbackup keyを読み込めるようになります。 ```bash openclaw matrix verify backup reset --yes ``` -すべての`verify`コマンドはデフォルトで簡潔です(静かな内部SDKログを含む)。詳細な診断は`--verbose`が付いた場合にのみ表示されます。 -スクリプトで使用する場合は、完全な機械可読出力のために`--json`を使用してください。 +すべての`verify`コマンドはデフォルトでは簡潔で(内部SDKログの抑制も含む)、詳細な診断は`--verbose`を付けた場合にのみ表示されます。 +スクリプトで使う場合は、完全な機械可読出力に`--json`を使用してください。 -マルチアカウント構成では、`--account `を渡さない限り、Matrix CLIコマンドは暗黙のMatrixデフォルトアカウントを使います。 -複数の名前付きアカウントを設定している場合は、まず`channels.matrix.defaultAccount`を設定してください。設定しないと、それらの暗黙的なCLI操作は停止し、アカウントを明示的に選ぶよう求めます。 -検証やデバイス操作を明示的に名前付きアカウントに向けたい場合は、`--account`を使用してください: +複数アカウント構成では、`--account `を渡さない限り、Matrix CLIコマンドは暗黙のMatrixデフォルトアカウントを使用します。 +複数の名前付きアカウントを設定している場合は、まず`channels.matrix.defaultAccount`を設定してください。そうしないと、それらの暗黙的なCLI操作は停止して、明示的にアカウントを選ぶよう求められます。 +検証やデバイス操作の対象を名前付きアカウントに明示的にしたい場合は、必ず`--account`を使用してください。 ```bash openclaw matrix verify status --account assistant @@ -519,43 +527,43 @@ openclaw matrix verify backup restore --account assistant openclaw matrix devices list --account assistant ``` -暗号化が無効または名前付きアカウントで利用できない場合、Matrixの警告や検証エラーは、そのアカウントのconfigキーを指します。たとえば`channels.matrix.accounts.assistant.encryption`です。 +暗号化が無効、または名前付きアカウントで利用できない場合、Matrixの警告と検証エラーは、そのアカウントのconfigキー、たとえば`channels.matrix.accounts.assistant.encryption`を指します。 -### 「verified」の意味 +### 「検証済み」の意味 -OpenClawは、このMatrixデバイスがあなた自身のクロスサイニングIDによって検証されている場合にのみ、このMatrixデバイスをverifiedとして扱います。 -実際には、`openclaw matrix verify status --verbose`は3つの信頼シグナルを公開します: +OpenClawは、このMatrixデバイスがあなた自身のクロス署名IDによって検証された場合にのみ、このデバイスを検証済みとして扱います。 +実際には、`openclaw matrix verify status --verbose`は次の3つの信頼シグナルを公開します。 -- `Locally trusted`: このデバイスは現在のクライアントによってのみ信頼されている -- `Cross-signing verified`: SDKがこのデバイスをクロスサイニング経由で検証済みと報告している -- `Signed by owner`: このデバイスがあなた自身のself-signingキーで署名されている +- `Locally trusted`: このデバイスは現在のクライアントでのみ信頼されています +- `Cross-signing verified`: SDKが、このデバイスがクロス署名を通じて検証済みであると報告しています +- `Signed by owner`: このデバイスがあなた自身のself-signing keyで署名されています -`Verified by owner`が`yes`になるのは、クロスサイニング検証またはowner-signingが存在する場合だけです。 -ローカル信頼だけでは、OpenClawはそのデバイスを完全に検証済みとは見なしません。 +`Verified by owner`が`yes`になるのは、クロス署名検証またはowner署名が存在する場合のみです。 +ローカル信頼だけでは、OpenClawがそのデバイスを完全検証済みとして扱うには不十分です。 ### bootstrapが行うこと -`openclaw matrix verify bootstrap`は、暗号化されたMatrixアカウントの修復およびセットアップコマンドです。 -次のすべてを順番に実行します: +`openclaw matrix verify bootstrap`は、暗号化されたMatrixアカウント向けの修復兼セットアップコマンドです。 +次のすべてを順に実行します。 -- 可能であれば既存のリカバリーキーを再利用しつつ、シークレットストレージをブートストラップする -- クロスサイニングをブートストラップし、不足している公開クロスサイニングキーをアップロードする -- 現在のデバイスをマークし、クロスサインしようと試みる -- まだ存在しない場合は、新しいサーバー側ルームキーバックアップを作成する +- 可能であれば既存のrecovery keyを再利用してsecret storageをbootstrapする +- クロス署名をbootstrapし、不足している公開クロス署名キーをアップロードする +- 現在のデバイスをマークしてクロス署名することを試みる +- まだ存在しない場合、新しいサーバー側ルームキーbackupを作成する -homeserverがクロスサイニングキーのアップロードに対話型認証を要求する場合、OpenClawはまず認証なしでアップロードを試み、次に`m.login.dummy`、さらに`channels.matrix.password`が設定されている場合は`m.login.password`で試みます。 +homeserverがクロス署名キーのアップロードに対話的認証を要求する場合、OpenClawはまず認証なしで、その後`m.login.dummy`で、最後に`channels.matrix.password`が設定されているときは`m.login.password`で試行します。 -`--force-reset-cross-signing`は、現在のクロスサイニングIDを意図的に破棄して新しいものを作成したい場合にのみ使用してください。 +現在のクロス署名IDを破棄して新しく作成したい場合にのみ、`--force-reset-cross-signing`を使用してください。 -現在のルームキーバックアップを意図的に破棄し、将来のメッセージ用に新しい -バックアップベースラインを開始したい場合は、`openclaw matrix verify backup reset --yes`を使用してください。 -これは、復元不能な古い暗号化履歴が引き続き利用不可のままになること、 -および現在のバックアップシークレットを安全に読み込めない場合にOpenClawがシークレットストレージを再作成する可能性を -受け入れる場合にのみ行ってください。 +現在のルームキーbackupを意図的に破棄し、今後のメッセージのために新しい +backupベースラインを開始したい場合は、`openclaw matrix verify backup reset --yes`を使用してください。 +これは、復旧不能な古い暗号化履歴が引き続き利用できないままであること、 +および現在のbackup +secretを安全に読み込めない場合にOpenClawがsecret storageを再作成する可能性があることを受け入れる場合にのみ実行してください。 -### 新しいバックアップベースライン +### 新しいbackupベースライン -今後の暗号化メッセージを引き続き機能させ、復元不能な古い履歴を失うことを受け入れる場合は、次のコマンドを順に実行してください: +今後の暗号化メッセージを維持しつつ、復旧不能な古い履歴が失われても構わない場合は、次のコマンドを順に実行します。 ```bash openclaw matrix verify backup reset --yes @@ -567,64 +575,64 @@ openclaw matrix verify status ### 起動時の動作 -`encryption: true`の場合、Matrixは`startupVerification`をデフォルトで`"if-unverified"`にします。 -起動時にこのデバイスがまだ未検証の場合、Matrixは別のMatrixクライアントで自己検証を要求し、 -すでに1つ保留中の場合は重複要求をスキップし、再起動後の再試行前にローカルクールダウンを適用します。 -デフォルトでは、失敗した要求試行は成功した要求作成よりも早く再試行されます。 -自動起動要求を無効にするには`startupVerification: "off"`を設定するか、 -再試行ウィンドウを短くまたは長くしたい場合は`startupVerificationCooldownHours`を調整してください。 +`encryption: true`の場合、Matrixは`startupVerification`のデフォルトを`"if-unverified"`にします。 +起動時にこのデバイスがまだ未検証であれば、Matrixは別のMatrixクライアントでの自己検証を要求し、 +すでに1件保留中なら重複要求をスキップし、再起動後の再試行前にローカルのクールダウンを適用します。 +失敗した要求試行は、成功した要求作成よりもデフォルトで早く再試行されます。 +自動の起動時要求を無効にするには`startupVerification: "off"`を設定し、再試行間隔を短くまたは長くしたい場合は +`startupVerificationCooldownHours`を調整してください。 起動時には、保守的なcrypto bootstrapパスも自動的に実行されます。 -このパスはまず現在のシークレットストレージとクロスサイニングIDの再利用を試み、明示的なbootstrap修復フローを実行しない限り、クロスサイニングのリセットを避けます。 +このパスは、まず現在のsecret storageとクロス署名IDの再利用を試み、明示的なbootstrap修復フローを実行しない限りクロス署名のリセットを避けます。 -起動時に壊れたbootstrap状態が見つかり、`channels.matrix.password`が設定されている場合、OpenClawはより厳格な修復パスを試みることができます。 +起動時にbootstrap状態の破損が見つかり、`channels.matrix.password`が設定されている場合、OpenClawはより厳密な修復パスを試みることができます。 現在のデバイスがすでにowner-signedである場合、OpenClawはそのIDを自動的にリセットせず保持します。 -以前の公開Matrixプラグインからのアップグレード: +以前の公開Matrix pluginからアップグレードする場合: -- OpenClawは、可能な限り同じMatrixアカウント、アクセストークン、デバイスIDを自動的に再利用します。 -- 実行可能なMatrix移行変更が実行される前に、OpenClawは`~/Backups/openclaw-migrations/`の下にリカバリースナップショットを作成または再利用します。 -- 複数のMatrixアカウントを使用している場合、古いフラットストアレイアウトからアップグレードする前に`channels.matrix.defaultAccount`を設定して、どのアカウントがその共有レガシー状態を受け取るべきかをOpenClawが把握できるようにしてください。 -- 以前のプラグインがMatrixルームキーバックアップ復号キーをローカルに保存していた場合、起動時または`openclaw doctor --fix`がそれを新しいリカバリーキーフローに自動的にインポートします。 -- 移行の準備後にMatrixアクセストークンが変更された場合、起動時には自動バックアップ復元をあきらめる前に、保留中のレガシー復元状態を持つ兄弟トークンハッシュストレージルートをスキャンします。 -- 同じアカウント、homeserver、userに対して後からMatrixアクセストークンが変更された場合、OpenClawは空のMatrix状態ディレクトリから開始するのではなく、最も完全な既存のトークンハッシュストレージルートの再利用を優先するようになりました。 -- 次回Gateway起動時に、バックアップされたルームキーが新しいcrypto storeへ自動的に復元されます。 -- 古いプラグインにバックアップされていないローカル専用ルームキーがあった場合、OpenClawは明確に警告します。それらのキーは以前のrust crypto storeから自動エクスポートできないため、手動で回復されるまでは一部の古い暗号化履歴が引き続き利用できない可能性があります。 -- 完全なアップグレードフロー、制限、回復コマンド、一般的な移行メッセージについては、[Matrix migration](/ja-JP/install/migrating-matrix)を参照してください。 +- OpenClawは可能な限り、同じMatrixアカウント、access token、デバイスIDを自動的に再利用します。 +- 実行可能なMatrix移行変更を行う前に、OpenClawは`~/Backups/openclaw-migrations/`配下にrecovery snapshotを作成または再利用します。 +- 複数のMatrixアカウントを使用している場合は、古いフラットストアレイアウトからアップグレードする前に`channels.matrix.defaultAccount`を設定し、その共有レガシー状態をどのアカウントに割り当てるかをOpenClawが把握できるようにしてください。 +- 以前のpluginがMatrixルームキーbackup復号キーをローカル保存していた場合、起動時または`openclaw doctor --fix`がそれを新しいrecovery-keyフローへ自動的にインポートします。 +- Matrix access tokenが移行準備後に変更された場合、起動時は自動backup復元を諦める前に、保留中のレガシー復元状態を探すため兄弟トークンハッシュ保存ルートをスキャンします。 +- 同じアカウント、homeserver、ユーザーに対して後からMatrix access tokenが変わった場合、OpenClawは空のMatrix状態ディレクトリから開始する代わりに、最も完全な既存のトークンハッシュ保存ルートの再利用を優先します。 +- 次回Gateway起動時に、backup済みルームキーは自動的に新しいcrypto storeへ復元されます。 +- 古いpluginにローカルのみのルームキーがあり、それが一度もbackupされていなかった場合、OpenClawは明確に警告します。これらのキーは以前のrust crypto storeから自動エクスポートできないため、手動で復旧するまで古い暗号化履歴の一部が引き続き利用できない可能性があります。 +- アップグレード手順全体、制限、復旧コマンド、一般的な移行メッセージについては、[Matrix migration](/ja-JP/install/migrating-matrix)を参照してください。 -暗号化されたランタイム状態は、アカウントごと、ユーザーごとのトークンハッシュルート配下の -`~/.openclaw/matrix/accounts//__//`に整理されます。 -このディレクトリには、同期ストア(`bot-storage.json`)、crypto store(`crypto/`)、 -リカバリーキーファイル(`recovery-key.json`)、IndexedDBスナップショット(`crypto-idb-snapshot.json`)、 -スレッドバインディング(`thread-bindings.json`)、起動時検証状態(`startup-verification.json`) -が、それらの機能使用時に含まれます。 -トークンが変わってもアカウントIDが同じである場合、OpenClawはそのアカウント/homeserver/user組に対して最適な既存 -ルートを再利用するため、以前の同期状態、crypto状態、スレッドバインディング、 -起動時検証状態が引き続き見えるままになります。 +暗号化された実行時状態は、アカウントごと・ユーザーごとのトークンハッシュルートの下に +`~/.openclaw/matrix/accounts//__//`として整理されます。 +このディレクトリには、sync store(`bot-storage.json`)、crypto store(`crypto/`)、 +recovery keyファイル(`recovery-key.json`)、IndexedDB snapshot(`crypto-idb-snapshot.json`)、 +thread bindings(`thread-bindings.json`)、startup verification state(`startup-verification.json`) +が、それらの機能の使用時に含まれます。 +トークンが変わってもアカウントIDが同じである場合、OpenClawはそのアカウント/homeserver/ユーザー組に対して最良の既存 +ルートを再利用するため、以前のsync state、crypto state、thread bindings、 +startup verification stateが引き続き見える状態のままになります。 ### Node crypto storeモデル -このプラグインのMatrix E2EEは、Nodeにおける公式`matrix-js-sdk`のRust cryptoパスを使用します。 -そのパスでは、crypto stateを再起動後も保持したい場合、IndexedDBベースの永続化が必要です。 +このpluginのMatrix E2EEは、Node上で公式の`matrix-js-sdk` Rust cryptoパスを使用します。 +このパスでは、crypto stateを再起動後も保持したい場合、IndexedDBベースの永続化が必要です。 -OpenClawは現在、Nodeでこれを次の方法で提供しています: +OpenClawは現在、Node上でこれを次の方法で提供しています。 - SDKが期待するIndexedDB API shimとして`fake-indexeddb`を使用する -- `initRustCrypto`の前に`crypto-idb-snapshot.json`からRust crypto IndexedDB内容を復元する -- 初期化後および実行中に、更新されたIndexedDB内容を`crypto-idb-snapshot.json`へ永続化する -- Gateway実行時の永続化とCLI保守が同じスナップショットファイルで競合しないように、助言的ファイルロックで`crypto-idb-snapshot.json`に対するスナップショット復元と永続化を直列化する +- `initRustCrypto`の前に`crypto-idb-snapshot.json`からRust crypto IndexedDBの内容を復元する +- init後および実行中に、更新されたIndexedDBの内容を`crypto-idb-snapshot.json`へ永続化する +- `crypto-idb-snapshot.json`に対するsnapshotの復元と永続化を、助言的ファイルロックで直列化し、Gateway実行時の永続化とCLIメンテナンスが同じsnapshotファイルを競合しないようにする -これは互換性/ストレージの配管であり、独自の暗号実装ではありません。 -スナップショットファイルは機密ランタイム状態であり、厳しいファイル権限で保存されます。 -OpenClawのセキュリティモデルでは、GatewayホストとローカルOpenClaw状態ディレクトリはすでに信頼された運用者境界内にあるため、これは主として別個のリモート信頼境界ではなく、運用上の耐久性に関する問題です。 +これは互換性/保存のための配線であり、カスタム暗号実装ではありません。 +snapshotファイルは機密な実行時状態であり、制限の厳しいファイル権限で保存されます。 +OpenClawのセキュリティモデルでは、GatewayホストとローカルOpenClaw状態ディレクトリはすでに信頼された運用者境界内にあるため、これは主に別個のリモート信頼境界というより運用上の耐久性の問題です。 -計画中の改善: +今後の改善予定: -- 永続的なMatrix鍵素材に対するSecretRefサポートを追加し、リカバリーキーや関連するストア暗号化シークレットを、ローカルファイルだけでなくOpenClaw secrets providersから取得できるようにする +- 永続的なMatrixキーマテリアルに対するSecretRefサポートを追加し、recovery keysや関連するstore暗号化secretをローカルファイルだけでなくOpenClaw secrets providersからも取得できるようにする -## プロフィール管理 +## プロファイル管理 -選択したアカウントのMatrix self-profileを更新するには、次を使用します: +選択したアカウントのMatrix自己プロファイルを更新するには、次を使用します。 ```bash openclaw matrix profile set --name "OpenClaw Assistant" @@ -633,37 +641,37 @@ openclaw matrix profile set --avatar-url https://cdn.example.org/avatar.png 名前付きMatrixアカウントを明示的に対象にしたい場合は、`--account `を追加してください。 -Matrixは`mxc://`アバターURLを直接受け付けます。`http://`または`https://`のアバターURLを渡した場合、OpenClawはまずそれをMatrixにアップロードし、解決された`mxc://` URLを`channels.matrix.avatarUrl`(または選択したアカウントのoverride)に保存し直します。 +Matrixは`mxc://`アバターURLを直接受け付けます。`http://`または`https://`のアバターURLを渡した場合、OpenClawはまずそれをMatrixへアップロードし、解決後の`mxc://` URLを`channels.matrix.avatarUrl`(または選択したアカウントのoverride)へ保存し直します。 ## 自動検証通知 -Matrixは、検証ライフサイクル通知を厳格なDM検証ルームに`m.notice`メッセージとして直接投稿するようになりました。 -これには次が含まれます: +Matrixは、厳格なDM検証ルームに検証ライフサイクル通知を`m.notice`メッセージとして直接投稿するようになりました。 +これには以下が含まれます。 - 検証要求通知 -- 検証準備完了通知(明示的な「Verify by emoji」ガイダンス付き) -- 検証開始および完了通知 +- 検証準備完了通知(明示的な「絵文字で検証」ガイダンス付き) +- 検証開始通知と完了通知 - 利用可能な場合のSAS詳細(絵文字と10進数) -別のMatrixクライアントからの受信検証要求は、OpenClawによって追跡され自動承認されます。 -自己検証フローでは、絵文字検証が利用可能になるとOpenClawはSASフローも自動開始し、自分側を確認します。 -別のMatrixユーザー/デバイスからの検証要求では、OpenClawは要求を自動承認し、その後SASフローが通常どおり進行するのを待ちます。 -検証を完了するには、引き続きご利用のMatrixクライアントで絵文字または10進数SASを比較し、「They match」を確認する必要があります。 +別のMatrixクライアントからの受信検証要求は追跡され、OpenClawによって自動承認されます。 +自己検証フローでは、絵文字検証が利用可能になるとOpenClawも自動的にSASフローを開始し、自身の側を確認します。 +別のMatrix user/deviceからの検証要求では、OpenClawは要求を自動承認し、その後SASフローが通常どおり進むのを待ちます。 +検証を完了するには、引き続きあなたのMatrixクライアントで絵文字または10進数のSASを比較し、「一致する」を確認する必要があります。 -OpenClawは、自己開始の重複フローを無条件に自動承認することはありません。自己検証要求がすでに保留中の場合、起動時に新しい要求は作成されません。 +OpenClawは、自己開始の重複フローを無条件には自動承認しません。自己検証要求がすでに保留中の場合、起動時には新しい要求の作成をスキップします。 -検証プロトコル/システム通知はエージェントチャットパイプラインへ転送されないため、`NO_REPLY`は発生しません。 +検証プロトコル/システム通知はagent chat pipelineには転送されないため、`NO_REPLY`は生成されません。 ### デバイス衛生 -古いOpenClaw管理のMatrixデバイスがアカウント上に蓄積し、暗号化ルームの信頼を把握しにくくすることがあります。 -一覧表示するには次を使います: +OpenClawが管理する古いMatrixデバイスはアカウント上に蓄積し、暗号化ルームの信頼状態を把握しにくくすることがあります。 +次で一覧表示できます。 ```bash openclaw matrix devices list ``` -古いOpenClaw管理デバイスを削除するには次を使います: +古いOpenClaw管理デバイスを削除するには、次を使用します。 ```bash openclaw matrix devices prune-stale @@ -671,65 +679,65 @@ openclaw matrix devices prune-stale ### Direct Room Repair -ダイレクトメッセージ状態が同期ずれを起こすと、OpenClawはライブDMではなく古い1人用ルームを指す古い`m.direct`マッピングを持つことがあります。ピアに対する現在のマッピングを調べるには次を使います: +ダイレクトメッセージ状態の同期が崩れると、OpenClawが古いソロルームを指す古い`m.direct`マッピングを保持し、ライブDMではなくそちらを参照してしまうことがあります。相手との現在のマッピングを調べるには、次を使用します。 ```bash openclaw matrix direct inspect --user-id @alice:example.org ``` -修復するには次を使います: +修復するには、次を使用します。 ```bash openclaw matrix direct repair --user-id @alice:example.org ``` -修復では、Matrix固有ロジックをプラグイン内に保ちます: +修復処理では、Matrix固有のロジックをplugin内に保持します。 -- すでに`m.direct`にマップされている厳格な1:1 DMを優先する -- それ以外では、そのユーザーとの現在参加中の厳格な1:1 DMにフォールバックする -- 健全なDMが存在しない場合は、新しいダイレクトルームを作成し、`m.direct`をそれに向けて書き換える +- まず、`m.direct`にすでにマッピングされている厳密な1対1 DMを優先します +- それがなければ、そのユーザーとの現在参加中の厳密な1対1 DMにフォールバックします +- 正常なDMが存在しない場合は、新しいダイレクトルームを作成し、`m.direct`を書き換えてそれを指すようにします -修復フローは古いルームを自動削除しません。健全なDMを選び、マッピングを更新するだけで、新しいMatrix送信、検証通知、その他のダイレクトメッセージフローが再び正しいルームを対象にするようになります。 +修復フローは古いルームを自動削除しません。正常なDMを選択し、マッピングを更新するだけで、その後の新しいMatrix送信、検証通知、その他のダイレクトメッセージフローが再び正しいルームを対象にするようにします。 ## スレッド Matrixは、自動返信とmessage-tool送信の両方でネイティブMatrixスレッドをサポートします。 -- `dm.sessionScope: "per-user"`(デフォルト)は、Matrix DMルーティングを送信者スコープで維持するため、同じ相手に解決される複数のDMルームが1つのセッションを共有できます。 -- `dm.sessionScope: "per-room"`は、通常のDM認証と許可リストチェックを使いながら、各Matrix DMルームを独自のセッションキーに分離します。 -- 明示的なMatrix会話バインディングは引き続き`dm.sessionScope`より優先されるため、バインド済みルームやスレッドは選択された対象セッションを維持します。 -- `threadReplies: "off"`は、返信をトップレベルのままにし、受信スレッドメッセージを親セッション上に保ちます。 +- `dm.sessionScope: "per-user"`(デフォルト)は、Matrix DMルーティングを送信者スコープのままにするため、同じ相手に解決される複数のDMルームで1つのセッションを共有できます。 +- `dm.sessionScope: "per-room"`は、通常のDM認証とallowlistチェックを使いながら、各Matrix DMルームをそれぞれ独立したセッションキーに分離します。 +- 明示的なMatrix会話バインディングは引き続き`dm.sessionScope`より優先されるため、バインド済みのルームとスレッドは選択された対象セッションを維持します。 +- `threadReplies: "off"`は、返信をトップレベルのままにし、受信スレッドメッセージを親セッション上に維持します。 - `threadReplies: "inbound"`は、受信メッセージがすでにそのスレッド内にあった場合にのみスレッド内で返信します。 -- `threadReplies: "always"`は、ルーム返信をトリガーメッセージをルートとするスレッド内に保ち、その会話を最初のトリガーメッセージから対応するスレッドスコープのセッションを通じてルーティングします。 -- `dm.threadReplies`は、DMに対してのみトップレベル設定を上書きします。たとえば、ルームスレッドを分離したまま、DMはフラットに保てます。 -- 受信スレッドメッセージには、追加のagent contextとしてスレッドルートメッセージが含まれます。 -- message-tool送信は、対象が同じルーム、または同じDMユーザー対象である場合、明示的な`threadId`が指定されない限り、現在のMatrixスレッドを自動継承するようになりました。 -- 同一セッションのDMユーザー対象再利用が有効になるのは、現在のセッションメタデータによって同じMatrixアカウント上の同じDM相手であることが証明される場合だけです。それ以外では、OpenClawは通常のユーザースコープルーティングにフォールバックします。 -- OpenClawが、同じ共有Matrix DMセッション上であるMatrix DMルームが別のDMルームと衝突していることを検出した場合、スレッドバインディングが有効で`dm.sessionScope`ヒントがあると、そのルームに`/focus`エスケープハッチ付きの一度限りの`m.notice`を投稿します。 -- Matrixはランタイムスレッドバインディングをサポートしています。`/focus`、`/unfocus`、`/agents`、`/session idle`、`/session max-age`、およびスレッドバインドされた`/acp spawn`は、MatrixルームとDMで動作するようになりました。 +- `threadReplies: "always"`は、ルーム返信をトリガーメッセージをルートとするスレッドに維持し、その会話を最初のトリガーメッセージに対応するスレッドスコープのセッション経由でルーティングします。 +- `dm.threadReplies`は、DMに限ってトップレベル設定を上書きします。たとえば、ルームスレッドは分離したまま、DMはフラットに保てます。 +- 受信スレッドメッセージには、追加のagentコンテキストとしてスレッドルートメッセージが含まれます。 +- message-tool送信は、対象が同じルーム、または同じDMユーザー対象である場合、明示的な`threadId`が指定されていなければ、現在のMatrixスレッドを自動継承します。 +- 同一セッションのDMユーザー対象再利用は、現在のセッションメタデータが同じMatrixアカウント上の同じDM相手を証明できる場合にのみ有効で、それ以外ではOpenClawは通常のユーザースコープルーティングにフォールバックします。 +- OpenClawが、同じ共有Matrix DMセッション上で別のDMルームと衝突するMatrix DMルームを検出した場合、スレッドバインディングが有効で`dm.sessionScope`のヒントがあると、そのルームに1回限りの`m.notice`を投稿し、`/focus`というエスケープハッチを案内します。 +- Matrixでは実行時スレッドバインディングがサポートされます。`/focus`、`/unfocus`、`/agents`、`/session idle`、`/session max-age`、およびスレッドバインドされた`/acp spawn`が、MatrixルームとDMで動作します。 - トップレベルのMatrixルーム/DMでの`/focus`は、`threadBindings.spawnSubagentSessions=true`のとき、新しいMatrixスレッドを作成し、それを対象セッションにバインドします。 -- 既存のMatrixスレッド内で`/focus`または`/acp spawn --thread here`を実行すると、代わりにその現在のスレッドをバインドします。 +- 既存のMatrixスレッド内で`/focus`または`/acp spawn --thread here`を実行した場合は、代わりにその現在のスレッドをバインドします。 ## ACP会話バインディング -Matrixルーム、DM、既存のMatrixスレッドは、チャット面を変更せずに永続的なACPワークスペースへ変換できます。 +Matrixルーム、DM、既存のMatrixスレッドは、チャット画面を変えずに永続的なACPワークスペースへ変換できます。 高速な運用フロー: -- 使用し続けたいMatrix DM、ルーム、または既存スレッド内で`/acp spawn codex --bind here`を実行します。 -- トップレベルのMatrix DMまたはルームでは、現在のDM/ルームがチャット面のまま維持され、今後のメッセージは生成されたACPセッションへルーティングされます。 -- 既存のMatrixスレッド内では、`--bind here`がその現在のスレッドをその場でバインドします。 +- 使い続けたいMatrix DM、ルーム、または既存スレッドの中で`/acp spawn codex --bind here`を実行します。 +- トップレベルのMatrix DMまたはルームでは、現在のDM/ルームがチャット画面のまま維持され、今後のメッセージは生成されたACPセッションにルーティングされます。 +- 既存のMatrixスレッド内では、`--bind here`はその現在のスレッドをその場でバインドします。 - `/new`と`/reset`は、同じバインド済みACPセッションをその場でリセットします。 -- `/acp close`はACPセッションを閉じ、バインディングを削除します。 +- `/acp close`は、ACPセッションを閉じてバインディングを削除します。 -注意: +注記: -- `--bind here`は子Matrixスレッドを作成しません。 -- `threadBindings.spawnAcpSessions`が必要になるのは、OpenClawが子Matrixスレッドを作成またはバインドする必要がある`/acp spawn --thread auto|here`の場合だけです。 +- `--bind here`は子のMatrixスレッドを作成しません。 +- `threadBindings.spawnAcpSessions`が必要なのは`/acp spawn --thread auto|here`の場合のみで、そのときOpenClawは子のMatrixスレッドを作成またはバインドする必要があります。 ### Thread Binding Config -Matrixは`session.threadBindings`からグローバルデフォルトを継承し、チャネルごとのoverrideもサポートします: +Matrixは`session.threadBindings`からグローバルデフォルトを継承し、チャネルごとのoverrideもサポートします。 - `threadBindings.enabled` - `threadBindings.idleHours` @@ -737,67 +745,67 @@ Matrixは`session.threadBindings`からグローバルデフォルトを継承 - `threadBindings.spawnSubagentSessions` - `threadBindings.spawnAcpSessions` -Matrixのスレッドバインドspawnフラグはオプトインです: +Matrixのスレッドバインドspawnフラグはオプトインです。 -- トップレベルの`/focus`で新しいMatrixスレッドの作成とバインドを許可するには、`threadBindings.spawnSubagentSessions: true`を設定します。 -- `/acp spawn --thread auto|here`でACPセッションをMatrixスレッドへバインドできるようにするには、`threadBindings.spawnAcpSessions: true`を設定します。 +- トップレベルの`/focus`で新しいMatrixスレッドを作成してバインドできるようにするには、`threadBindings.spawnSubagentSessions: true`を設定します。 +- `/acp spawn --thread auto|here`でACPセッションをMatrixスレッドにバインドできるようにするには、`threadBindings.spawnAcpSessions: true`を設定します。 ## リアクション -Matrixは、送信リアクションアクション、受信リアクション通知、受信ackリアクションをサポートします。 +Matrixは、送信リアクション操作、受信リアクション通知、受信ackリアクションをサポートします。 - 送信リアクションtoolingは`channels["matrix"].actions.reactions`で制御されます。 - `react`は、特定のMatrixイベントにリアクションを追加します。 -- `reactions`は、特定のMatrixイベントに対する現在のリアクション要約を一覧表示します。 -- `emoji=""`は、そのイベントに対するボットアカウント自身のリアクションを削除します。 -- `remove: true`は、ボットアカウントから指定された絵文字リアクションだけを削除します。 +- `reactions`は、特定のMatrixイベントに対する現在のリアクション概要を一覧表示します。 +- `emoji=""`は、そのイベント上のbotアカウント自身のリアクションを削除します。 +- `remove: true`は、botアカウントの指定した絵文字リアクションのみを削除します。 -ackリアクションは、標準のOpenClaw解決順序を使用します: +ackリアクションは、標準のOpenClaw解決順序を使用します。 - `channels["matrix"].accounts..ackReaction` - `channels["matrix"].ackReaction` - `messages.ackReaction` -- agent identity emoji fallback +- agent IDの絵文字フォールバック -ackリアクションスコープは次の順序で解決されます: +ackリアクションスコープは次の順で解決されます。 - `channels["matrix"].accounts..ackReactionScope` - `channels["matrix"].ackReactionScope` - `messages.ackReactionScope` -リアクション通知モードは次の順序で解決されます: +リアクション通知モードは次の順で解決されます。 - `channels["matrix"].accounts..reactionNotifications` - `channels["matrix"].reactionNotifications` - デフォルト: `own` -現在の挙動: +現在の動作: -- `reactionNotifications: "own"`は、ボット作成のMatrixメッセージを対象にした追加済み`m.reaction`イベントを転送します。 +- `reactionNotifications: "own"`は、botが作成したMatrixメッセージを対象とする追加済み`m.reaction`イベントを転送します。 - `reactionNotifications: "off"`は、リアクションシステムイベントを無効にします。 -- Matrixではリアクション削除が単独の`m.reaction`削除ではなくredactionsとして現れるため、リアクション削除はまだシステムイベントに合成されません。 +- リアクション削除は、Matrixではそれが独立した`m.reaction`削除ではなくredactionとして表現されるため、依然としてシステムイベントには合成されません。 ## 履歴コンテキスト - `channels.matrix.historyLimit`は、Matrixルームメッセージがagentをトリガーしたときに`InboundHistory`として含める最近のルームメッセージ数を制御します。 -- これは`messages.groupChat.historyLimit`にフォールバックします。無効にするには`0`を設定してください。 +- これは`messages.groupChat.historyLimit`にフォールバックします。両方とも未設定の場合、有効なデフォルトは`0`であるため、メンション制御されたルームメッセージはバッファされません。無効にするには`0`を設定します。 - Matrixルーム履歴はルーム専用です。DMは引き続き通常のセッション履歴を使用します。 -- Matrixルーム履歴はpending-onlyです。OpenClawはまだ返信をトリガーしていないルームメッセージをバッファし、メンションや他のトリガーが到着したときにそのウィンドウをスナップショットします。 -- 現在のトリガーメッセージは`InboundHistory`には含まれません。そのターンのメイン受信本文に残ります。 -- 同じMatrixイベントの再試行では、新しいルームメッセージへ前進してずれるのではなく、元の履歴スナップショットが再利用されます。 +- Matrixルーム履歴はpendingのみです。OpenClawは、まだ返信をトリガーしていないルームメッセージをバッファし、メンションや他のトリガーが到着したときにそのウィンドウをsnapshotします。 +- 現在のトリガーメッセージ自体は`InboundHistory`に含まれず、そのターンのメインの受信本文に残ります。 +- 同じMatrixイベントの再試行では、新しいルームメッセージへ前進してずれることなく、元の履歴snapshotを再利用します。 ## コンテキスト可視性 -Matrixは、取得された返信テキスト、スレッドルート、保留履歴などの補足ルームコンテキストに対する共有の`contextVisibility`制御をサポートします。 +Matrixは、取得した返信テキスト、スレッドルート、保留中履歴などの補助的なルームコンテキストに対して、共有の`contextVisibility`制御をサポートします。 -- `contextVisibility: "all"`がデフォルトです。補足コンテキストは受信したまま保持されます。 -- `contextVisibility: "allowlist"`は、アクティブなルーム/ユーザー許可リストチェックで許可された送信者に補足コンテキストを絞り込みます。 +- `contextVisibility: "all"`がデフォルトです。補助コンテキストは受信したまま保持されます。 +- `contextVisibility: "allowlist"`は、補助コンテキストを、アクティブなルーム/ユーザーallowlistチェックで許可された送信者に絞り込みます。 - `contextVisibility: "allowlist_quote"`は`allowlist`と同様に動作しますが、明示的な引用返信を1つだけ保持します。 -この設定は補足コンテキストの可視性に影響するものであり、受信メッセージ自体が返信をトリガーできるかどうかには影響しません。 -トリガー認可は引き続き`groupPolicy`、`groups`、`groupAllowFrom`、およびDMポリシー設定から行われます。 +この設定が影響するのは補助コンテキストの可視性であり、受信メッセージ自体が返信をトリガーできるかどうかではありません。 +トリガーの認可は、引き続き`groupPolicy`、`groups`、`groupAllowFrom`、DMポリシー設定によって決まります。 -## DMとルームのポリシー例 +## DMとルームポリシーの例 ```json5 { @@ -820,54 +828,54 @@ Matrixは、取得された返信テキスト、スレッドルート、保留 } ``` -メンションゲーティングと許可リストの挙動については、[グループ](/ja-JP/channels/groups)を参照してください。 +メンション制御とallowlistの動作については、[Groups](/ja-JP/channels/groups)を参照してください。 -Matrix DMのペアリング例: +Matrix DMのpairing例: ```bash openclaw pairing list matrix openclaw pairing approve matrix ``` -未承認のMatrixユーザーが承認前に繰り返しメッセージを送ってきた場合、OpenClawは同じ保留中のペアリングコードを再利用し、新しいコードを発行する代わりに、短いクールダウン後に再度リマインダー返信を送ることがあります。 +未承認のMatrixユーザーが承認前に繰り返しメッセージを送ってきた場合、OpenClawは同じ保留中pairingコードを再利用し、新しいコードを発行する代わりに、短いクールダウン後に再度リマインダー返信を送ることがあります。 -共有のDMペアリングフローと保存レイアウトについては、[ペアリング](/ja-JP/channels/pairing)を参照してください。 +共有のDM pairingフローと保存レイアウトについては、[Pairing](/ja-JP/channels/pairing)を参照してください。 -## Exec承認 +## Exec approvals -Matrixは、Matrixアカウントのexec承認クライアントとして機能できます。 +Matrixは、Matrixアカウント向けのexec approvalクライアントとして機能できます。 - `channels.matrix.execApprovals.enabled` -- `channels.matrix.execApprovals.approvers`(任意。`channels.matrix.dm.allowFrom`にフォールバック) +- `channels.matrix.execApprovals.approvers`(任意。未設定時は`channels.matrix.dm.allowFrom`にフォールバック) - `channels.matrix.execApprovals.target`(`dm` | `channel` | `both`、デフォルト: `dm`) - `channels.matrix.execApprovals.agentFilter` - `channels.matrix.execApprovals.sessionFilter` -承認者は`@owner:example.org`のようなMatrix user IDである必要があります。`enabled`が未設定または`"auto"`で、`execApprovals.approvers`または`channels.matrix.dm.allowFrom`のいずれかから少なくとも1人の承認者を解決できる場合、Matrixはネイティブexec承認を自動有効化します。Matrixをネイティブ承認クライアントとして明示的に無効化するには、`enabled: false`を設定してください。そうしない場合、承認要求は他の設定済み承認経路またはexec承認フォールバックポリシーへフォールバックします。 +承認者は、`@owner:example.org`のようなMatrix user IDである必要があります。`enabled`が未設定または`"auto"`で、`execApprovals.approvers`または`channels.matrix.dm.allowFrom`のいずれかから少なくとも1人の承認者を解決できる場合、Matrixはネイティブexec approvalsを自動有効化します。ネイティブapprovalクライアントとしてのMatrixを明示的に無効にするには、`enabled: false`を設定してください。それ以外の場合、approval requestsは他の設定済みapproval routesまたはexec approval fallback policyにフォールバックします。 -現在、ネイティブMatrixルーティングはexec専用です: +現在、ネイティブMatrixルーティングはexec専用です。 -- `channels.matrix.execApprovals.*`は、exec承認専用のネイティブDM/チャネルルーティングを制御します。 -- プラグイン承認は、引き続き共有の同一チャット`/approve`と設定済みの`approvals.plugin`転送を使用します。 -- Matrixは、承認者を安全に推論できる場合、プラグイン承認の認可のために`channels.matrix.dm.allowFrom`を再利用できますが、ネイティブなプラグイン承認DM/チャネルfanout経路は別途公開しません。 +- `channels.matrix.execApprovals.*`は、exec approvals専用のネイティブDM/チャネルルーティングを制御します。 +- Plugin approvalsは引き続き、共有の同一チャット内`/approve`と、設定済みであれば`approvals.plugin`転送を使用します。 +- Matrixは、承認者を安全に推測できる場合、plugin-approval認可のために`channels.matrix.dm.allowFrom`を再利用できますが、ネイティブの個別plugin-approval DM/チャネルfanoutパスは公開しません。 配信ルール: -- `target: "dm"`は、承認プロンプトを承認者DMへ送信します -- `target: "channel"`は、プロンプトを発生元のMatrixルームまたはDMへ送り返します -- `target: "both"`は、承認者DMと発生元のMatrixルームまたはDMの両方へ送信します +- `target: "dm"`は、承認プロンプトを承認者のDMへ送信します +- `target: "channel"`は、プロンプトを元のMatrixルームまたはDMへ送り返します +- `target: "both"`は、承認者のDMと元のMatrixルームまたはDMの両方へ送信します -Matrix承認プロンプトは、主要な承認メッセージ上にリアクションショートカットを設定します: +Matrix approval promptsは、主たるapprovalメッセージにリアクションショートカットを設定します。 - `✅` = 一度だけ許可 - `❌` = 拒否 -- `♾️` = 有効なexecポリシーでその判断が許可されている場合に常に許可 +- `♾️` = 有効なexec policyでその判断が許可される場合は常に許可 -承認者はそのメッセージにリアクションするか、フォールバックのスラッシュコマンド `/approve allow-once`、`/approve allow-always`、または`/approve deny`を使えます。 +承認者は、そのメッセージにリアクションするか、フォールバックのスラッシュコマンド `/approve allow-once`、`/approve allow-always`、または`/approve deny`を使えます。 -承認または拒否できるのは解決済み承認者だけです。チャネル配信ではコマンドテキストが含まれるため、`channel`または`both`は信頼できるルームでのみ有効にしてください。 +承認または拒否できるのは、解決済みの承認者のみです。チャネル配信にはコマンドテキストが含まれるため、`channel`または`both`は信頼されたルームでのみ有効にしてください。 -Matrix承認プロンプトは共有のコア承認プランナーを再利用します。Matrix固有のネイティブ面は、exec承認のためのトランスポートのみです: ルーム/DMルーティング、およびメッセージ送信/更新/削除の挙動です。 +Matrix approval promptsは、共有のコアapproval plannerを再利用します。Matrix固有のネイティブ画面は、exec approvalsのためのトランスポートのみです: ルーム/DMルーティングと、メッセージ送信/更新/削除の動作です。 アカウントごとのoverride: @@ -875,7 +883,7 @@ Matrix承認プロンプトは共有のコア承認プランナーを再利用 関連ドキュメント: [Exec approvals](/ja-JP/tools/exec-approvals) -## マルチアカウント例 +## 複数アカウントの例 ```json5 { @@ -905,22 +913,22 @@ Matrix承認プロンプトは共有のコア承認プランナーを再利用 } ``` -トップレベルの`channels.matrix`値は、アカウントがoverrideしない限り、名前付きアカウントのデフォルトとして機能します。 -継承されたルームエントリは、`groups..account`(またはレガシーの`rooms..account`)で1つのMatrixアカウントにスコープできます。 -`account`のないエントリはすべてのMatrixアカウントで共有されたままとなり、`account: "default"`付きのエントリは、デフォルトアカウントがトップレベルの`channels.matrix.*`に直接設定されている場合にも引き続き機能します。 -共有認証デフォルトが部分的にあるだけでは、それ自体で別の暗黙のデフォルトアカウントは作成されません。OpenClawがトップレベルの`default`アカウントを合成するのは、そのデフォルトに新しい認証(`homeserver` + `accessToken`、または`homeserver` + `userId` + `password`)がある場合だけです。名前付きアカウントは、後でキャッシュ済み認証情報が認証要件を満たす場合、`homeserver` + `userId`からでも引き続き検出可能にできます。 -Matrixにすでに名前付きアカウントがちょうど1つある場合、または`defaultAccount`が既存の名前付きアカウントキーを指している場合、単一アカウントからマルチアカウントへの修復/セットアップ昇格では、新しい`accounts.default`エントリを作成せず、そのアカウントが保持されます。その昇格したアカウントに移されるのはMatrix認証/bootstrapキーだけであり、共有配信ポリシーキーはトップレベルに残ります。 -暗黙的なルーティング、プローブ、CLI操作で1つの名前付きMatrixアカウントを優先させたい場合は、`defaultAccount`を設定してください。 -複数の名前付きアカウントを設定する場合は、暗黙的なアカウント選択に依存するCLIコマンドに対して`defaultAccount`を設定するか、`--account `を渡してください。 -1つのコマンドだけでその暗黙の選択を上書きしたい場合は、`openclaw matrix verify ...`と`openclaw matrix devices ...`に`--account `を渡してください。 +トップレベルの`channels.matrix`値は、アカウント側でoverrideされない限り、名前付きアカウントのデフォルトとして機能します。 +継承されたルームエントリを1つのMatrixアカウントに限定するには、`groups..account`(またはレガシーの`rooms..account`)を使用できます。 +`account`のないエントリはすべてのMatrixアカウントで共有され、`account: "default"`付きエントリも、デフォルトアカウントがトップレベル`channels.matrix.*`に直接設定されている場合は引き続き動作します。 +共有認証デフォルトが部分的に設定されているだけでは、それ自体で別個の暗黙のデフォルトアカウントは作成されません。OpenClawがトップレベルの`default`アカウントを合成するのは、そのデフォルトに新しい認証情報(`homeserver` + `accessToken`、または`homeserver` + `userId`と`password`)がある場合のみです。名前付きアカウントは、あとでキャッシュ済み認証情報が認証要件を満たすなら、`homeserver` + `userId`だけでも引き続き検出可能なままにできます。 +Matrixにすでに名前付きアカウントがちょうど1つある場合、または`defaultAccount`が既存の名前付きアカウントキーを指している場合、単一アカウントから複数アカウントへの修復/セットアップ昇格では、新しい`accounts.default`エントリを作成せず、そのアカウントを保持します。昇格されたアカウントへ移動するのはMatrix auth/bootstrapキーのみで、共有配信ポリシーキーはトップレベルに残ります。 +暗黙のルーティング、プローブ、CLI操作で1つの名前付きMatrixアカウントを優先したい場合は、`defaultAccount`を設定してください。 +複数の名前付きアカウントを設定する場合は、暗黙のアカウント選択に依存するCLIコマンドで`defaultAccount`を設定するか、`--account `を渡してください。 +1つのコマンドだけその暗黙選択を上書きしたい場合は、`openclaw matrix verify ...`と`openclaw matrix devices ...`に`--account `を渡してください。 -## プライベート/LAN homeserver +## プライベート/LAN homeservers -デフォルトでは、OpenClawはSSRF保護のため、プライベート/内部のMatrix homeserverをブロックします。 -明示的にアカウント単位でオプトインしない限り、接続できません。 +デフォルトでは、OpenClawはSSRF保護のため、private/internal Matrix homeserversをブロックします。 +アカウントごとに明示的にオプトインしない限り接続できません。 -homeserverがlocalhost、LAN/Tailscale IP、または内部ホスト名で動作している場合は、 -そのMatrixアカウントで`allowPrivateNetwork`を有効にしてください: +homeserverがlocalhost、LAN/Tailscale IP、または内部ホスト名上で動作している場合は、 +そのMatrixアカウントで`allowPrivateNetwork`を有効にしてください。 ```json5 { @@ -944,12 +952,12 @@ openclaw matrix account add \ --access-token syt_ops_xxx ``` -このオプトインは、信頼されたプライベート/内部ターゲットのみを許可します。 -`http://matrix.example.org:8008`のような公開クリアテキストhomeserverは引き続きブロックされます。可能な限り`https://`を推奨します。 +このオプトインは、信頼されたprivate/internal targetsのみを許可します。`http://matrix.example.org:8008`のような +公開の平文homeserversは引き続きブロックされます。可能な限り`https://`を使用してください。 ## Matrixトラフィックのプロキシ -Matrixデプロイで明示的な送信HTTP(S)プロキシが必要な場合は、`channels.matrix.proxy`を設定します: +Matrixデプロイで明示的な送信HTTP(S) proxyが必要な場合は、`channels.matrix.proxy`を設定します。 ```json5 { @@ -964,85 +972,86 @@ Matrixデプロイで明示的な送信HTTP(S)プロキシが必要な場合は ``` 名前付きアカウントは、`channels.matrix.accounts..proxy`でトップレベルのデフォルトをoverrideできます。 -OpenClawは、実行時のMatrixトラフィックとアカウントステータスプローブの両方に同じプロキシ設定を使用します。 +OpenClawは、実行時のMatrixトラフィックとアカウント状態のプローブの両方で同じproxy設定を使用します。 ## ターゲット解決 -OpenClawがルームまたはユーザーターゲットを求める場面では、Matrixは次のターゲット形式を受け付けます: +Matrixは、OpenClawがルームまたはユーザー対象の入力を求めるあらゆる場所で、次のターゲット形式を受け付けます。 -- ユーザー: `@user:server`, `user:@user:server`, または `matrix:user:@user:server` -- ルーム: `!room:server`, `room:!room:server`, または `matrix:room:!room:server` -- エイリアス: `#alias:server`, `channel:#alias:server`, または `matrix:channel:#alias:server` +- ユーザー: `@user:server`、`user:@user:server`、または`matrix:user:@user:server` +- ルーム: `!room:server`、`room:!room:server`、または`matrix:room:!room:server` +- エイリアス: `#alias:server`、`channel:#alias:server`、または`matrix:channel:#alias:server` -ライブディレクトリ検索は、ログイン済みのMatrixアカウントを使用します: +ライブディレクトリ検索は、ログイン済みMatrixアカウントを使用します。 -- ユーザー検索は、そのhomeserver上のMatrix user directoryを照会します。 -- ルーム検索では、明示的なルームIDとエイリアスを直接受け付け、その後そのアカウントの参加済みルーム名検索へフォールバックします。 -- 参加済みルーム名検索はベストエフォートです。ルーム名をIDまたはエイリアスに解決できない場合、実行時の許可リスト解決では無視されます。 +- ユーザー検索は、そのhomeserverのMatrix user directoryに問い合わせます。 +- ルーム検索は、明示的なルームIDとエイリアスを直接受け付けた後、そのアカウントの参加済みルーム名検索にフォールバックします。 +- 参加済みルーム名検索はベストエフォートです。ルーム名をIDまたはエイリアスに解決できない場合、実行時allowlist解決では無視されます。 -## 設定リファレンス +## Configuration reference - `enabled`: チャネルを有効または無効にします。 -- `name`: アカウントの任意ラベル。 -- `defaultAccount`: 複数のMatrixアカウントが設定されているときの優先アカウントID。 +- `name`: アカウント用の任意ラベル。 +- `defaultAccount`: 複数のMatrixアカウントが設定されている場合の優先アカウントID。 - `homeserver`: homeserver URL。例: `https://matrix.example.org`。 -- `allowPrivateNetwork`: このMatrixアカウントがプライベート/内部homeserverへ接続することを許可します。homeserverが`localhost`、LAN/Tailscale IP、または`matrix-synapse`のような内部ホストに解決される場合に有効化してください。 -- `proxy`: Matrixトラフィック用の任意のHTTP(S)プロキシURL。名前付きアカウントは独自の`proxy`でトップレベルデフォルトをoverrideできます。 +- `allowPrivateNetwork`: このMatrixアカウントがprivate/internal homeserversへ接続することを許可します。homeserverが`localhost`、LAN/Tailscale IP、または`matrix-synapse`のような内部ホストに解決される場合に有効にしてください。 +- `proxy`: Matrixトラフィック用の任意のHTTP(S) proxy URL。名前付きアカウントは独自の`proxy`でトップレベルデフォルトをoverrideできます。 - `userId`: 完全なMatrix user ID。例: `@bot:example.org`。 -- `accessToken`: トークンベース認証用アクセストークン。`channels.matrix.accessToken`および`channels.matrix.accounts..accessToken`では、env/file/exec providers全体でプレーンテキスト値とSecretRef値がサポートされます。[Secrets Management](/ja-JP/gateway/secrets)を参照してください。 -- `password`: パスワードベースログイン用パスワード。プレーンテキスト値とSecretRef値がサポートされます。 +- `accessToken`: トークンベース認証用のaccess token。`channels.matrix.accessToken`および`channels.matrix.accounts..accessToken`では、env/file/exec providers全体でプレーンテキスト値とSecretRef値をサポートします。詳細は[Secrets Management](/ja-JP/gateway/secrets)を参照してください。 +- `password`: パスワードベースログイン用のpassword。プレーンテキスト値とSecretRef値をサポートします。 - `deviceId`: 明示的なMatrix device ID。 -- `deviceName`: パスワードログイン用デバイス表示名。 -- `avatarUrl`: プロフィール同期と`set-profile`更新用に保存されるself-avatar URL。 -- `initialSyncLimit`: 起動時同期イベント上限。 -- `encryption`: E2EEを有効化します。 -- `allowlistOnly`: DMとルームに対して許可リスト専用動作を強制します。 +- `deviceName`: パスワードログイン用のデバイス表示名。 +- `avatarUrl`: プロファイル同期と`set-profile`更新に使う保存済み自己アバターURL。 +- `initialSyncLimit`: 起動時syncイベント上限。 +- `encryption`: E2EEを有効にします。 +- `allowlistOnly`: DMとルームでallowlistのみの動作を強制します。 - `allowBots`: 他の設定済みOpenClaw Matrixアカウントからのメッセージを許可します(`true`または`"mentions"`)。 - `groupPolicy`: `open`、`allowlist`、または`disabled`。 -- `contextVisibility`: 補足ルームコンテキストの可視性モード(`all`、`allowlist`、`allowlist_quote`)。 -- `groupAllowFrom`: ルームトラフィック用のuser ID許可リスト。 -- `groupAllowFrom`エントリは完全なMatrix user IDである必要があります。解決されない名前は実行時に無視されます。 -- `historyLimit`: グループ履歴コンテキストに含めるルームメッセージ最大数。`messages.groupChat.historyLimit`にフォールバックします。無効にするには`0`を設定してください。 +- `contextVisibility`: 補助ルームコンテキストの可視性モード(`all`、`allowlist`、`allowlist_quote`)。 +- `groupAllowFrom`: ルームトラフィック用user IDのallowlist。 +- `groupAllowFrom`エントリは完全なMatrix user IDである必要があります。未解決名は実行時に無視されます。 +- `historyLimit`: グループ履歴コンテキストとして含めるルームメッセージの最大数。`messages.groupChat.historyLimit`にフォールバックし、両方未設定なら有効デフォルトは`0`です。無効にするには`0`を設定します。 - `replyToMode`: `off`、`first`、または`all`。 - `markdown`: 送信Matrixテキスト用の任意のMarkdownレンダリング設定。 -- `streaming`: `off`(デフォルト)、`partial`、`quiet`、`true`、または`false`。`partial`と`true`は通常のMatrixテキストメッセージでプレビュー優先ドラフト更新を有効にします。`quiet`はセルフホストのプッシュルール構成向けに通知しないプレビュー通知を使用します。 -- `blockStreaming`: `true`は、ドラフトプレビューのストリーミングが有効な間、完了済みassistantブロックの個別進捗メッセージを有効にします。 +- `streaming`: `off`(デフォルト)、`partial`、`quiet`、`true`、または`false`。`partial`と`true`は、通常のMatrixテキストメッセージによるプレビュー先行の下書き更新を有効にします。`quiet`は、セルフホストpush-rule構成向けの通知しないプレビュー通知を使います。 +- `blockStreaming`: `true`は、下書きプレビュー ストリーミングがアクティブな間、完了済みassistantブロックごとの個別進捗メッセージを有効にします。 - `threadReplies`: `off`、`inbound`、または`always`。 -- `threadBindings`: スレッドバインドセッションルーティングとライフサイクルのチャネルごとのoverride。 +- `threadBindings`: スレッドバインドされたセッションルーティングとライフサイクルのチャネルごとのoverride。 - `startupVerification`: 起動時の自動自己検証要求モード(`if-unverified`、`off`)。 -- `startupVerificationCooldownHours`: 起動時自動検証要求を再試行する前のクールダウン。 -- `textChunkLimit`: 送信メッセージチャンクサイズ。 +- `startupVerificationCooldownHours`: 自動起動時検証要求の再試行までのクールダウン。 +- `textChunkLimit`: 送信メッセージのchunkサイズ。 - `chunkMode`: `length`または`newline`。 -- `responsePrefix`: 送信返信用の任意メッセージ接頭辞。 +- `responsePrefix`: 送信返信用の任意のメッセージ接頭辞。 - `ackReaction`: このチャネル/アカウント用の任意のackリアクションoverride。 - `ackReactionScope`: 任意のackリアクションスコープoverride(`group-mentions`、`group-all`、`direct`、`all`、`none`、`off`)。 - `reactionNotifications`: 受信リアクション通知モード(`own`、`off`)。 -- `mediaMaxMb`: Matrixメディア処理用のMB単位メディアサイズ上限。送信と受信メディア処理の両方に適用されます。 -- `autoJoin`: 招待の自動参加ポリシー(`always`、`allowlist`、`off`)。デフォルト: `off`。 -- `autoJoinAllowlist`: `autoJoin`が`allowlist`のときに許可されるルーム/エイリアス。エイリアスエントリは招待処理中にルームIDへ解決されます。OpenClawは招待されたルームが主張するエイリアス状態を信頼しません。 +- `mediaMaxMb`: Matrixメディア処理用のメディアサイズ上限(MB)。送信と受信メディア処理の両方に適用されます。 +- `autoJoin`: 招待の自動参加ポリシー(`always`、`allowlist`、`off`)。デフォルト: `off`。これはルーム/グループ招待だけでなく、DM形式の招待を含む一般的なMatrix招待に適用されます。OpenClawは、参加したルームをDMかグループか確実に分類できる前の招待時点でこの判定を行います。 +- `autoJoinAllowlist`: `autoJoin`が`allowlist`のときに許可されるルーム/エイリアス。エイリアス項目は招待処理中にルームIDへ解決されます。OpenClawは招待されたルームが主張するエイリアス状態を信頼しません。 - `dm`: DMポリシーブロック(`enabled`、`policy`、`allowFrom`、`sessionScope`、`threadReplies`)。 +- `dm.policy`: OpenClawがルームに参加し、それをDMとして分類した後のDMアクセスを制御します。招待が自動参加されるかどうかは変えません。 - `dm.allowFrom`エントリは、ライブディレクトリ検索で解決済みでない限り、完全なMatrix user IDである必要があります。 -- `dm.sessionScope`: `per-user`(デフォルト)または`per-room`。相手が同じでも各Matrix DMルームで別個のコンテキストを維持したい場合は`per-room`を使用してください。 -- `dm.threadReplies`: DM専用スレッドポリシーoverride(`off`、`inbound`、`always`)。DMにおける返信配置とセッション分離の両方について、トップレベルの`threadReplies`設定を上書きします。 -- `execApprovals`: Matrixネイティブexec承認配信(`enabled`、`approvers`、`target`、`agentFilter`、`sessionFilter`)。 -- `execApprovals.approvers`: exec要求を承認できるMatrix user ID。`dm.allowFrom`がすでに承認者を識別している場合は任意です。 +- `dm.sessionScope`: `per-user`(デフォルト)または`per-room`。相手が同じでも各Matrix DMルームで別々のコンテキストを保持したい場合は`per-room`を使用します。 +- `dm.threadReplies`: DM専用のスレッドポリシーoverride(`off`、`inbound`、`always`)。DMでの返信配置とセッション分離の両方について、トップレベルの`threadReplies`設定をoverrideします。 +- `execApprovals`: Matrixネイティブのexec approval配信(`enabled`、`approvers`、`target`、`agentFilter`、`sessionFilter`)。 +- `execApprovals.approvers`: exec requestsを承認できるMatrix user IDs。`dm.allowFrom`がすでに承認者を識別している場合は任意です。 - `execApprovals.target`: `dm | channel | both`(デフォルト: `dm`)。 -- `accounts`: 名前付きアカウントごとのoverride。トップレベルの`channels.matrix`値がこれらのエントリのデフォルトとして機能します。 -- `groups`: ルームごとのポリシーマップ。ルームIDまたはエイリアスを推奨します。解決されないルーム名は実行時に無視されます。解決後のセッション/グループIDには安定したルームIDが使用され、人間向けラベルは引き続きルーム名から取得されます。 -- `groups..account`: マルチアカウント構成で、継承された1つのルームエントリを特定のMatrixアカウントに限定します。 -- `groups..allowBots`: 設定済みボット送信者に対するルームレベルoverride(`true`または`"mentions"`)。 -- `groups..users`: ルームごとの送信者許可リスト。 +- `accounts`: 名前付きのアカウントごとのoverride。トップレベルの`channels.matrix`値がこれらのエントリのデフォルトとして機能します。 +- `groups`: ルームごとのポリシーマップ。ルームIDまたはエイリアスを推奨します。未解決のルーム名は実行時に無視されます。セッション/グループIDは解決後の安定したルームIDを使用し、人間向けラベルは引き続きルーム名から取得します。 +- `groups..account`: 複数アカウント構成で、継承された1つのルームエントリを特定のMatrixアカウントに限定します。 +- `groups..allowBots`: 設定済みbot送信者に対するルームレベルoverride(`true`または`"mentions"`)。 +- `groups..users`: ルームごとの送信者allowlist。 - `groups..tools`: ルームごとのtool許可/拒否override。 -- `groups..autoReply`: ルームレベルのメンションゲーティングoverride。`true`はそのルームのメンション要件を無効にし、`false`は再び有効にします。 -- `groups..skills`: 任意のルームレベルskill filter。 -- `groups..systemPrompt`: 任意のルームレベルsystem prompt snippet。 +- `groups..autoReply`: ルームレベルのメンション制御override。`true`はそのルームのメンション要件を無効にし、`false`は再び有効にします。 +- `groups..skills`: 任意のルームレベルskillフィルター。 +- `groups..systemPrompt`: 任意のルームレベルsystem promptスニペット。 - `rooms`: `groups`のレガシーエイリアス。 -- `actions`: アクションごとのtool gating(`messages`、`reactions`、`pins`、`profile`、`memberInfo`、`channelInfo`、`verification`)。 +- `actions`: アクションごとのtool制御(`messages`、`reactions`、`pins`、`profile`、`memberInfo`、`channelInfo`、`verification`)。 ## 関連 -- [チャネル概要](/ja-JP/channels) — サポートされているすべてのチャネル -- [ペアリング](/ja-JP/channels/pairing) — DM認証とペアリングフロー -- [グループ](/ja-JP/channels/groups) — グループチャット動作とメンションゲーティング -- [チャネルルーティング](/ja-JP/channels/channel-routing) — メッセージのセッションルーティング -- [セキュリティ](/ja-JP/gateway/security) — アクセスモデルとハードニング +- [Channels Overview](/ja-JP/channels) — サポートされているすべてのチャネル +- [Pairing](/ja-JP/channels/pairing) — DM認証とpairingフロー +- [Groups](/ja-JP/channels/groups) — グループチャットの動作とメンション制御 +- [Channel Routing](/ja-JP/channels/channel-routing) — メッセージのセッションルーティング +- [Security](/ja-JP/gateway/security) — アクセスモデルとハードニング diff --git a/docs/ja-JP/concepts/dreaming.md b/docs/ja-JP/concepts/dreaming.md index 5ebe48eaf..1d7dc60c1 100644 --- a/docs/ja-JP/concepts/dreaming.md +++ b/docs/ja-JP/concepts/dreaming.md @@ -1,106 +1,106 @@ --- read_when: - メモリ昇格を自動的に実行したい - - 各 Dreaming フェーズの役割を理解したい - - MEMORY.md を汚さずに統合を調整したい -summary: ライト、ディープ、REM フェーズと Dream Diary によるバックグラウンドメモリ統合 + - 各Dreamingフェーズの役割を理解したい + - MEMORY.mdを汚さずに統合を調整したい +summary: 軽い睡眠、深い睡眠、REMの各フェーズとDream Diaryを備えたバックグラウンドメモリ統合 title: Dreaming(実験的) x-i18n: - generated_at: "2026-04-06T03:06:13Z" + generated_at: "2026-04-06T04:43:36Z" model: gpt-5.4 provider: openai - source_hash: f27da718176bebf59fe8a80fddd4fb5b6d814ac5647f6c1e8344bcfb328db9de + source_hash: 36c4b1e70801d662090dc8ce20608c2f141c23cd7ce53c54e3dcf332c801fd4e source_path: concepts/dreaming.md workflow: 15 --- # Dreaming(実験的) -Dreaming は `memory-core` のバックグラウンドメモリ統合システムです。 -これにより OpenClaw は、強い短期シグナルを耐久性のあるメモリへ移しつつ、 -そのプロセスを説明可能かつレビュー可能な状態に保てます。 +Dreamingは、`memory-core`のバックグラウンドメモリ統合システムです。 +これによりOpenClawは、短期的な強いシグナルを永続的なメモリへ移しつつ、 +そのプロセスを説明可能でレビュー可能な状態に保てます。 -Dreaming は **オプトイン** で、デフォルトでは無効です。 +Dreamingは**オプトイン**で、デフォルトでは無効です。 -## Dreaming が書き込むもの +## Dreamingが書き込む内容 -Dreaming は 2 種類の出力を保持します。 +Dreamingは2種類の出力を保持します。 -- `memory/.dreams/` 内の **マシン状態**(リコールストア、フェーズシグナル、取り込みチェックポイント、ロック)。 -- `DREAMS.md`(または既存の `dreams.md`)内の **人が読める出力** と、`memory/dreaming//YYYY-MM-DD.md` 配下の任意のフェーズレポートファイル。 +- `memory/.dreams/`内の**マシン状態**(リコールストア、フェーズシグナル、取り込みチェックポイント、ロック)。 +- `DREAMS.md`(または既存の`dreams.md`)内の**人が読める出力**と、`memory/dreaming//YYYY-MM-DD.md`配下の任意のフェーズレポートファイル。 -長期昇格は引き続き `MEMORY.md` にのみ書き込まれます。 +長期メモリへの昇格は引き続き`MEMORY.md`にのみ書き込まれます。 ## フェーズモデル -Dreaming は協調して動作する 3 つのフェーズを使用します。 +Dreamingは、協調して動作する3つのフェーズを使用します。 -| フェーズ | 目的 | 永続的な書き込み | +| フェーズ | 目的 | 永続書き込み | | ----- | ----------------------------------------- | ----------------- | -| Light | 最近の短期マテリアルを整理してステージングする | いいえ | -| Deep | 耐久性のある候補をスコアリングして昇格する | はい(`MEMORY.md`) | -| REM | テーマと繰り返し現れるアイデアを振り返る | いいえ | +| Light | 最近の短期メモリ素材を整理してステージングする | なし | +| Deep | 永続化候補をスコア付けして昇格する | あり(`MEMORY.md`) | +| REM | テーマや繰り返し現れるアイデアを振り返る | なし | -これらのフェーズは内部実装の詳細であり、ユーザーが個別に設定する -「モード」ではありません。 +これらのフェーズは内部実装の詳細であり、ユーザーが個別に設定する「モード」ではありません。 -### Light フェーズ +### Light phase -Light フェーズは、最近のデイリーメモリシグナルとリコールトレースを取り込み、 -重複排除し、候補行をステージングします。 +Light phaseは、最近の日次メモリシグナルとリコールトレースを取り込み、 +それらを重複排除し、候補行としてステージングします。 -- 短期リコール状態と最近のデイリーメモリファイルから読み取ります。 -- ストレージにインライン出力が含まれる場合、管理された `## Light Sleep` ブロックを書き込みます。 -- 後続の Deep ランキング用に強化シグナルを記録します。 -- `MEMORY.md` には決して書き込みません。 +- 短期リコール状態と最近の日次メモリファイルから読み取ります。 +- ストレージにインライン出力が含まれる場合、管理された`## Light Sleep`ブロックを書き込みます。 +- 後でDeep rankingに使う強化シグナルを記録します。 +- `MEMORY.md`には決して書き込みません。 -### Deep フェーズ +### Deep phase -Deep フェーズは、何を長期メモリにするかを決定します。 +Deep phaseは、何を長期メモリにするかを決定します。 -- 重み付きスコアリングとしきい値ゲートを使って候補をランク付けします。 -- `minScore`、`minRecallCount`、`minUniqueQueries` を満たす必要があります。 -- 書き込み前にライブのデイリーファイルからスニペットを再取得するため、古くなったスニペットや削除されたスニペットはスキップされます。 -- 昇格されたエントリを `MEMORY.md` に追記します。 -- `DREAMS.md` に `## Deep Sleep` の要約を書き込み、必要に応じて `memory/dreaming/deep/YYYY-MM-DD.md` にも書き込みます。 +- 重み付きスコアリングとしきい値ゲートを使って候補を順位付けします。 +- 通過には`minScore`、`minRecallCount`、`minUniqueQueries`が必要です。 +- 書き込み前に生きた日次ファイルからスニペットを再取得するため、古い/削除済みのスニペットはスキップされます。 +- 昇格されたエントリを`MEMORY.md`に追記します。 +- `DREAMS.md`に`## Deep Sleep`の要約を書き込み、必要に応じて`memory/dreaming/deep/YYYY-MM-DD.md`にも書き込みます。 -### REM フェーズ +### REM phase -REM フェーズは、パターンと内省的シグナルを抽出します。 +REM phaseは、パターンと内省的なシグナルを抽出します。 -- 最近の短期トレースからテーマと内省の要約を構築します。 -- ストレージにインライン出力が含まれる場合、管理された `## REM Sleep` ブロックを書き込みます。 -- Deep ランキングで使用される REM 強化シグナルを記録します。 -- `MEMORY.md` には決して書き込みません。 +- 最近の短期トレースからテーマと内省の要約を作成します。 +- ストレージにインライン出力が含まれる場合、管理された`## REM Sleep`ブロックを書き込みます。 +- Deep rankingで使用されるREM強化シグナルを記録します。 +- `MEMORY.md`には決して書き込みません。 ## Dream Diary -Dreaming は `DREAMS.md` に物語風の **Dream Diary** も保持します。 -各フェーズに十分なマテリアルが集まると、`memory-core` はベストエフォートのバックグラウンド -サブエージェントターン(デフォルトのランタイムモデルを使用)を実行し、短い日記エントリを追記します。 +Dreamingは、`DREAMS.md`に物語形式の**Dream Diary**も保持します。 +各フェーズに十分な素材がそろうと、`memory-core`はベストエフォートのバックグラウンド +サブエージェントターン(デフォルトのランタイムモデルを使用)を実行し、 +短い日記エントリを追記します。 -この日記は Dreams UI で人が読むためのものであり、昇格元ではありません。 +この日記はDreams UIで人が読むためのものであり、昇格元にはなりません。 -## Deep ランキングシグナル +## Deep rankingシグナル -Deep ランキングは、6 つの重み付き基本シグナルとフェーズ強化を使用します。 +Deep rankingでは、6つの重み付き基本シグナルにフェーズ強化を加えて使用します。 | シグナル | 重み | 説明 | | ------------------- | ------ | ------------------------------------------------- | | 頻度 | 0.24 | そのエントリが蓄積した短期シグナルの数 | | 関連性 | 0.30 | そのエントリの平均取得品質 | -| クエリ多様性 | 0.15 | そのエントリが現れた個別のクエリ/日コンテキスト | +| クエリ多様性 | 0.15 | それが現れた個別のクエリ/日コンテキスト | | 新しさ | 0.15 | 時間減衰する鮮度スコア | | 統合 | 0.10 | 複数日にわたる再出現の強さ | -| 概念的豊かさ | 0.06 | スニペット/パス由来の概念タグ密度 | +| 概念的豊かさ | 0.06 | スニペット/パス由来の概念タグ密度 | -Light と REM フェーズでのヒットは、 -`memory/.dreams/phase-signals.json` から時間減衰する小さなブーストを追加します。 +Light phaseとREM phaseのヒットは、 +`memory/.dreams/phase-signals.json`から小さな時間減衰ブーストを追加します。 ## スケジューリング -有効にすると、`memory-core` は完全な Dreaming -スイープ用の cron ジョブを 1 つ自動管理します。各スイープでは、フェーズが light -> REM -> deep の順で実行されます。 +有効にすると、`memory-core`は完全なDreamingスイープ用のcronジョブを1つ自動管理します。 +各スイープは、light -> REM -> deepの順でフェーズを実行します。 デフォルトの実行間隔の動作: @@ -110,7 +110,7 @@ Light と REM フェーズでのヒットは、 ## クイックスタート -Dreaming を有効にする: +Dreamingを有効にする: ```json { @@ -128,7 +128,7 @@ Dreaming を有効にする: } ``` -カスタムスイープ間隔で Dreaming を有効にする: +カスタムスイープ間隔でDreamingを有効にする: ```json { @@ -157,9 +157,9 @@ Dreaming を有効にする: /dreaming help ``` -## CLI ワークフロー +## CLIワークフロー -プレビューまたは手動適用には CLI 昇格を使用します。 +プレビューまたは手動適用にはCLIの昇格を使用します。 ```bash openclaw memory promote @@ -168,37 +168,51 @@ openclaw memory promote --limit 5 openclaw memory status --deep ``` -手動の `memory promote` は、CLI フラグで上書きしない限り、デフォルトで Deep フェーズのしきい値を使用します。 +手動の`memory promote`は、CLIフラグで上書きしない限り、デフォルトでdeep-phaseのしきい値を使用します。 + +特定の候補が昇格する、または昇格しない理由を説明する: + +```bash +openclaw memory promote-explain "router vlan" +openclaw memory promote-explain "router vlan" --json +``` + +何も書き込まずに、REMの内省、候補となる真実、deep promotion出力をプレビューする: + +```bash +openclaw memory rem-harness +openclaw memory rem-harness --json +``` ## 主なデフォルト値 -すべての設定は `plugins.entries.memory-core.config.dreaming` 配下にあります。 +すべての設定は`plugins.entries.memory-core.config.dreaming`配下にあります。 | キー | デフォルト | | ----------- | ----------- | | `enabled` | `false` | | `frequency` | `0 3 * * *` | -フェーズポリシー、しきい値、ストレージ動作は内部実装の詳細 -であり、ユーザー向け設定ではありません。 +フェーズポリシー、しきい値、ストレージ動作は内部実装の詳細であり、 +ユーザー向け設定ではありません。 完全なキー一覧については、 -[メモリ設定リファレンス](/ja-JP/reference/memory-config#dreaming-experimental) +[Memory configuration reference](/ja-JP/reference/memory-config#dreaming-experimental) を参照してください。 ## Dreams UI -有効にすると、Gateway の **Dreams** タブには次が表示されます。 +有効にすると、Gatewayの**Dreams**タブに次が表示されます。 -- 現在の Dreaming 有効状態 -- フェーズレベルの状態と管理対象スイープの有無 -- 短期、長期、および今日昇格された件数 -- 次回のスケジュール実行時刻 -- `doctor.memory.dreamDiary` をバックエンドに持つ、展開可能な Dream Diary リーダー +- 現在のDreaming有効状態 +- フェーズレベルの状態と管理スイープの有無 +- 短期、長期、当日昇格済みの件数 +- 次回予定実行の時刻 +- `doctor.memory.dreamDiary`を基盤とする、展開可能なDream Diaryリーダー ## 関連 -- [メモリ](/ja-JP/concepts/memory) -- [メモリ検索](/ja-JP/concepts/memory-search) +- [Memory](/ja-JP/concepts/memory) +- [Memory Search](/ja-JP/concepts/memory-search) - [memory CLI](/cli/memory) -- [メモリ設定リファレンス](/ja-JP/reference/memory-config) +- [Memory configuration reference](/ja-JP/reference/memory-config) diff --git a/docs/ja-JP/gateway/configuration-reference.md b/docs/ja-JP/gateway/configuration-reference.md index f121ed7db..3925cdbdd 100644 --- a/docs/ja-JP/gateway/configuration-reference.md +++ b/docs/ja-JP/gateway/configuration-reference.md @@ -1,56 +1,56 @@ --- read_when: - - フィールド単位で正確な設定の意味やデフォルト値が必要な場合 + - 正確なフィールド単位の設定セマンティクスやデフォルト値が必要な場合 - チャネル、モデル、Gateway、またはツールの設定ブロックを検証している場合 -summary: すべての OpenClaw 設定キー、デフォルト値、チャネル設定の完全リファレンス +summary: すべてのOpenClaw設定キー、デフォルト値、チャネル設定の完全なリファレンス title: 設定リファレンス x-i18n: - generated_at: "2026-04-06T03:12:33Z" + generated_at: "2026-04-06T04:48:42Z" model: gpt-5.4 provider: openai - source_hash: 6aa6b24b593f6f07118817afabea4cc7842aca6b7c5602b45f479b40c1685230 + source_hash: 6ae6c19666f65433361e1c8b100ae710448c8aa055a60c140241a8aea09b98a5 source_path: gateway/configuration-reference.md workflow: 15 --- # 設定リファレンス -`~/.openclaw/openclaw.json` で使用可能なすべてのフィールドです。タスク指向の概要については、[Configuration](/ja-JP/gateway/configuration) を参照してください。 +`~/.openclaw/openclaw.json` で利用可能なすべてのフィールドです。タスク指向の概要については、[Configuration](/ja-JP/gateway/configuration) を参照してください。 -設定形式は **JSON5** です(コメントと末尾カンマを使用可能)。すべてのフィールドは任意で、省略した場合 OpenClaw は安全なデフォルト値を使用します。 +設定形式は **JSON5** です(コメント + 末尾カンマを許可)。すべてのフィールドは任意で、省略時はOpenClawが安全なデフォルト値を使用します。 --- ## チャネル -各チャネルは、その設定セクションが存在する場合に自動的に開始されます(`enabled: false` を除く)。 +各チャネルは、その設定セクションが存在すると自動的に開始されます(`enabled: false` の場合を除く)。 -### DM とグループアクセス +### DMおよびグループアクセス -すべてのチャネルは DM ポリシーとグループポリシーをサポートします。 +すべてのチャネルはDMポリシーとグループポリシーをサポートします。 -| DM ポリシー | 動作 | -| ------------------- | --------------------------------------------------------------- | -| `pairing`(デフォルト) | 未知の送信者には 1 回限りのペアリングコードが発行され、オーナーの承認が必要 | -| `allowlist` | `allowFrom` 内の送信者のみ(またはペアリング済み許可ストア) | -| `open` | すべての受信 DM を許可(`allowFrom: ["*"]` が必要) | -| `disabled` | すべての受信 DM を無視 | +| DM policy | 動作 | +| ------------------- | -------------------------------------------------------------- | +| `pairing` (default) | 未知の送信者には1回限りのペアリングコードが送られ、オーナーの承認が必要 | +| `allowlist` | `allowFrom` 内の送信者のみ(またはペアリング済み許可ストア) | +| `open` | すべての受信DMを許可(`allowFrom: ["*"]` が必要) | +| `disabled` | すべての受信DMを無視 | -| グループポリシー | 動作 | +| Group policy | 動作 | | --------------------- | ------------------------------------------------------ | -| `allowlist`(デフォルト) | 設定された許可リストに一致するグループのみ | -| `open` | グループ許可リストをバイパス(メンションゲーティングは引き続き適用) | +| `allowlist` (default) | 設定済みの許可リストに一致するグループのみ | +| `open` | グループ許可リストをバイパス(メンションゲートは引き続き適用) | | `disabled` | すべてのグループ/ルームメッセージをブロック | -`channels.defaults.groupPolicy` は、プロバイダーの `groupPolicy` が未設定の場合のデフォルト値を設定します。 -ペアリングコードは 1 時間で期限切れになります。保留中の DM ペアリング要求は **チャネルごとに 3 件** に制限されます。 -プロバイダーブロックが完全に欠落している場合(`channels.` が存在しない場合)、ランタイムのグループポリシーは起動時警告とともに `allowlist`(フェイルクローズド)にフォールバックします。 +`channels.defaults.groupPolicy` は、プロバイダーの `groupPolicy` が未設定のときのデフォルト値を設定します。 +ペアリングコードの有効期限は1時間です。保留中のDMペアリング要求は **チャネルごとに3件** に制限されます。 +プロバイダーブロック全体が存在しない場合(`channels.` がない場合)、ランタイムのグループポリシーは起動時警告とともに `allowlist`(フェイルクローズ)にフォールバックします。 -### チャネルごとのモデル上書き +### チャネルモデルのオーバーライド -`channels.modelByChannel` を使用して、特定のチャネル ID をモデルに固定します。値には `provider/model` または設定済みモデルエイリアスを指定できます。このチャネルマッピングは、セッションにすでにモデル上書きが存在しない場合(たとえば `/model` で設定された場合)に適用されます。 +`channels.modelByChannel` を使用すると、特定のチャネルIDをモデルに固定できます。値には `provider/model` または設定済みのモデルエイリアスを指定できます。このチャネルマッピングは、セッションにまだモデルオーバーライドがない場合に適用されます(たとえば `/model` で設定された場合など)。 ```json5 { @@ -71,9 +71,9 @@ x-i18n: } ``` -### チャネルのデフォルト値と heartbeat +### チャネルのデフォルト値とheartbeat -`channels.defaults` を使用して、プロバイダー間で共通のグループポリシーと heartbeat の動作を設定します。 +`channels.defaults` を使用すると、プロバイダー間で共有されるグループポリシーとheartbeat動作を設定できます。 ```json5 { @@ -92,14 +92,14 @@ x-i18n: ``` - `channels.defaults.groupPolicy`: プロバイダーレベルの `groupPolicy` が未設定のときのフォールバックグループポリシー。 -- `channels.defaults.contextVisibility`: 全チャネル向けの補足コンテキスト可視性モードのデフォルト。値: `all`(デフォルト、すべての引用/スレッド/履歴コンテキストを含む)、`allowlist`(許可リスト済み送信者からのコンテキストのみ含む)、`allowlist_quote`(allowlist と同じだが明示的な引用/返信コンテキストは保持)。チャネルごとの上書き: `channels..contextVisibility`。 -- `channels.defaults.heartbeat.showOk`: heartbeat 出力に正常なチャネル状態を含める。 -- `channels.defaults.heartbeat.showAlerts`: heartbeat 出力に劣化/エラー状態を含める。 -- `channels.defaults.heartbeat.useIndicator`: コンパクトなインジケーター形式の heartbeat 出力を表示する。 +- `channels.defaults.contextVisibility`: すべてのチャネルに対する補足コンテキスト可視性モードのデフォルト値。値: `all`(デフォルト、引用/スレッド/履歴コンテキストをすべて含む)、`allowlist`(許可リスト済み送信者のコンテキストのみ含む)、`allowlist_quote`(allowlist と同じだが明示的な引用/返信コンテキストは保持)。チャネルごとのオーバーライド: `channels..contextVisibility`。 +- `channels.defaults.heartbeat.showOk`: 正常なチャネルステータスをheartbeat出力に含めます。 +- `channels.defaults.heartbeat.showAlerts`: 劣化/エラーステータスをheartbeat出力に含めます。 +- `channels.defaults.heartbeat.useIndicator`: コンパクトなインジケータースタイルのheartbeat出力を描画します。 ### WhatsApp -WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行されます。リンク済みセッションが存在する場合、自動的に開始されます。 +WhatsApp は Gateway の web チャネル(Baileys Web)経由で動作します。リンク済みセッションが存在すると自動的に開始されます。 ```json5 { @@ -110,7 +110,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ textChunkLimit: 4000, chunkMode: "length", // length | newline mediaMaxMb: 50, - sendReadReceipts: true, // blue ticks (false in self-chat mode) + sendReadReceipts: true, // 既読マーク(セルフチャットモードでは false) groups: { "*": { requireMention: true }, }, @@ -132,7 +132,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` - + ```json5 { @@ -150,10 +150,10 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` -- 送信コマンドは、`default` アカウントが存在する場合はそれを、存在しない場合は最初に設定されたアカウント ID(ソート順)をデフォルトに使用します。 -- オプションの `channels.whatsapp.defaultAccount` は、設定済みアカウント ID と一致する場合、このフォールバック既定アカウント選択を上書きします。 -- 旧単一アカウントの Baileys auth dir は、`openclaw doctor` によって `whatsapp/default` へ移行されます。 -- アカウントごとの上書き: `channels.whatsapp.accounts..sendReadReceipts`、`channels.whatsapp.accounts..dmPolicy`、`channels.whatsapp.accounts..allowFrom`。 +- 送信コマンドは、`default` アカウントが存在する場合はそれを、そうでなければ最初に設定されたアカウントID(ソート済み)をデフォルトに使用します。 +- オプションの `channels.whatsapp.defaultAccount` は、設定済みアカウントIDに一致する場合、このフォールバックのデフォルトアカウント選択を上書きします。 +- レガシーな単一アカウントのBaileys認証ディレクトリは、`openclaw doctor` によって `whatsapp/default` へ移行されます。 +- アカウントごとのオーバーライド: `channels.whatsapp.accounts..sendReadReceipts`、`channels.whatsapp.accounts..dmPolicy`、`channels.whatsapp.accounts..allowFrom`。 @@ -171,24 +171,24 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ "*": { requireMention: true }, "-1001234567890": { allowFrom: ["@admin"], - systemPrompt: "Keep answers brief.", + systemPrompt: "回答は簡潔にしてください。", topics: { "99": { requireMention: false, skills: ["search"], - systemPrompt: "Stay on topic.", + systemPrompt: "話題から逸れないでください。", }, }, }, }, customCommands: [ - { command: "backup", description: "Git backup" }, - { command: "generate", description: "Create an image" }, + { command: "backup", description: "Gitバックアップ" }, + { command: "generate", description: "画像を作成" }, ], historyLimit: 50, replyToMode: "first", // off | first | all | batched linkPreview: true, - streaming: "partial", // off | partial | block | progress (default: off; opt in explicitly to avoid preview-edit rate limits) + streaming: "partial", // off | partial | block | progress (デフォルト: off。プレビュー編集のレート制限を避けるには明示的に opt in してください) actions: { reactions: true, sendMessage: true }, reactionNotifications: "own", // off | own | all mediaMaxMb: 100, @@ -211,13 +211,13 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` -- Bot token: `channels.telegram.botToken` または `channels.telegram.tokenFile`(通常ファイルのみ。シンボリックリンクは拒否)、デフォルトアカウントのフォールバックとして `TELEGRAM_BOT_TOKEN` を使用可能。 -- オプションの `channels.telegram.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 -- 複数アカウント構成(2 つ以上のアカウント ID)では、フォールバックルーティングを避けるために、明示的なデフォルト(`channels.telegram.defaultAccount` または `channels.telegram.accounts.default`)を設定してください。これが欠落または無効な場合、`openclaw doctor` が警告します。 -- `configWrites: false` は Telegram 起点の設定書き込み(supergroup ID の移行、`/config set|unset`)をブロックします。 -- `type: "acp"` を持つトップレベルの `bindings[]` エントリーは、フォーラムトピック向けの永続 ACP バインディングを設定します(`match.peer.id` には正規形の `chatId:topic:topicId` を使用)。フィールドの意味は [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings) と共通です。 +- Botトークン: `channels.telegram.botToken` または `channels.telegram.tokenFile`(通常ファイルのみ。シンボリックリンクは拒否)、デフォルトアカウントでは `TELEGRAM_BOT_TOKEN` がフォールバックです。 +- オプションの `channels.telegram.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 +- 複数アカウント構成(2つ以上のアカウントID)では、フォールバックルーティングを避けるために明示的なデフォルト(`channels.telegram.defaultAccount` または `channels.telegram.accounts.default`)を設定してください。これが欠落または無効な場合、`openclaw doctor` が警告します。 +- `configWrites: false` は、Telegram 起点の設定書き込み(supergroup ID 移行、`/config set|unset`)をブロックします。 +- `type: "acp"` を持つトップレベルの `bindings[]` エントリは、フォーラムトピック用の永続的なACPバインディングを設定します(`match.peer.id` には正規の `chatId:topic:topicId` を使用)。フィールドの意味は [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings) で共通です。 - Telegram のストリームプレビューは `sendMessage` + `editMessageText` を使用します(ダイレクトチャットとグループチャットの両方で動作)。 -- リトライポリシー: [Retry policy](/ja-JP/concepts/retry) を参照。 +- リトライポリシー: [Retry policy](/ja-JP/concepts/retry) を参照してください。 ### Discord @@ -264,7 +264,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ requireMention: true, users: ["987654321098765432"], skills: ["docs"], - systemPrompt: "Short answers only.", + systemPrompt: "短い回答のみ。", }, }, }, @@ -272,7 +272,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ historyLimit: 20, textChunkLimit: 2000, chunkMode: "length", // length | newline - streaming: "off", // off | partial | block | progress (progress maps to partial on Discord) + streaming: "off", // off | partial | block | progress (progress は Discord では partial にマップされます) maxLinesPerMessage: 17, ui: { components: { @@ -283,7 +283,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ enabled: true, idleHours: 24, maxAgeHours: 0, - spawnSubagentSessions: false, // opt-in for sessions_spawn({ thread: true }) + spawnSubagentSessions: false, // `sessions_spawn({ thread: true })` の opt-in }, voice: { enabled: true, @@ -319,36 +319,36 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` -- Token: `channels.discord.token`。デフォルトアカウントのフォールバックとして `DISCORD_BOT_TOKEN` を使用可能。 -- 明示的な Discord `token` を指定した直接送信呼び出しは、その呼び出しに対してその token を使用します。アカウントの retry/policy 設定は、アクティブなランタイムスナップショットで選択されたアカウントから引き続き取得されます。 -- オプションの `channels.discord.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 -- 配信先には `user:`(DM)または `channel:`(guild channel)を使用してください。プレフィックスなしの数値 ID は拒否されます。 -- ギルド slug は小文字で、スペースは `-` に置換されます。チャネルキーには slug 化された名前(`#` なし)を使用します。ギルド ID を推奨します。 -- bot が作成したメッセージはデフォルトで無視されます。`allowBots: true` で有効化されます。bot へのメンションを含む bot メッセージのみ受け入れるには `allowBots: "mentions"` を使用してください(自身のメッセージは引き続き除外)。 -- `channels.discord.guilds..ignoreOtherMentions`(およびチャネル上書き)は、bot ではなく別のユーザーまたはロールにメンションしているメッセージを破棄します(@everyone/@here を除く)。 -- `maxLinesPerMessage`(デフォルト 17)は、2000 文字未満でも縦長メッセージを分割します。 -- `channels.discord.threadBindings` は Discord のスレッド境界ルーティングを制御します: - - `enabled`: スレッド境界セッション機能(`/focus`、`/unfocus`、`/agents`、`/session idle`、`/session max-age`、およびバインドされた配信/ルーティング)向けの Discord 上書き - - `idleHours`: 非アクティブ時の自動 unfocus の時間単位上書き(`0` で無効) - - `maxAgeHours`: 最大有効期間の時間単位上書き(`0` で無効) - - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` の自動スレッド作成/バインドのオプトインスイッチ -- `type: "acp"` を持つトップレベル `bindings[]` エントリーは、チャネルおよびスレッド向けの永続 ACP バインディングを設定します(`match.peer.id` には channel/thread id を使用)。フィールドの意味は [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings) と共通です。 -- `channels.discord.ui.components.accentColor` は、Discord components v2 コンテナのアクセントカラーを設定します。 -- `channels.discord.voice` は、Discord 音声チャネル会話と、オプションの自動参加 + TTS 上書きを有効にします。 +- トークン: `channels.discord.token`。デフォルトアカウントでは `DISCORD_BOT_TOKEN` がフォールバックです。 +- 明示的な Discord `token` を指定する直接送信呼び出しでは、そのトークンが呼び出しに使用されます。アカウントのリトライ/ポリシー設定は、アクティブなランタイムスナップショット内で選択されたアカウントから引き続き取得されます。 +- オプションの `channels.discord.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 +- 配信ターゲットには `user:`(DM)または `channel:`(guild channel)を使用します。裸の数値IDは拒否されます。 +- Guild slug は小文字で、スペースは `-` に置換されます。チャネルキーには slug 化された名前(`#` なし)を使用します。guild ID の使用を推奨します。 +- Bot自身が投稿したメッセージはデフォルトで無視されます。`allowBots: true` で有効になります。`allowBots: "mentions"` を使うと、Botへのメンションを含むBotメッセージのみ受け付けます(自分自身のメッセージは引き続き除外されます)。 +- `channels.discord.guilds..ignoreOtherMentions`(およびチャネルオーバーライド)は、別のユーザーまたはロールに言及しているが Bot には言及していないメッセージを破棄します(@everyone/@here は除く)。 +- `maxLinesPerMessage`(デフォルト17)は、2000文字未満でも行数の多いメッセージを分割します。 +- `channels.discord.threadBindings` は Discord のスレッド紐付けルーティングを制御します: + - `enabled`: スレッド紐付けセッション機能(`/focus`、`/unfocus`、`/agents`、`/session idle`、`/session max-age`、および紐付けされた配信/ルーティング)用の Discord オーバーライド + - `idleHours`: 非アクティブ時の自動 unfocus までの時間(時間単位、`0` で無効) + - `maxAgeHours`: 強制最大継続時間(時間単位、`0` で無効) + - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` の自動スレッド作成/紐付けの opt-in スイッチ +- `type: "acp"` を持つトップレベルの `bindings[]` エントリは、チャネルおよびスレッド用の永続的なACPバインディングを設定します(`match.peer.id` にはチャネル/スレッドIDを使用)。フィールドの意味は [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings) で共通です。 +- `channels.discord.ui.components.accentColor` は、Discord components v2 コンテナーのアクセントカラーを設定します。 +- `channels.discord.voice` は、Discord 音声チャネル会話と、オプションの自動参加 + TTS オーバーライドを有効にします。 - `channels.discord.voice.daveEncryption` と `channels.discord.voice.decryptionFailureTolerance` は、`@discordjs/voice` の DAVE オプションにそのまま渡されます(デフォルトは `true` と `24`)。 -- OpenClaw はさらに、復号失敗が繰り返された場合に、音声セッションから離脱して再参加することで音声受信の回復も試みます。 -- `channels.discord.streaming` は正規の stream mode キーです。旧 `streamMode` と真偽値 `streaming` は自動移行されます。 -- `channels.discord.autoPresence` は、ランタイムの可用性を bot presence にマッピングします(healthy => online、degraded => idle、exhausted => dnd)。オプションの status text 上書きも可能です。 -- `channels.discord.dangerouslyAllowNameMatching` は、可変な name/tag マッチングを再有効化します(非常時専用の互換モード)。 +- OpenClaw はさらに、繰り返し復号に失敗した後に音声セッションを離脱/再参加することで、音声受信回復も試みます。 +- `channels.discord.streaming` は正規のストリームモードキーです。レガシーな `streamMode` およびブール値の `streaming` は自動移行されます。 +- `channels.discord.autoPresence` は、ランタイムの可用性を Bot プレゼンスにマップし(healthy => online、degraded => idle、exhausted => dnd)、オプションでステータステキストの上書きを許可します。 +- `channels.discord.dangerouslyAllowNameMatching` は、可変な名前/タグ一致を再有効化します(緊急時のみの互換モード)。 - `channels.discord.execApprovals`: Discord ネイティブの exec 承認配信と承認者認可。 - `enabled`: `true`、`false`、または `"auto"`(デフォルト)。auto モードでは、`approvers` または `commands.ownerAllowFrom` から承認者を解決できる場合に exec 承認が有効になります。 - - `approvers`: exec 要求を承認できる Discord user ID。省略時は `commands.ownerAllowFrom` にフォールバックします。 - - `agentFilter`: オプションの agent ID 許可リスト。省略するとすべての agent の承認を転送します。 - - `sessionFilter`: オプションの session key パターン(部分一致または regex)。 - - `target`: 承認プロンプトの送信先。`"dm"`(デフォルト)は承認者の DM に送信、`"channel"` は元のチャネルに送信、`"both"` は両方に送信します。target に `"channel"` を含む場合、ボタンは解決済み承認者のみが使用できます。 - - `cleanupAfterResolve`: `true` の場合、承認、拒否、またはタイムアウト後に承認 DM を削除します。 + - `approvers`: exec リクエストを承認できる Discord ユーザーID。省略時は `commands.ownerAllowFrom` にフォールバックします。 + - `agentFilter`: オプションのエージェントID許可リスト。省略するとすべてのエージェントの承認を転送します。 + - `sessionFilter`: オプションのセッションキーパターン(部分文字列または正規表現)。 + - `target`: 承認プロンプトの送信先。`"dm"`(デフォルト)は承認者DMに送信、`"channel"` は元チャネルに送信、`"both"` は両方に送信します。target に `"channel"` が含まれる場合、ボタンは解決済み承認者のみが使用できます。 + - `cleanupAfterResolve`: `true` の場合、承認、拒否、またはタイムアウト後に承認DMを削除します。 -**リアクション通知モード:** `off`(なし)、`own`(bot 自身のメッセージ、デフォルト)、`all`(すべてのメッセージ)、`allowlist`(`guilds..users` からの全メッセージ)。 +**リアクション通知モード:** `off`(なし)、`own`(Botのメッセージ、デフォルト)、`all`(すべてのメッセージ)、`allowlist`(`guilds..users` 由来のすべてのメッセージ)。 ### Google Chat @@ -379,11 +379,11 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` -- Service account JSON: インライン(`serviceAccount`)またはファイルベース(`serviceAccountFile`)。 -- Service account SecretRef もサポートされています(`serviceAccountRef`)。 +- サービスアカウントJSON: インライン(`serviceAccount`)またはファイルベース(`serviceAccountFile`)。 +- サービスアカウントの SecretRef(`serviceAccountRef`)もサポートされます。 - 環境変数フォールバック: `GOOGLE_CHAT_SERVICE_ACCOUNT` または `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`。 -- 配信先には `spaces/` または `users/` を使用してください。 -- `channels.googlechat.dangerouslyAllowNameMatching` は、可変なメール principal マッチングを再有効化します(非常時専用の互換モード)。 +- 配信ターゲットには `spaces/` または `users/` を使用します。 +- `channels.googlechat.dangerouslyAllowNameMatching` は、可変なメール主体一致を再有効化します(緊急時のみの互換モード)。 ### Slack @@ -405,7 +405,7 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ allowBots: false, users: ["U123"], skills: ["docs"], - systemPrompt: "Short answers only.", + systemPrompt: "短い回答のみ。", }, }, historyLimit: 50, @@ -433,8 +433,8 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ typingReaction: "hourglass_flowing_sand", textChunkLimit: 4000, chunkMode: "length", - streaming: "partial", // off | partial | block | progress (preview mode) - nativeStreaming: true, // use Slack native streaming API when streaming=partial + streaming: "partial", // off | partial | block | progress (プレビューモード) + nativeStreaming: true, // streaming=partial のとき Slack ネイティブのストリーミングAPIを使用 mediaMaxMb: 20, execApprovals: { enabled: "auto", // true | false | "auto" @@ -448,29 +448,29 @@ WhatsApp は Gateway の web チャネル(Baileys Web)を通じて実行さ } ``` -- **Socket mode** では `botToken` と `appToken` の両方が必要です(デフォルトアカウントの環境変数フォールバックは `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`)。 -- **HTTP mode** では `botToken` と `signingSecret`(ルートまたはアカウントごと)が必要です。 +- **Socket mode** には `botToken` と `appToken` の両方が必要です(デフォルトアカウント環境変数フォールバックは `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`)。 +- **HTTP mode** には `botToken` と `signingSecret`(ルートまたはアカウントごと)が必要です。 - `botToken`、`appToken`、`signingSecret`、`userToken` はプレーンテキスト文字列または SecretRef オブジェクトを受け付けます。 -- Slack アカウントスナップショットは、`botTokenSource`、`botTokenStatus`、`appTokenStatus`、HTTP mode では `signingSecretStatus` などの認証情報ごとの source/status フィールドを公開します。`configured_unavailable` は、そのアカウントが SecretRef で設定されているが、現在のコマンド/ランタイム経路でシークレット値を解決できなかったことを意味します。 -- `configWrites: false` は Slack 起点の設定書き込みをブロックします。 -- オプションの `channels.slack.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 -- `channels.slack.streaming` は正規の stream mode キーです。旧 `streamMode` と真偽値 `streaming` は自動移行されます。 -- 配信先には `user:`(DM)または `channel:` を使用してください。 +- Slack アカウントスナップショットは、`botTokenSource`、`botTokenStatus`、`appTokenStatus`、HTTP mode では `signingSecretStatus` などの資格情報ごとの source/status フィールドを公開します。`configured_unavailable` は、そのアカウントが SecretRef 経由で設定されているが、現在のコマンド/ランタイム経路では秘密値を解決できなかったことを意味します。 +- `configWrites: false` は、Slack 起点の設定書き込みをブロックします。 +- オプションの `channels.slack.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 +- `channels.slack.streaming` は正規のストリームモードキーです。レガシーな `streamMode` およびブール値の `streaming` は自動移行されます。 +- 配信ターゲットには `user:`(DM)または `channel:` を使用します。 -**リアクション通知モード:** `off`、`own`(デフォルト)、`all`、`allowlist`(`reactionAllowlist` から)。 +**リアクション通知モード:** `off`、`own`(デフォルト)、`all`、`allowlist`(`reactionAllowlist` 由来)。 -**スレッドセッション分離:** `thread.historyScope` はスレッド単位(デフォルト)またはチャネル全体で共有。`thread.inheritParent` は親チャネルの transcript を新規スレッドへコピーします。 +**スレッドセッション分離:** `thread.historyScope` はスレッド単位(デフォルト)またはチャネル共有です。`thread.inheritParent` は親チャネルトランスクリプトを新しいスレッドにコピーします。 -- `typingReaction` は、返信処理中に受信した Slack メッセージへ一時的なリアクションを追加し、完了時に削除します。`"hourglass_flowing_sand"` のような Slack emoji shortcode を使用してください。 -- `channels.slack.execApprovals`: Slack ネイティブの exec 承認配信と承認者認可。スキーマは Discord と同じです: `enabled`(`true`/`false`/`"auto"`)、`approvers`(Slack user IDs)、`agentFilter`、`sessionFilter`、`target`(`"dm"`、`"channel"`、または `"both"`)。 +- `typingReaction` は、返信処理中に受信した Slack メッセージへ一時的なリアクションを追加し、完了時に削除します。`"hourglass_flowing_sand"` のような Slack 絵文字ショートコードを使用してください。 +- `channels.slack.execApprovals`: Slack ネイティブの exec 承認配信と承認者認可。スキーマは Discord と同じです: `enabled`(`true`/`false`/`"auto"`)、`approvers`(Slack ユーザーID)、`agentFilter`、`sessionFilter`、`target`(`"dm"`、`"channel"`、または `"both"`)。 -| アクショングループ | デフォルト | 注記 | -| ------------------ | ---------- | ------------------------ | -| reactions | enabled | リアクション + 一覧 | -| messages | enabled | 読み取り/送信/編集/削除 | -| pins | enabled | 固定/解除/一覧 | -| memberInfo | enabled | メンバー情報 | -| emojiList | enabled | カスタム絵文字一覧 | +| Action group | デフォルト | 注記 | +| ------------ | ---------- | -------------------- | +| reactions | enabled | リアクション + 一覧取得 | +| messages | enabled | 読み取り/送信/編集/削除 | +| pins | enabled | ピン留め/解除/一覧 | +| memberInfo | enabled | メンバー情報 | +| emojiList | enabled | カスタム絵文字一覧 | ### Mattermost @@ -494,7 +494,7 @@ Mattermost は plugin として提供されます: `openclaw plugins install @op native: true, // opt-in nativeSkills: true, callbackPath: "/api/channels/mattermost/command", - // Optional explicit URL for reverse-proxy/public deployments + // リバースプロキシ/公開デプロイ向けのオプションの明示URL callbackUrl: "https://gateway.example.com/api/channels/mattermost/command", }, textChunkLimit: 4000, @@ -504,18 +504,18 @@ Mattermost は plugin として提供されます: `openclaw plugins install @op } ``` -Chat modes: `oncall`(@-mention で応答、デフォルト)、`onmessage`(すべてのメッセージ)、`onchar`(トリガープレフィックスで始まるメッセージ)。 +チャットモード: `oncall`(@メンション時に応答、デフォルト)、`onmessage`(すべてのメッセージ)、`onchar`(トリガープレフィックスで始まるメッセージ)。 Mattermost ネイティブコマンドが有効な場合: -- `commands.callbackPath` はフル URL ではなくパスである必要があります(例: `/api/channels/mattermost/command`)。 -- `commands.callbackUrl` は OpenClaw Gateway のエンドポイントを解決し、Mattermost サーバーから到達可能である必要があります。 -- ネイティブ slash callback は、slash command 登録時に Mattermost から返されるコマンドごとの token で認証されます。登録に失敗した場合、または有効なコマンドがない場合、OpenClaw は callback を `Unauthorized: invalid command token.` で拒否します。 -- プライベート/tailnet/internal な callback host では、Mattermost が `ServiceSettings.AllowedUntrustedInternalConnections` に callback host/domain を含めることを要求する場合があります。フル URL ではなく host/domain 値を使用してください。 +- `commands.callbackPath` は完全URLではなくパスでなければなりません(例: `/api/channels/mattermost/command`)。 +- `commands.callbackUrl` は OpenClaw Gateway エンドポイントに解決され、Mattermost サーバーから到達可能でなければなりません。 +- ネイティブの slash callback は、slash command 登録時に Mattermost が返すコマンドごとのトークンで認証されます。登録に失敗した場合や有効化されたコマンドがない場合、OpenClaw は callback を `Unauthorized: invalid command token.` で拒否します。 +- 非公開/tailnet/内部の callback ホストでは、Mattermost に `ServiceSettings.AllowedUntrustedInternalConnections` へ callback ホスト/ドメインを含める設定が必要な場合があります。完全URLではなくホスト/ドメイン値を使用してください。 - `channels.mattermost.configWrites`: Mattermost 起点の設定書き込みを許可または拒否します。 - `channels.mattermost.requireMention`: チャネルで返信する前に `@mention` を要求します。 -- `channels.mattermost.groups..requireMention`: チャネルごとのメンションゲーティング上書き(デフォルトは `"*"`)。 -- オプションの `channels.mattermost.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 +- `channels.mattermost.groups..requireMention`: チャネルごとのメンションゲート上書き(デフォルトは `"*"`)。 +- オプションの `channels.mattermost.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 ### Signal @@ -524,7 +524,7 @@ Mattermost ネイティブコマンドが有効な場合: channels: { signal: { enabled: true, - account: "+15555550123", // optional account binding + account: "+15555550123", // オプションのアカウントバインディング dmPolicy: "pairing", allowFrom: ["+15551234567", "uuid:123e4567-e89b-12d3-a456-426614174000"], configWrites: true, @@ -536,15 +536,15 @@ Mattermost ネイティブコマンドが有効な場合: } ``` -**リアクション通知モード:** `off`、`own`(デフォルト)、`all`、`allowlist`(`reactionAllowlist` から)。 +**リアクション通知モード:** `off`、`own`(デフォルト)、`all`、`allowlist`(`reactionAllowlist` 由来)。 -- `channels.signal.account`: 特定の Signal アカウント ID にチャネル起動を固定します。 +- `channels.signal.account`: チャネル起動を特定の Signal アカウントIDに固定します。 - `channels.signal.configWrites`: Signal 起点の設定書き込みを許可または拒否します。 -- オプションの `channels.signal.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 +- オプションの `channels.signal.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 ### BlueBubbles -BlueBubbles は推奨される iMessage 経路です(plugin ベースで、`channels.bluebubbles` の下に設定します)。 +BlueBubbles は推奨される iMessage 経路です(plugin ベース、`channels.bluebubbles` 配下で設定)。 ```json5 { @@ -552,21 +552,21 @@ BlueBubbles は推奨される iMessage 経路です(plugin ベースで、`ch bluebubbles: { enabled: true, dmPolicy: "pairing", - // serverUrl, password, webhookPath, group controls, and advanced actions: - // see /channels/bluebubbles + // serverUrl、password、webhookPath、グループ制御、高度なアクション: + // /channels/bluebubbles を参照 }, }, } ``` - ここで扱うコアキーのパス: `channels.bluebubbles`、`channels.bluebubbles.dmPolicy`。 -- オプションの `channels.bluebubbles.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 -- `type: "acp"` を持つトップレベル `bindings[]` エントリーは、BlueBubbles 会話を永続 ACP セッションにバインドできます。`match.peer.id` には BlueBubbles handle または target string(`chat_id:*`、`chat_guid:*`、`chat_identifier:*`)を使用します。共有されるフィールドの意味: [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings)。 -- BlueBubbles チャネルの完全な設定は [BlueBubbles](/ja-JP/channels/bluebubbles) に記載されています。 +- オプションの `channels.bluebubbles.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 +- `type: "acp"` を持つトップレベルの `bindings[]` エントリは、BlueBubbles 会話を永続的な ACP セッションに紐付けできます。`match.peer.id` には BlueBubbles の handle またはターゲット文字列(`chat_id:*`、`chat_guid:*`、`chat_identifier:*`)を使用します。共通のフィールド意味: [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings)。 +- 完全な BlueBubbles チャネル設定は [BlueBubbles](/ja-JP/channels/bluebubbles) に記載されています。 ### iMessage -OpenClaw は `imsg rpc`(stdio 上の JSON-RPC)を起動します。daemon やポートは不要です。 +OpenClaw は `imsg rpc`(stdio 上の JSON-RPC)を起動します。デーモンやポートは不要です。 ```json5 { @@ -590,17 +590,17 @@ OpenClaw は `imsg rpc`(stdio 上の JSON-RPC)を起動します。daemon } ``` -- オプションの `channels.imessage.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 +- オプションの `channels.imessage.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 -- Messages DB へのフルディスクアクセスが必要です。 -- `chat_id:` ターゲットを推奨します。チャット一覧には `imsg chats --limit 20` を使用してください。 -- `cliPath` は SSH ラッパーを指すことができます。SCP で添付ファイルを取得するには `remoteHost`(`host` または `user@host`)を設定します。 -- `attachmentRoots` と `remoteAttachmentRoots` は受信添付ファイルパスを制限します(デフォルト: `/Users/*/Library/Messages/Attachments`)。 -- SCP は厳格な host-key checking を使用するため、relay host key がすでに `~/.ssh/known_hosts` に存在している必要があります。 +- Messages DB への Full Disk Access が必要です。 +- `chat_id:` ターゲットの使用を推奨します。チャット一覧は `imsg chats --limit 20` で確認できます。 +- `cliPath` は SSH ラッパーを指すこともでき、その場合は SCP 添付取得のために `remoteHost`(`host` または `user@host`)を設定してください。 +- `attachmentRoots` と `remoteAttachmentRoots` は受信添付ファイルのパスを制限します(デフォルト: `/Users/*/Library/Messages/Attachments`)。 +- SCP は strict host-key checking を使用するため、リレーホスト鍵がすでに `~/.ssh/known_hosts` に存在していることを確認してください。 - `channels.imessage.configWrites`: iMessage 起点の設定書き込みを許可または拒否します。 -- `type: "acp"` を持つトップレベル `bindings[]` エントリーは、iMessage 会話を永続 ACP セッションにバインドできます。`match.peer.id` には正規化済み handle または明示的な chat target(`chat_id:*`、`chat_guid:*`、`chat_identifier:*`)を使用します。共有されるフィールドの意味: [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings)。 +- `type: "acp"` を持つトップレベルの `bindings[]` エントリは、iMessage 会話を永続的な ACP セッションに紐付けできます。`match.peer.id` には正規化済み handle または明示的チャットターゲット(`chat_id:*`、`chat_guid:*`、`chat_identifier:*`)を使用します。共通のフィールド意味: [ACP Agents](/ja-JP/tools/acp-agents#channel-specific-settings)。 - + ```bash #!/usr/bin/env bash @@ -611,7 +611,7 @@ exec ssh -T gateway-host imsg "$@" ### Matrix -Matrix は拡張機能ベースで、`channels.matrix` の下に設定されます。 +Matrix は拡張機能ベースで、`channels.matrix` 配下で設定します。 ```json5 { @@ -641,24 +641,24 @@ Matrix は拡張機能ベースで、`channels.matrix` の下に設定されま } ``` -- token 認証は `accessToken`、password 認証は `userId` + `password` を使用します。 -- `channels.matrix.proxy` は、Matrix HTTP トラフィックを明示的な HTTP(S) proxy 経由にします。名前付きアカウントでは `channels.matrix.accounts..proxy` で上書きできます。 -- `channels.matrix.allowPrivateNetwork` は、プライベート/内部 homeserver を許可します。`proxy` と `allowPrivateNetwork` は独立した制御です。 -- `channels.matrix.defaultAccount` は、複数アカウント構成で優先アカウントを選択します。 +- トークン認証では `accessToken`、パスワード認証では `userId` + `password` を使用します。 +- `channels.matrix.proxy` は Matrix HTTP トラフィックを明示的な HTTP(S) プロキシ経由にします。名前付きアカウントでは `channels.matrix.accounts..proxy` で上書きできます。 +- `channels.matrix.allowPrivateNetwork` は private/internal homeserver を許可します。`proxy` と `allowPrivateNetwork` は独立した制御です。 +- `channels.matrix.defaultAccount` は複数アカウント構成時の優先アカウントを選択します。 - `channels.matrix.execApprovals`: Matrix ネイティブの exec 承認配信と承認者認可。 - `enabled`: `true`、`false`、または `"auto"`(デフォルト)。auto モードでは、`approvers` または `commands.ownerAllowFrom` から承認者を解決できる場合に exec 承認が有効になります。 - - `approvers`: exec 要求を承認できる Matrix user ID(例: `@owner:example.org`)。 - - `agentFilter`: オプションの agent ID 許可リスト。省略するとすべての agent の承認を転送します。 - - `sessionFilter`: オプションの session key パターン(部分一致または regex)。 + - `approvers`: exec リクエストを承認できる Matrix ユーザーID(例: `@owner:example.org`)。 + - `agentFilter`: オプションのエージェントID許可リスト。省略するとすべてのエージェントの承認を転送します。 + - `sessionFilter`: オプションのセッションキーパターン(部分文字列または正規表現)。 - `target`: 承認プロンプトの送信先。`"dm"`(デフォルト)、`"channel"`(元のルーム)、または `"both"`。 - - アカウントごとの上書き: `channels.matrix.accounts..execApprovals`。 -- `channels.matrix.dm.sessionScope` は、Matrix DM をどのようにセッションへまとめるかを制御します。`per-user`(デフォルト)はルーティング先 peer ごとに共有し、`per-room` は各 DM ルームを分離します。 -- Matrix の status probe と live directory lookup は、ランタイムトラフィックと同じ proxy ポリシーを使用します。 -- Matrix の完全な設定、ターゲティング規則、設定例は [Matrix](/ja-JP/channels/matrix) に記載されています。 + - アカウントごとのオーバーライド: `channels.matrix.accounts..execApprovals`。 +- `channels.matrix.dm.sessionScope` は、Matrix DM をどのようにセッションへグループ化するかを制御します: `per-user`(デフォルト)はルーティング先 peer ごとに共有し、`per-room` は各 DM ルームを分離します。 +- Matrix のステータスプローブとライブディレクトリ参照は、ランタイムトラフィックと同じプロキシポリシーを使用します。 +- 完全な Matrix 設定、ターゲティング規則、セットアップ例は [Matrix](/ja-JP/channels/matrix) に記載されています。 ### Microsoft Teams -Microsoft Teams は拡張機能ベースで、`channels.msteams` の下に設定されます。 +Microsoft Teams は拡張機能ベースで、`channels.msteams` 配下で設定します。 ```json5 { @@ -666,19 +666,19 @@ Microsoft Teams は拡張機能ベースで、`channels.msteams` の下に設定 msteams: { enabled: true, configWrites: true, - // appId, appPassword, tenantId, webhook, team/channel policies: - // see /channels/msteams + // appId、appPassword、tenantId、webhook、team/channel ポリシー: + // /channels/msteams を参照 }, }, } ``` - ここで扱うコアキーのパス: `channels.msteams`、`channels.msteams.configWrites`。 -- Teams の完全な設定(認証情報、webhook、DM/グループポリシー、チームごと/チャネルごとの上書き)は [Microsoft Teams](/ja-JP/channels/msteams) に記載されています。 +- 完全な Teams 設定(資格情報、webhook、DM/グループポリシー、team/channel ごとのオーバーライド)は [Microsoft Teams](/ja-JP/channels/msteams) に記載されています。 ### IRC -IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 +IRC は拡張機能ベースで、`channels.irc` 配下で設定します。 ```json5 { @@ -700,12 +700,12 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 ``` - ここで扱うコアキーのパス: `channels.irc`、`channels.irc.dmPolicy`、`channels.irc.configWrites`、`channels.irc.nickserv.*`。 -- オプションの `channels.irc.defaultAccount` は、設定済みアカウント ID と一致する場合、デフォルトアカウント選択を上書きします。 -- IRC チャネルの完全な設定(host/port/TLS/channels/allowlists/mention gating)は [IRC](/ja-JP/channels/irc) に記載されています。 +- オプションの `channels.irc.defaultAccount` は、設定済みアカウントIDに一致する場合、デフォルトアカウント選択を上書きします。 +- 完全な IRC チャネル設定(host/port/TLS/channels/allowlists/mention gating)は [IRC](/ja-JP/channels/irc) に記載されています。 -### 複数アカウント(全チャネル) +### 複数アカウント(すべてのチャネル) -チャネルごとに複数アカウントを実行します(それぞれ固有の `accountId` を持ちます)。 +チャネルごとに複数アカウントを実行します(それぞれ独自の `accountId` を持ちます)。 ```json5 { @@ -726,28 +726,28 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 } ``` -- `default` は `accountId` が省略されたときに使用されます(CLI + ルーティング)。 -- 環境変数 token は **default** アカウントにのみ適用されます。 -- ベースチャネル設定は、アカウントごとに上書きしない限り、すべてのアカウントに適用されます。 -- `bindings[].match.accountId` を使用して、各アカウントを別々のエージェントへルーティングします。 -- `openclaw channels add`(またはチャネル onboarding)で、単一アカウントのトップレベルチャネル設定のまま非デフォルトアカウントを追加すると、OpenClaw はまずアカウントスコープのトップレベル単一アカウント値をチャネルアカウントマップへ昇格させ、元のアカウントが引き続き動作するようにします。ほとんどのチャネルではそれらは `channels..accounts.default` に移動されますが、Matrix は既存の一致する named/default target を保持することがあります。 -- 既存のチャネル専用バインディング(`accountId` なし)はデフォルトアカウントに引き続き一致します。アカウントスコープのバインディングは引き続き任意です。 -- `openclaw doctor --fix` も、アカウントスコープのトップレベル単一アカウント値を、そのチャネル向けに昇格したアカウントへ移動することで、混在形状を修復します。ほとんどのチャネルでは `accounts.default` を使用し、Matrix は既存の一致する named/default target を保持できる場合があります。 +- `accountId` を省略すると `default` が使用されます(CLI + ルーティング)。 +- 環境変数トークンは **default** アカウントにのみ適用されます。 +- ベースチャネル設定は、アカウントごとのオーバーライドがない限り、すべてのアカウントに適用されます。 +- `bindings[].match.accountId` を使用すると、各アカウントを別のエージェントへルーティングできます。 +- `openclaw channels add`(またはチャネルオンボーディング)で、まだ単一アカウントのトップレベルチャネル設定のまま non-default アカウントを追加すると、OpenClaw はまずアカウントスコープのトップレベル単一アカウント値をチャネルのアカウントマップへ昇格させ、元のアカウントが引き続き動作するようにします。ほとんどのチャネルはそれらを `channels..accounts.default` へ移動しますが、Matrix は既存の一致する named/default ターゲットを保持できます。 +- 既存のチャネル専用バインディング(`accountId` なし)はデフォルトアカウントへの一致を維持します。アカウントスコープのバインディングは引き続き任意です。 +- `openclaw doctor --fix` も混在した形を修復し、そのチャネル用に選ばれた昇格先アカウントへアカウントスコープのトップレベル単一アカウント値を移動します。ほとんどのチャネルでは `accounts.default` を使用し、Matrix は既存の一致する named/default ターゲットを保持できます。 ### その他の拡張チャネル -多くの拡張チャネルは `channels.` として設定され、それぞれの専用チャネルページに記載されています(たとえば Feishu、Matrix、LINE、Nostr、Zalo、Nextcloud Talk、Synology Chat、Twitch)。 -完全なチャネル一覧: [Channels](/ja-JP/channels)。 +多くの拡張チャネルは `channels.` として設定され、専用のチャネルページに記載されています(例: Feishu、Matrix、LINE、Nostr、Zalo、Nextcloud Talk、Synology Chat、Twitch)。 +完全なチャネル索引は [Channels](/ja-JP/channels) を参照してください。 -### グループチャットのメンションゲーティング +### グループチャットのメンションゲート -グループメッセージはデフォルトで **メンション必須** です(メタデータメンションまたは安全な regex パターン)。WhatsApp、Telegram、Discord、Google Chat、iMessage のグループチャットに適用されます。 +グループメッセージはデフォルトで **メンション必須** です(メタデータメンションまたは安全な正規表現パターン)。WhatsApp、Telegram、Discord、Google Chat、iMessage のグループチャットに適用されます。 -**メンションの種類:** +**メンション種別:** -- **メタデータメンション**: ネイティブなプラットフォームの @-mention。WhatsApp の self-chat mode では無視されます。 -- **テキストパターン**: `agents.list[].groupChat.mentionPatterns` にある安全な regex パターン。無効なパターンや安全でないネスト反復は無視されます。 -- メンションゲーティングは、検出が可能な場合(ネイティブメンションまたは少なくとも 1 つのパターンがある場合)にのみ強制されます。 +- **メタデータメンション**: ネイティブなプラットフォームの @-mention。WhatsApp のセルフチャットモードでは無視されます。 +- **テキストパターン**: `agents.list[].groupChat.mentionPatterns` にある安全な正規表現パターン。無効なパターンや危険な入れ子の繰り返しは無視されます。 +- メンションゲートは、検出が可能な場合にのみ適用されます(ネイティブメンションまたは少なくとも1つのパターンがある場合)。 ```json5 { @@ -760,9 +760,9 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 } ``` -`messages.groupChat.historyLimit` はグローバルデフォルトを設定します。チャネル側では `channels..historyLimit`(またはアカウントごと)で上書きできます。無効にするには `0` を設定します。 +`messages.groupChat.historyLimit` はグローバルデフォルトを設定します。チャネルでは `channels..historyLimit`(またはアカウントごと)で上書きできます。無効にするには `0` を設定してください。 -#### DM 履歴上限 +#### DM履歴上限 ```json5 { @@ -777,13 +777,13 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 } ``` -解決順序: DM ごとの上書き → プロバイダーデフォルト → 上限なし(すべて保持)。 +解決順: DMごとのオーバーライド → プロバイダーデフォルト → 上限なし(すべて保持)。 -サポート対象: `telegram`、`whatsapp`、`discord`、`slack`、`signal`、`imessage`、`msteams`。 +対応: `telegram`、`whatsapp`、`discord`、`slack`、`signal`、`imessage`、`msteams`。 -#### Self-chat mode +#### セルフチャットモード -自分の番号を `allowFrom` に含めると self-chat mode が有効になります(ネイティブな @-mention を無視し、テキストパターンにのみ応答します)。 +自分の番号を `allowFrom` に含めるとセルフチャットモードが有効になります(ネイティブの @-mention を無視し、テキストパターンにのみ応答します)。 ```json5 { @@ -809,13 +809,13 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 ```json5 { commands: { - native: "auto", // register native commands when supported - text: true, // parse /commands in chat messages - bash: false, // allow ! (alias: /bash) + native: "auto", // サポートされる場合はネイティブコマンドを登録 + text: true, // チャットメッセージ内の /commands を解析 + bash: false, // ! を許可(別名: /bash) bashForegroundMs: 2000, - config: false, // allow /config - debug: false, // allow /debug - restart: false, // allow /restart + gateway restart tool + config: false, // /config を許可 + debug: false, // /debug を許可 + restart: false, // /restart + gateway restart tool を許可 allowFrom: { "*": ["user1"], discord: ["user:123"], @@ -827,16 +827,16 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 -- テキストコマンドは、先頭に `/` が付いた**単独の**メッセージである必要があります。 -- `native: "auto"` は Discord/Telegram でネイティブコマンドを有効にし、Slack では無効のままにします。 -- チャネルごとの上書き: `channels.discord.commands.native`(bool または `"auto"`)。`false` は以前登録されたコマンドを解除します。 -- `channels.telegram.customCommands` は、Telegram bot メニューに追加エントリーを加えます。 -- `bash: true` は、ホスト shell 向けの `! ` を有効にします(別名: `/bash`)。`tools.elevated.enabled` と、送信者が `tools.elevated.allowFrom.` に含まれている必要があります。 -- `config: true` は `/config` を有効にします(`openclaw.json` を読み書き)。Gateway `chat.send` クライアントでは、永続的な `/config set|unset` 書き込みには `operator.admin` も必要です。読み取り専用の `/config show` は通常の書き込みスコープの operator クライアントでも引き続き利用できます。 +- テキストコマンドは、先頭が `/` の **単独メッセージ** でなければなりません。 +- `native: "auto"` は Discord/Telegram でネイティブコマンドを有効化し、Slack では無効のままにします。 +- チャネルごとに上書き: `channels.discord.commands.native`(bool または `"auto"`)。`false` は以前に登録されたコマンドをクリアします。 +- `channels.telegram.customCommands` は、追加の Telegram Bot メニュー項目を追加します。 +- `bash: true` は、ホストシェル向けの `! ` を有効にします。`tools.elevated.enabled` と、送信者が `tools.elevated.allowFrom.` に含まれている必要があります。 +- `config: true` は `/config`(`openclaw.json` の読み書き)を有効にします。Gateway の `chat.send` クライアントでは、永続的な `/config set|unset` 書き込みには `operator.admin` も必要です。読み取り専用の `/config show` は通常の書き込み権限を持つ operator クライアントで引き続き利用可能です。 - `channels..configWrites` は、チャネルごとの設定変更を制御します(デフォルト: true)。 -- 複数アカウントチャネルでは、`channels..accounts..configWrites` も、そのアカウントを対象とする書き込み(たとえば `/allowlist --config --account ` や `/config set channels..accounts....`)を制御します。 -- `allowFrom` はプロバイダーごとです。設定されている場合、これが**唯一の**認可ソースとなり(チャネル許可リスト/ペアリングおよび `useAccessGroups` は無視されます)。 -- `useAccessGroups: false` は、`allowFrom` が設定されていない場合に、コマンドが access-group ポリシーをバイパスできるようにします。 +- 複数アカウントチャネルでは、`channels..accounts..configWrites` も、そのアカウントを対象にした書き込み(たとえば `/allowlist --config --account ` や `/config set channels..accounts....`)を制御します。 +- `allowFrom` はプロバイダーごとです。設定されている場合、それが **唯一の** 認可ソースとなります(チャネルの allowlist/pairing および `useAccessGroups` は無視されます)。 +- `useAccessGroups: false` は、`allowFrom` が設定されていない場合に、コマンドがアクセスグループポリシーをバイパスできるようにします。 @@ -856,7 +856,7 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 ### `agents.defaults.repoRoot` -システムプロンプトの Runtime 行に表示されるオプションのリポジトリルート。未設定の場合、OpenClaw は workspace から上方向にたどって自動検出します。 +システムプロンプトの Runtime 行に表示されるオプションのリポジトリルート。未設定の場合、OpenClaw は workspace から上方向へたどって自動検出します。 ```json5 { @@ -866,7 +866,7 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 ### `agents.defaults.skills` -`agents.list[].skills` を設定していないエージェント向けの、オプションのデフォルト skill 許可リスト。 +`agents.list[].skills` を設定しないエージェント向けの、オプションのデフォルト skill 許可リストです。 ```json5 { @@ -874,17 +874,17 @@ IRC は拡張機能ベースで、`channels.irc` の下に設定されます。 defaults: { skills: ["github", "weather"] }, list: [ { id: "writer" }, // github, weather を継承 - { id: "docs", skills: ["docs-search"] }, // デフォルトを置き換える + { id: "docs", skills: ["docs-search"] }, // デフォルト値を置き換え { id: "locked-down", skills: [] }, // Skills なし ], }, } ``` -- `agents.defaults.skills` を省略すると、デフォルトでは Skills は無制限です。 -- `agents.list[].skills` を省略すると、デフォルト値を継承します。 +- デフォルトで Skills を無制限にするには `agents.defaults.skills` を省略します。 +- デフォルト値を継承するには `agents.list[].skills` を省略します。 - Skills をなしにするには `agents.list[].skills: []` を設定します。 -- `agents.list[].skills` が空でない場合、そのリストがそのエージェントの最終セットになります。デフォルト値とはマージされません。 +- 空でない `agents.list[].skills` リストは、そのエージェントの最終セットであり、デフォルト値とはマージされません。 ### `agents.defaults.skipBootstrap` @@ -896,9 +896,21 @@ workspace bootstrap ファイル(`AGENTS.md`、`SOUL.md`、`TOOLS.md`、`IDENT } ``` +### `agents.defaults.contextInjection` + +workspace bootstrap ファイルをシステムプロンプトへ注入するタイミングを制御します。デフォルトは `"always"` です。 + +- `"continuation-skip"`: 安全な継続ターン(完了済みアシスタント応答の後)では、workspace bootstrap の再注入をスキップし、プロンプトサイズを削減します。heartbeat 実行と compaction 後の再試行では引き続きコンテキストを再構築します。 + +```json5 +{ + agents: { defaults: { contextInjection: "continuation-skip" } }, +} +``` + ### `agents.defaults.bootstrapMaxChars` -切り詰め前の、workspace bootstrap ファイル 1 つあたりの最大文字数。デフォルト: `20000`。 +切り詰め前の workspace bootstrap ファイルごとの最大文字数。デフォルト: `20000`。 ```json5 { @@ -908,7 +920,7 @@ workspace bootstrap ファイル(`AGENTS.md`、`SOUL.md`、`TOOLS.md`、`IDENT ### `agents.defaults.bootstrapTotalMaxChars` -すべての workspace bootstrap ファイルにまたがって注入される総文字数の上限。デフォルト: `150000`。 +すべての workspace bootstrap ファイル全体で注入される最大文字数。デフォルト: `150000`。 ```json5 { @@ -918,11 +930,11 @@ workspace bootstrap ファイル(`AGENTS.md`、`SOUL.md`、`TOOLS.md`、`IDENT ### `agents.defaults.bootstrapPromptTruncationWarning` -bootstrap コンテキストが切り詰められたときに、エージェントに見える警告文を制御します。 -デフォルト: `"once"`。 +bootstrap コンテキストが切り詰められたときの、エージェント向け警告テキストを制御します。 +デフォルトは `"once"` です。 -- `"off"`: システムプロンプトに警告文を注入しません。 -- `"once"`: 一意の切り詰めシグネチャごとに 1 回だけ警告を注入します(推奨)。 +- `"off"`: 警告テキストをシステムプロンプトへ決して注入しません。 +- `"once"`: 一意な切り詰めシグネチャごとに一度だけ警告を注入します(推奨)。 - `"always"`: 切り詰めがあるたびに毎回警告を注入します。 ```json5 @@ -933,11 +945,11 @@ bootstrap コンテキストが切り詰められたときに、エージェン ### `agents.defaults.imageMaxDimensionPx` -プロバイダー呼び出し前に transcript/tool の画像ブロックで許可される、最長辺の最大ピクセル数。 +プロバイダー呼び出し前に transcript/tool の画像ブロックで許可される最長辺の最大ピクセルサイズ。 デフォルト: `1200`。 -値を小さくすると通常は vision token 使用量とリクエストペイロードサイズが減ります。 -値を大きくするとより多くの視覚的詳細が保持されます。 +低い値は通常、スクリーンショット中心の実行における vision token 使用量とリクエストペイロードサイズを削減します。 +高い値はより多くの視覚的詳細を保持します。 ```json5 { @@ -947,7 +959,7 @@ bootstrap コンテキストが切り詰められたときに、エージェン ### `agents.defaults.userTimezone` -システムプロンプトのコンテキスト用 timezone(メッセージのタイムスタンプではありません)。ホストの timezone にフォールバックします。 +システムプロンプトコンテキスト用のタイムゾーン(メッセージのタイムスタンプではありません)。ホストのタイムゾーンにフォールバックします。 ```json5 { @@ -957,7 +969,7 @@ bootstrap コンテキストが切り詰められたときに、エージェン ### `agents.defaults.timeFormat` -システムプロンプトでの時刻形式。デフォルト: `auto`(OS の設定)。 +システムプロンプト内の時刻形式。デフォルトは `auto`(OSの設定)。 ```json5 { @@ -995,7 +1007,7 @@ bootstrap コンテキストが切り詰められたときに、エージェン primary: "anthropic/claude-opus-4-6", fallbacks: ["openai/gpt-5.4-mini"], }, - params: { cacheRetention: "long" }, // global default provider params + params: { cacheRetention: "long" }, // グローバルなデフォルトプロバイダーパラメータ pdfMaxBytesMb: 10, pdfMaxPages: 20, thinkingDefault: "low", @@ -1012,41 +1024,41 @@ bootstrap コンテキストが切り詰められたときに、エージェン - `model`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - 文字列形式は primary model のみを設定します。 - - オブジェクト形式は primary に加えて、順序付き failover model を設定します。 + - オブジェクト形式は primary と順序付き failover model を設定します。 - `imageModel`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - - `image` ツール経路で vision-model 設定として使用されます。 - - 選択済み/デフォルト model が画像入力を受け付けられない場合のフォールバックルーティングにも使用されます。 + - `image` ツール経路で、その vision-model 設定として使用されます。 + - 選択済み/デフォルトモデルが画像入力を受け取れない場合のフォールバックルーティングにも使用されます。 - `imageGenerationModel`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - - 共通の画像生成機能と、将来の画像生成ツール/plugin サーフェスで使用されます。 - - 一般的な値: Gemini ネイティブ画像生成の `google/gemini-3.1-flash-image-preview`、fal の `fal/fal-ai/flux/dev`、または OpenAI Images の `openai/gpt-image-1`。 - - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API key も設定してください(例: `google/*` には `GEMINI_API_KEY` または `GOOGLE_API_KEY`、`openai/*` には `OPENAI_API_KEY`、`fal/*` には `FAL_KEY`)。 - - 省略した場合でも、`image_generate` は認証済みプロバイダーのデフォルトを推測できます。現在のデフォルトプロバイダーを先に試し、その後で残りの登録済み画像生成プロバイダーを provider-id 順に試します。 + - 共通の画像生成 capability と、今後の画像生成を行う tool/plugin surface で使用されます。 + - 典型的な値: Gemini ネイティブ画像生成向けの `google/gemini-3.1-flash-image-preview`、fal 向けの `fal/fal-ai/flux/dev`、OpenAI Images 向けの `openai/gpt-image-1`。 + - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API キーも設定してください(例: `google/*` には `GEMINI_API_KEY` または `GOOGLE_API_KEY`、`openai/*` には `OPENAI_API_KEY`、`fal/*` には `FAL_KEY`)。 + - 省略しても、`image_generate` は認証済みプロバイダーのデフォルト値を推定できます。まず現在のデフォルトプロバイダーを試し、その後、残りの登録済み画像生成プロバイダーを provider-id 順に試します。 - `musicGenerationModel`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - - 共通の音楽生成機能と、組み込み `music_generate` ツールで使用されます。 - - 一般的な値: `google/lyria-3-clip-preview`、`google/lyria-3-pro-preview`、または `minimax/music-2.5+`。 - - 省略した場合でも、`music_generate` は認証済みプロバイダーのデフォルトを推測できます。現在のデフォルトプロバイダーを先に試し、その後で残りの登録済み音楽生成プロバイダーを provider-id 順に試します。 - - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API key も設定してください。 + - 共通の音楽生成 capability と、組み込みの `music_generate` ツールで使用されます。 + - 典型的な値: `google/lyria-3-clip-preview`、`google/lyria-3-pro-preview`、`minimax/music-2.5+`。 + - 省略しても、`music_generate` は認証済みプロバイダーのデフォルト値を推定できます。まず現在のデフォルトプロバイダーを試し、その後、残りの登録済み音楽生成プロバイダーを provider-id 順に試します。 + - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API キーも設定してください。 - `videoGenerationModel`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - - 共通の動画生成機能と、組み込み `video_generate` ツールで使用されます。 - - 一般的な値: `qwen/wan2.6-t2v`、`qwen/wan2.6-i2v`、`qwen/wan2.6-r2v`、`qwen/wan2.6-r2v-flash`、または `qwen/wan2.7-r2v`。 - - 省略した場合でも、`video_generate` は認証済みプロバイダーのデフォルトを推測できます。現在のデフォルトプロバイダーを先に試し、その後で残りの登録済み動画生成プロバイダーを provider-id 順に試します。 - - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API key も設定してください。 - - バンドルされた Qwen 動画生成プロバイダーは現在、最大 1 本の出力動画、1 枚の入力画像、4 本の入力動画、10 秒の長さ、およびプロバイダーレベルの `size`、`aspectRatio`、`resolution`、`audio`、`watermark` オプションをサポートしています。 + - 共通の動画生成 capability と、組み込みの `video_generate` ツールで使用されます。 + - 典型的な値: `qwen/wan2.6-t2v`、`qwen/wan2.6-i2v`、`qwen/wan2.6-r2v`、`qwen/wan2.6-r2v-flash`、`qwen/wan2.7-r2v`。 + - 省略しても、`video_generate` は認証済みプロバイダーのデフォルト値を推定できます。まず現在のデフォルトプロバイダーを試し、その後、残りの登録済み動画生成プロバイダーを provider-id 順に試します。 + - プロバイダー/モデルを直接選択する場合は、対応するプロバイダー認証/API キーも設定してください。 + - バンドルされている Qwen 動画生成プロバイダーは現在、最大で出力動画 1 本、入力画像 1 枚、入力動画 4 本、長さ 10 秒、プロバイダーレベルの `size`、`aspectRatio`、`resolution`、`audio`、`watermark` オプションをサポートしています。 - `pdfModel`: 文字列(`"provider/model"`)またはオブジェクト(`{ primary, fallbacks }`)を受け付けます。 - `pdf` ツールのモデルルーティングに使用されます。 - - 省略した場合、PDF ツールは `imageModel`、次に解決済みの session/default model にフォールバックします。 -- `pdfMaxBytesMb`: `pdf` ツール呼び出し時に `maxBytesMb` が渡されない場合の、デフォルト PDF サイズ上限。 -- `pdfMaxPages`: `pdf` ツールで抽出フォールバックモードにより考慮されるデフォルト最大ページ数。 -- `verboseDefault`: エージェント向けのデフォルト verbose レベル。値: `"off"`、`"on"`、`"full"`。デフォルト: `"off"`。 -- `elevatedDefault`: エージェント向けのデフォルト elevated-output レベル。値: `"off"`、`"on"`、`"ask"`、`"full"`。デフォルト: `"on"`。 -- `model.primary`: 形式は `provider/model`(例: `openai/gpt-5.4`)。provider を省略した場合、OpenClaw はまず alias を試し、次にその model id に一致する一意の configured-provider を探し、それでも見つからない場合にのみ configured default provider にフォールバックします(非推奨の互換動作なので、明示的な `provider/model` を推奨します)。その provider が設定済み default model をもはや提供していない場合、OpenClaw は古い削除済み provider の default を表面化する代わりに、最初の configured provider/model にフォールバックします。 -- `models`: `/model` 用の設定済み model catalog と許可リスト。各エントリーには `alias`(ショートカット)と `params`(プロバイダー固有。例: `temperature`、`maxTokens`、`cacheRetention`、`context1m`)を含められます。 -- `params`: すべての model に適用されるグローバルデフォルト provider parameters。`agents.defaults.params` で設定します(例: `{ cacheRetention: "long" }`)。 -- `params` のマージ優先順位(config): `agents.defaults.params`(グローバルベース)が `agents.defaults.models["provider/model"].params`(model ごと)で上書きされ、さらに `agents.list[].params`(一致する agent id)がキーごとに上書きします。詳細は [Prompt Caching](/ja-JP/reference/prompt-caching) を参照してください。 -- これらのフィールドを変更する config writer(たとえば `/models set`、`/models set-image`、fallback の追加/削除コマンド)は、正規のオブジェクト形式で保存し、可能な限り既存の fallback リストを保持します。 -- `maxConcurrent`: セッション間での最大並列 agent 実行数(各セッション内は引き続き直列)。デフォルト: 4。 + - 省略時、PDF ツールは `imageModel`、次に解決済みセッション/デフォルトモデルへフォールバックします。 +- `pdfMaxBytesMb`: 呼び出し時に `maxBytesMb` が渡されない場合の `pdf` ツールのデフォルト PDF サイズ上限。 +- `pdfMaxPages`: `pdf` ツールの抽出フォールバックモードで考慮するデフォルト最大ページ数。 +- `verboseDefault`: エージェントのデフォルト verbose レベル。値: `"off"`、`"on"`、`"full"`。デフォルト: `"off"`。 +- `elevatedDefault`: エージェントのデフォルト elevated-output レベル。値: `"off"`、`"on"`、`"ask"`、`"full"`。デフォルト: `"on"`。 +- `model.primary`: 形式は `provider/model`(例: `openai/gpt-5.4`)。プロバイダーを省略すると、OpenClaw はまずエイリアス、次にその正確なモデルIDに一致する一意の configured-provider、最後に設定済みデフォルトプロバイダーを試します(非推奨の互換動作なので、明示的な `provider/model` を推奨します)。そのプロバイダーが設定済みデフォルトモデルを提供しなくなった場合、OpenClaw は古くなった削除済みプロバイダーデフォルトを表面化する代わりに、最初の設定済みプロバイダー/モデルへフォールバックします。 +- `models`: 設定済みモデルカタログおよび `/model` 用の許可リスト。各エントリには `alias`(ショートカット)と `params`(`temperature`、`maxTokens`、`cacheRetention`、`context1m` などのプロバイダー固有設定)を含めることができます。 +- `params`: すべてのモデルに適用されるグローバルなデフォルトプロバイダーパラメータ。`agents.defaults.params` で設定します(例: `{ cacheRetention: "long" }`)。 +- `params` マージ優先順位(config): `agents.defaults.params`(グローバルベース)は、`agents.defaults.models["provider/model"].params`(モデルごと)、次に `agents.list[].params`(一致する agent id)がキー単位で上書きします。詳細は [Prompt Caching](/ja-JP/reference/prompt-caching) を参照してください。 +- これらのフィールドを変更する config writer(例: `/models set`、`/models set-image`、fallback の追加/削除コマンド)は、正規のオブジェクト形式を保存し、可能な限り既存の fallback リストを保持します。 +- `maxConcurrent`: セッションをまたいだ並列エージェント実行の最大数(各セッションは引き続き直列化されます)。デフォルト: 4。 -**組み込み alias ショートハンド**(model が `agents.defaults.models` にある場合のみ適用): +**組み込みのエイリアス短縮名**(モデルが `agents.defaults.models` にある場合のみ適用): | Alias | Model | | ------------------- | -------------------------------------- | @@ -1059,34 +1071,34 @@ bootstrap コンテキストが切り詰められたときに、エージェン | `gemini-flash` | `google/gemini-3-flash-preview` | | `gemini-flash-lite` | `google/gemini-3.1-flash-lite-preview` | -設定した alias は常にデフォルトより優先されます。 +設定したエイリアスは常にデフォルトより優先されます。 -Z.AI GLM-4.x model は、`--thinking off` を設定するか、`agents.defaults.models["zai/"].params.thinking` を自分で定義しない限り、自動的に thinking mode を有効にします。 -Z.AI model は、ツール呼び出しストリーミングのためにデフォルトで `tool_stream` を有効にします。無効にするには `agents.defaults.models["zai/"].params.tool_stream` を `false` に設定してください。 -Anthropic Claude 4.6 model は、明示的な thinking level が設定されていない場合、デフォルトで `adaptive` thinking を使用します。 +Z.AI の GLM-4.x モデルは、`--thinking off` を設定するか、`agents.defaults.models["zai/"].params.thinking` を自分で定義しない限り、自動的に thinking mode を有効化します。 +Z.AI モデルは tool call ストリーミングのために、デフォルトで `tool_stream` を有効にします。無効にするには `agents.defaults.models["zai/"].params.tool_stream` を `false` に設定してください。 +Anthropic Claude 4.6 モデルは、明示的な thinking level が設定されていない場合、デフォルトで `adaptive` thinking を使用します。 -- `sessionArg` が設定されている場合、sessions がサポートされます。 -- `imageArg` がファイルパスを受け付ける場合、画像パススルーがサポートされます。 +- `sessionArg` が設定されている場合にセッション対応。 +- `imageArg` がファイルパスを受け付ける場合に画像パススルー対応。 ### `agents.defaults.heartbeat` -定期的な heartbeat 実行。 +定期的なheartbeat実行。 ```json5 { agents: { defaults: { heartbeat: { - every: "30m", // 0m disables + every: "30m", // 0m で無効 model: "openai/gpt-5.4-mini", includeReasoning: false, - lightContext: false, // default: false; true keeps only HEARTBEAT.md from workspace bootstrap files - isolatedSession: false, // default: false; true runs each heartbeat in a fresh session (no conversation history) + lightContext: false, // デフォルト: false。true の場合、workspace bootstrap ファイルからは HEARTBEAT.md のみ保持 + isolatedSession: false, // デフォルト: false。true の場合、各 heartbeat は新しいセッションで実行(会話履歴なし) session: "main", to: "+15555550123", - directPolicy: "allow", // allow (default) | block - target: "none", // default: none | options: last | whatsapp | telegram | discord | ... - prompt: "Read HEARTBEAT.md if it exists...", + directPolicy: "allow", // allow(デフォルト) | block + target: "none", // デフォルト: none | options: last | whatsapp | telegram | discord | ... + prompt: "存在する場合は HEARTBEAT.md を読んでください...", ackMaxChars: 300, suppressToolErrorWarnings: false, }, @@ -1097,11 +1109,11 @@ Anthropic Claude 4.6 model は、明示的な thinking level が設定されて - `every`: duration string(ms/s/m/h)。デフォルト: `30m`(API-key auth)または `1h`(OAuth auth)。無効にするには `0m` を設定します。 - `suppressToolErrorWarnings`: true の場合、heartbeat 実行中の tool error warning payload を抑制します。 -- `directPolicy`: direct/DM 配信ポリシー。`allow`(デフォルト)は direct-target 配信を許可します。`block` は direct-target 配信を抑制し、`reason=dm-blocked` を出力します。 -- `lightContext`: true の場合、heartbeat 実行は軽量 bootstrap context を使用し、workspace bootstrap ファイルのうち `HEARTBEAT.md` のみを保持します。 -- `isolatedSession`: true の場合、各 heartbeat 実行は prior conversation history なしの新規 session で実行されます。cron の `sessionTarget: "isolated"` と同じ分離パターンです。heartbeat ごとの token コストを約 100K から約 2-5K tokens に削減します。 -- agent ごと: `agents.list[].heartbeat` を設定します。いずれかの agent が `heartbeat` を定義すると、**その agent のみ** が heartbeat を実行します。 -- heartbeats は完全な agent turn を実行するため、間隔を短くすると token 消費が増えます。 +- `directPolicy`: 直接/DM 配信ポリシー。`allow`(デフォルト)は direct-target 配信を許可します。`block` は direct-target 配信を抑制し、`reason=dm-blocked` を出力します。 +- `lightContext`: true の場合、heartbeat 実行では軽量な bootstrap コンテキストを使用し、workspace bootstrap ファイルから `HEARTBEAT.md` のみを保持します。 +- `isolatedSession`: true の場合、各 heartbeat 実行は以前の会話履歴を持たない新しいセッションで動作します。cron の `sessionTarget: "isolated"` と同じ分離パターンです。heartbeat ごとのトークンコストを約 100K から約 2-5K トークンに削減します。 +- エージェントごと: `agents.list[].heartbeat` を設定します。いずれかのエージェントが `heartbeat` を定義している場合、**それらのエージェントだけ** が heartbeat を実行します。 +- Heartbeat は完全なエージェントターンを実行するため、間隔を短くするとより多くのトークンを消費します。 ### `agents.defaults.compaction` @@ -1114,15 +1126,15 @@ Anthropic Claude 4.6 model は、明示的な thinking level が設定されて timeoutSeconds: 900, reserveTokensFloor: 24000, identifierPolicy: "strict", // strict | off | custom - identifierInstructions: "Preserve deployment IDs, ticket IDs, and host:port pairs exactly.", // used when identifierPolicy=custom - postCompactionSections: ["Session Startup", "Red Lines"], // [] disables reinjection - model: "openrouter/anthropic/claude-sonnet-4-6", // optional compaction-only model override - notifyUser: true, // send a brief notice when compaction starts (default: false) + identifierInstructions: "deployment ID、ticket ID、host:port の組を正確に保持してください。", // identifierPolicy=custom のとき使用 + postCompactionSections: ["Session Startup", "Red Lines"], // [] で再注入を無効化 + model: "openrouter/anthropic/claude-sonnet-4-6", // オプションの compaction 専用モデル上書き + notifyUser: true, // compaction 開始時に短い通知を送信(デフォルト: false) memoryFlush: { enabled: true, softThresholdTokens: 6000, - systemPrompt: "Session nearing compaction. Store durable memories now.", - prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with the exact silent token NO_REPLY if nothing to store.", + systemPrompt: "セッションはまもなく compaction に入ります。永続メモリを今のうちに保存してください。", + prompt: "lasting notes があれば memory/YYYY-MM-DD.md に書き込んでください。保存するものがなければ正確な silent token NO_REPLY で応答してください。", }, }, }, @@ -1130,18 +1142,18 @@ Anthropic Claude 4.6 model は、明示的な thinking level が設定されて } ``` -- `mode`: `default` または `safeguard`(長い履歴向けのチャンク分割要約)。[Compaction](/ja-JP/concepts/compaction) を参照。 -- `timeoutSeconds`: 1 回の compaction 操作に許可される最大秒数。これを超えると OpenClaw は中止します。デフォルト: `900`。 -- `identifierPolicy`: `strict`(デフォルト)、`off`、または `custom`。`strict` は compaction 要約時に組み込みの opaque identifier 保持ガイダンスを先頭に付加します。 -- `identifierInstructions`: `identifierPolicy=custom` のときに使われる、オプションの custom identifier-preservation テキスト。 -- `postCompactionSections`: compaction 後に再注入する AGENTS.md の H2/H3 セクション名。デフォルトは `["Session Startup", "Red Lines"]`。無効にするには `[]` を設定します。未設定または明示的にこのデフォルトペアが設定されている場合、旧 `Every Session`/`Safety` 見出しも legacy fallback として受け入れられます。 -- `model`: compaction 要約専用のオプション `provider/model-id` 上書き。メイン session は 1 つの model を維持しつつ、compaction 要約は別 model で実行したい場合に使用します。未設定なら compaction は session の primary model を使用します。 -- `notifyUser`: `true` の場合、compaction 開始時にユーザーへ短い通知(例: 「Compacting context...」)を送信します。デフォルトでは無効で、compaction を静かに保ちます。 -- `memoryFlush`: 自動 compaction 前に durable memory を保存するための silent agentic turn。workspace が read-only の場合はスキップされます。 +- `mode`: `default` または `safeguard`(長い履歴向けの分割要約)。[Compaction](/ja-JP/concepts/compaction) を参照してください。 +- `timeoutSeconds`: OpenClaw が中断するまでに 1 回の compaction 操作へ許容される最大秒数。デフォルト: `900`。 +- `identifierPolicy`: `strict`(デフォルト)、`off`、または `custom`。`strict` は compaction 要約時に、組み込みの不透明識別子保持ガイダンスを先頭へ追加します。 +- `identifierInstructions`: `identifierPolicy=custom` のときに使用される、オプションのカスタム識別子保持テキスト。 +- `postCompactionSections`: compaction 後に再注入するオプションの AGENTS.md H2/H3 セクション名。デフォルトは `["Session Startup", "Red Lines"]` です。無効にするには `[]` を設定してください。未設定、またはこのデフォルトの組を明示的に設定した場合、古い `Every Session`/`Safety` 見出しもレガシーフォールバックとして受け付けます。 +- `model`: compaction 要約専用のオプションの `provider/model-id` 上書き。メインセッションでは一方のモデルを使い、compaction 要約では別のモデルを使いたい場合に使用します。未設定の場合、compaction はセッションの primary model を使用します。 +- `notifyUser`: `true` の場合、compaction 開始時に短い通知(例: 「コンテキストを圧縮しています...」)をユーザーへ送ります。デフォルトでは compaction を静かに保つため無効です。 +- `memoryFlush`: 自動 compaction 前に永続メモリを保存するための無音エージェントターン。workspace が読み取り専用の場合はスキップされます。 ### `agents.defaults.contextPruning` -LLM 送信前に、メモリ上のコンテキストから**古い tool result** を pruning します。ディスク上の session history は**変更しません**。 +LLM へ送信する前に、メモリ内コンテキストから **古いツール結果** を刈り込みます。ディスク上のセッション履歴は **変更しません**。 ```json5 { @@ -1149,13 +1161,13 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** defaults: { contextPruning: { mode: "cache-ttl", // off | cache-ttl - ttl: "1h", // duration (ms/s/m/h), default unit: minutes + ttl: "1h", // duration (ms/s/m/h), デフォルト単位: 分 keepLastAssistants: 3, softTrimRatio: 0.3, hardClearRatio: 0.5, minPrunableToolChars: 50000, softTrim: { maxChars: 4000, headChars: 1500, tailChars: 1500 }, - hardClear: { enabled: true, placeholder: "[Old tool result content cleared]" }, + hardClear: { enabled: true, placeholder: "[古いツール結果の内容はクリアされました]" }, tools: { deny: ["browser", "canvas"] }, }, }, @@ -1163,27 +1175,27 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** } ``` - + - `mode: "cache-ttl"` は pruning pass を有効にします。 -- `ttl` は、最後の cache touch 後に pruning を再実行できるまでの間隔を制御します。 -- pruning はまず oversized な tool result を soft-trim し、その後必要に応じて古い tool result を hard-clear します。 +- `ttl` は、最後の cache touch の後、再び pruning を実行できる頻度を制御します。 +- Pruning はまず大きすぎるツール結果を soft-trim し、その後必要であれば古いツール結果を hard-clear します。 -**Soft-trim** は先頭 + 末尾を残し、中間に `...` を挿入します。 +**Soft-trim** は先頭 + 末尾を保持し、中間に `...` を挿入します。 -**Hard-clear** は tool result 全体を placeholder に置き換えます。 +**Hard-clear** はツール結果全体を placeholder に置き換えます。 -注記: +注意: -- image block は決して trim/clear されません。 -- ratio は文字数ベース(概算)であり、正確な token 数ではありません。 +- 画像ブロックは切り詰め/クリアされません。 +- 比率はトークン数ではなく文字数ベースの概算です。 - `keepLastAssistants` 個未満の assistant message しか存在しない場合、pruning はスキップされます。 動作の詳細は [Session Pruning](/ja-JP/concepts/session-pruning) を参照してください。 -### Block streaming +### ブロックストリーミング ```json5 { @@ -1193,19 +1205,19 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** blockStreamingBreak: "text_end", // text_end | message_end blockStreamingChunk: { minChars: 800, maxChars: 1200 }, blockStreamingCoalesce: { idleMs: 1000 }, - humanDelay: { mode: "natural" }, // off | natural | custom (use minMs/maxMs) + humanDelay: { mode: "natural" }, // off | natural | custom(minMs/maxMs を使用) }, }, } ``` -- Telegram 以外のチャネルでは、block reply を有効にするために明示的な `*.blockStreaming: true` が必要です。 -- チャネルごとの上書き: `channels..blockStreamingCoalesce`(およびアカウントごとの variant)。Signal/Slack/Discord/Google Chat のデフォルトは `minChars: 1500`。 -- `humanDelay`: block reply 間のランダムな待機。`natural` = 800–2500ms。agent ごとの上書き: `agents.list[].humanDelay`。 +- Telegram 以外のチャネルでは、ブロック返信を有効にするには明示的な `*.blockStreaming: true` が必要です。 +- チャネルごとのオーバーライド: `channels..blockStreamingCoalesce`(およびアカウントごとのバリアント)。Signal/Slack/Discord/Google Chat のデフォルトは `minChars: 1500` です。 +- `humanDelay`: ブロック返信間のランダムな待機。`natural` = 800–2500ms。エージェントごとのオーバーライド: `agents.list[].humanDelay`。 動作と chunking の詳細は [Streaming](/ja-JP/concepts/streaming) を参照してください。 -### Typing indicators +### タイピングインジケーター ```json5 { @@ -1218,8 +1230,8 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** } ``` -- デフォルト: direct chats/mentions では `instant`、メンションされていない group chats では `message`。 -- session ごとの上書き: `session.typingMode`、`session.typingIntervalSeconds`。 +- デフォルト: 直接チャット/メンションでは `instant`、メンションされていないグループチャットでは `message`。 +- セッションごとのオーバーライド: `session.typingMode`、`session.typingIntervalSeconds`。 [Typing Indicators](/ja-JP/concepts/typing-indicators) を参照してください。 @@ -1227,7 +1239,7 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** ### `agents.defaults.sandbox` -組み込みエージェント向けのオプションの sandboxing。完全ガイドは [Sandboxing](/ja-JP/gateway/sandboxing) を参照してください。 +埋め込みエージェント用のオプションの sandboxing。完全なガイドは [Sandboxing](/ja-JP/gateway/sandboxing) を参照してください。 ```json5 { @@ -1273,7 +1285,7 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** identityFile: "~/.ssh/id_ed25519", certificateFile: "~/.ssh/id_ed25519-cert.pub", knownHostsFile: "~/.ssh/known_hosts", - // SecretRefs / inline contents also supported: + // SecretRef / インライン内容もサポート: // identityData: { source: "env", provider: "default", id: "SSH_IDENTITY" }, // certificateData: { source: "env", provider: "default", id: "SSH_CERTIFICATE" }, // knownHostsData: { source: "env", provider: "default", id: "SSH_KNOWN_HOSTS" }, @@ -1326,42 +1338,41 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** **Backend:** -- `docker`: ローカル Docker runtime(デフォルト) -- `ssh`: 汎用 SSH ベースの remote runtime -- `openshell`: OpenShell runtime +- `docker`: ローカル Docker ランタイム(デフォルト) +- `ssh`: 汎用 SSH バックエンドのリモートランタイム +- `openshell`: OpenShell ランタイム -`backend: "openshell"` を選択した場合、runtime 固有の設定は -`plugins.entries.openshell.config` に移動します。 +`backend: "openshell"` を選択した場合、ランタイム固有設定は `plugins.entries.openshell.config` へ移動します。 -**SSH backend config:** +**SSH backend 設定:** -- `target`: `user@host[:port]` 形式の SSH target +- `target`: `user@host[:port]` 形式の SSH ターゲット - `command`: SSH クライアントコマンド(デフォルト: `ssh`) -- `workspaceRoot`: スコープごとの workspace に使用される絶対 remote root +- `workspaceRoot`: スコープごとの workspace 用に使用される絶対リモートルート - `identityFile` / `certificateFile` / `knownHostsFile`: OpenSSH に渡される既存のローカルファイル -- `identityData` / `certificateData` / `knownHostsData`: OpenClaw がランタイム時に一時ファイルへ materialize するインライン内容または SecretRef -- `strictHostKeyChecking` / `updateHostKeys`: OpenSSH の host-key policy ノブ +- `identityData` / `certificateData` / `knownHostsData`: OpenClaw が実行時に temp file へ実体化するインライン内容または SecretRef +- `strictHostKeyChecking` / `updateHostKeys`: OpenSSH のホスト鍵ポリシー設定 -**SSH auth 優先順位:** +**SSH 認証の優先順位:** -- `identityData` は `identityFile` より優先 -- `certificateData` は `certificateFile` より優先 -- `knownHostsData` は `knownHostsFile` より優先 -- SecretRef ベースの `*Data` 値は、sandbox session 開始前にアクティブな secrets runtime snapshot から解決されます +- `identityData` が `identityFile` に優先 +- `certificateData` が `certificateFile` に優先 +- `knownHostsData` が `knownHostsFile` に優先 +- SecretRef ベースの `*Data` 値は、sandbox セッション開始前にアクティブな secrets runtime snapshot から解決されます **SSH backend の動作:** -- create または recreate の後に remote workspace を 1 回 seed します -- その後は remote SSH workspace を canonical として維持します -- `exec`、file tools、media path を SSH 経由にルーティングします -- remote 側の変更をホストへ自動で同期しません -- sandbox browser container はサポートしません +- create または recreate 後に一度だけリモート workspace を初期化 +- その後、リモート SSH workspace を正として維持 +- `exec`、ファイルツール、メディアパスを SSH 経由でルーティング +- リモート変更は自動的にホストへ同期されない +- sandbox browser container はサポートしない **Workspace access:** - `none`: `~/.openclaw/sandboxes` 配下のスコープごとの sandbox workspace -- `ro`: `/workspace` に sandbox workspace、`/agent` に agent workspace を read-only でマウント -- `rw`: `/workspace` に agent workspace を read/write でマウント +- `ro`: `/workspace` に sandbox workspace、`/agent` に agent workspace を読み取り専用でマウント +- `rw`: agent workspace を `/workspace` に読み書き可能でマウント **Scope:** @@ -1382,10 +1393,10 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** from: "openclaw", remoteWorkspaceDir: "/sandbox", remoteAgentWorkspaceDir: "/agent", - gateway: "lab", // optional - gatewayEndpoint: "https://lab.example", // optional - policy: "strict", // optional OpenShell policy id - providers: ["openai"], // optional + gateway: "lab", // オプション + gatewayEndpoint: "https://lab.example", // オプション + policy: "strict", // オプションの OpenShell policy id + providers: ["openai"], // オプション autoProviders: true, timeoutSeconds: 120, }, @@ -1397,30 +1408,29 @@ LLM 送信前に、メモリ上のコンテキストから**古い tool result** **OpenShell mode:** -- `mirror`: exec 前に local から remote へ seed し、exec 後に同期し戻す。local workspace が canonical のまま維持されます -- `remote`: sandbox 作成時に 1 回だけ remote を seed し、その後は remote workspace を canonical として維持します +- `mirror`: exec 前にローカルからリモートへ初期化し、exec 後に同期を戻します。ローカル workspace が正として維持されます +- `remote`: sandbox 作成時に一度だけリモートを初期化し、その後リモート workspace を正として維持します -`remote` mode では、OpenClaw 外で行われたホスト側の local 編集は、seed step 後に sandbox に自動同期されません。 -transport は OpenShell sandbox への SSH ですが、sandbox lifecycle とオプションの mirror sync は plugin が管理します。 +`remote` mode では、OpenClaw の外側で行われたホストローカル編集は、初期化後に自動で sandbox へ同期されません。 +転送は SSH で OpenShell sandbox へ接続しますが、sandbox のライフサイクルとオプションの mirror sync は plugin が管理します。 -**`setupCommand`** は container 作成後に 1 回だけ実行されます(`sh -lc` 経由)。network egress、書き込み可能な root、root user が必要です。 +**`setupCommand`** は container 作成後に一度だけ実行されます(`sh -lc` 経由)。ネットワーク外向き接続、書き込み可能なルート、root ユーザーが必要です。 -**Container はデフォルトで `network: "none"`** です — agent に outbound access が必要な場合は `"bridge"`(または custom bridge network)に設定してください。 -`"host"` はブロックされます。`"container:"` もデフォルトでブロックされますが、 -`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` を明示的に設定した場合のみ使用可能です(非常時専用)。 +**Container はデフォルトで `network: "none"`** です。エージェントに outbound access が必要な場合は `"bridge"`(またはカスタム bridge network)に設定してください。 +`"host"` はブロックされます。`"container:"` は、`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` を明示的に設定しない限り(緊急時のみ)、デフォルトでブロックされます。 -**受信添付ファイル** は、アクティブ workspace の `media/inbound/*` に stage されます。 +**受信添付ファイル** は、アクティブ workspace 内の `media/inbound/*` へステージされます。 -**`docker.binds`** は追加のホストディレクトリをマウントします。グローバルおよび agent ごとの binds はマージされます。 +**`docker.binds`** は追加のホストディレクトリをマウントします。グローバルとエージェントごとの bind はマージされます。 -**Sandboxed browser**(`sandbox.browser.enabled`): container 内の Chromium + CDP。noVNC URL が system prompt に注入されます。`openclaw.json` の `browser.enabled` は不要です。 -noVNC 観察アクセスはデフォルトで VNC auth を使用し、OpenClaw は共有 URL にパスワードを露出する代わりに短命 token URL を発行します。 +**Sandboxed browser**(`sandbox.browser.enabled`): container 内の Chromium + CDP。noVNC URL がシステムプロンプトへ注入されます。`openclaw.json` の `browser.enabled` は不要です。 +noVNC の observer access ではデフォルトで VNC auth を使用し、OpenClaw は共有URLにパスワードを露出する代わりに短命トークンURLを発行します。 -- `allowHostControl: false`(デフォルト)は、sandboxed session がホスト browser を対象にすることをブロックします。 -- `network` のデフォルトは `openclaw-sandbox-browser`(専用 bridge network)です。グローバル bridge 接続が明示的に必要な場合にのみ `bridge` に設定してください。 -- `cdpSourceRange` は、container エッジでの CDP ingress を CIDR 範囲(例: `172.21.0.1/32`)に制限できます。 -- `sandbox.browser.binds` は、sandbox browser container のみに追加のホストディレクトリをマウントします。設定された場合(`[]` を含む)、browser container では `docker.binds` を置き換えます。 -- 起動時のデフォルトは `scripts/sandbox-browser-entrypoint.sh` に定義され、container host 向けに調整されています: +- `allowHostControl: false`(デフォルト)は、sandboxed session からホスト browser を対象にすることをブロックします。 +- `network` のデフォルトは `openclaw-sandbox-browser`(専用 bridge network)です。グローバル bridge 接続を明示的に望む場合にのみ `bridge` を設定してください。 +- `cdpSourceRange` は、CDP ingress を container エッジで CIDR 範囲(例: `172.21.0.1/32`)に制限できます。 +- `sandbox.browser.binds` は追加のホストディレクトリを sandbox browser container のみにマウントします。設定されると(`[]` を含む)、browser container では `docker.binds` を置き換えます。 +- 起動デフォルト値は `scripts/sandbox-browser-entrypoint.sh` に定義されており、container host 向けに調整されています: - `--remote-debugging-address=127.0.0.1` - `--remote-debugging-port=` - `--user-data-dir=${HOME}/.chrome` @@ -1438,24 +1448,24 @@ noVNC 観察アクセスはデフォルトで VNC auth を使用し、OpenClaw - `--no-zygote` - `--metrics-recording-only` - `--disable-extensions`(デフォルトで有効) - - `--disable-3d-apis`、`--disable-software-rasterizer`、`--disable-gpu` はデフォルトで有効で、WebGL/3D の利用で必要な場合は `OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0` で無効化できます。 - - `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0` は、ワークフローが extensions に依存している場合に再有効化します。 - - `--renderer-process-limit=2` は `OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=` で変更できます。`0` にすると Chromium のデフォルトの process limit を使います。 + - `--disable-3d-apis`、`--disable-software-rasterizer`、`--disable-gpu` はデフォルトで有効で、WebGL/3D 使用に必要な場合は `OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0` で無効にできます。 + - ワークフローで必要な場合は `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0` で拡張機能を再有効化します。 + - `--renderer-process-limit=2` は `OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=` で変更できます。Chromium のデフォルトのプロセス制限を使うには `0` を設定します。 - さらに、`noSandbox` が有効な場合は `--no-sandbox` と `--disable-setuid-sandbox`。 - - デフォルト値は container image のベースラインです。container のデフォルト値を変更するには、custom browser image と custom entrypoint を使用してください。 + - これらのデフォルト値は container image のベースラインです。container デフォルトを変更するには、カスタム browser image とカスタム entrypoint を使用してください。 -Browser sandboxing と `sandbox.docker.binds` は現在 Docker 専用です。 +browser sandboxing と `sandbox.docker.binds` は現在 Docker 専用です。 -イメージをビルド: +イメージのビルド: ```bash -scripts/sandbox-setup.sh # main sandbox image -scripts/sandbox-browser-setup.sh # optional browser image +scripts/sandbox-setup.sh # メイン sandbox イメージ +scripts/sandbox-browser-setup.sh # オプションの browser イメージ ``` -### `agents.list`(agent ごとの上書き) +### `agents.list`(エージェントごとのオーバーライド) ```json5 { @@ -1467,12 +1477,12 @@ scripts/sandbox-browser-setup.sh # optional browser image name: "Main Agent", workspace: "~/.openclaw/workspace", agentDir: "~/.openclaw/agents/main/agent", - model: "anthropic/claude-opus-4-6", // or { primary, fallbacks } - thinkingDefault: "high", // per-agent thinking level override - reasoningDefault: "on", // per-agent reasoning visibility override - fastModeDefault: false, // per-agent fast mode override - params: { cacheRetention: "none" }, // overrides matching defaults.models params by key - skills: ["docs-search"], // replaces agents.defaults.skills when set + model: "anthropic/claude-opus-4-6", // または { primary, fallbacks } + thinkingDefault: "high", // エージェントごとの thinking level オーバーライド + reasoningDefault: "on", // エージェントごとの reasoning visibility オーバーライド + fastModeDefault: false, // エージェントごとの fast mode オーバーライド + params: { cacheRetention: "none" }, // 一致する defaults.models params をキー単位で上書き + skills: ["docs-search"], // 設定時は agents.defaults.skills を置き換え identity: { name: "Samantha", theme: "helpful sloth", @@ -1503,26 +1513,26 @@ scripts/sandbox-browser-setup.sh # optional browser image } ``` -- `id`: 安定した agent id(必須)。 -- `default`: 複数設定されている場合は最初のものが優先されます(警告を記録)。1 つもない場合は list の最初のエントリーがデフォルトです。 -- `model`: 文字列形式は `primary` のみを上書きします。オブジェクト形式 `{ primary, fallbacks }` は両方を上書きします(`[]` はグローバル fallback を無効化)。`primary` だけを上書きする cron job は、`fallbacks: []` を設定しない限り、デフォルト fallback を継承します。 -- `params`: 選択された `agents.defaults.models` エントリーに対してマージされる agent ごとの stream params。`cacheRetention`、`temperature`、`maxTokens` などの agent 固有上書きに使い、model catalog 全体の重複を避けます。 -- `skills`: オプションの agent ごとの skill 許可リスト。省略した場合、その agent は設定されていれば `agents.defaults.skills` を継承します。明示的なリストはデフォルトをマージせずに置き換え、`[]` は Skills なしを意味します。 -- `thinkingDefault`: オプションの agent ごとのデフォルト thinking level(`off | minimal | low | medium | high | xhigh | adaptive`)。メッセージごとまたは session 上書きが未設定のとき、この agent では `agents.defaults.thinkingDefault` を上書きします。 -- `reasoningDefault`: オプションの agent ごとのデフォルト reasoning visibility(`on | off | stream`)。メッセージごとまたは session の reasoning 上書きが未設定のときに適用されます。 -- `fastModeDefault`: オプションの agent ごとの fast mode デフォルト(`true | false`)。メッセージごとまたは session の fast-mode 上書きが未設定のときに適用されます。 -- `runtime`: オプションの agent ごとの runtime descriptor。agent がデフォルトで ACP harness session を使うべき場合は `type: "acp"` と `runtime.acp` のデフォルト値(`agent`、`backend`、`mode`、`cwd`)を使用します。 +- `id`: 安定したエージェントID(必須)。 +- `default`: 複数設定されている場合は最初のものが優先されます(警告が記録されます)。何も設定されていない場合は list の最初のエントリがデフォルトです。 +- `model`: 文字列形式は `primary` のみを上書きし、オブジェクト形式 `{ primary, fallbacks }` は両方を上書きします(`[]` でグローバル fallback を無効化)。`primary` のみを上書きする cron job は、`fallbacks: []` を設定しない限り、引き続きデフォルト fallback を継承します。 +- `params`: 選択された `agents.defaults.models` 内のモデルエントリの上にマージされる、エージェントごとの stream params。`cacheRetention`、`temperature`、`maxTokens` などのエージェント固有オーバーライドに使用し、モデルカタログ全体を重複させずに済みます。 +- `skills`: オプションのエージェントごとの skill 許可リスト。省略時、そのエージェントは `agents.defaults.skills` が設定されていればそれを継承します。明示的なリストはデフォルト値をマージせず置き換え、`[]` は Skills なしを意味します。 +- `thinkingDefault`: オプションのエージェントごとのデフォルト thinking level(`off | minimal | low | medium | high | xhigh | adaptive`)。メッセージごとまたはセッションごとのオーバーライドが設定されていない場合、このエージェントに対して `agents.defaults.thinkingDefault` を上書きします。 +- `reasoningDefault`: オプションのエージェントごとのデフォルト reasoning visibility(`on | off | stream`)。メッセージごとまたはセッションごとの reasoning オーバーライドが設定されていない場合に適用されます。 +- `fastModeDefault`: オプションのエージェントごとの fast mode デフォルト(`true | false`)。メッセージごとまたはセッションごとの fast-mode オーバーライドが設定されていない場合に適用されます。 +- `runtime`: オプションのエージェントごとの runtime descriptor。エージェントがデフォルトで ACP harness session を使用すべき場合は、`type: "acp"` と `runtime.acp` のデフォルト値(`agent`、`backend`、`mode`、`cwd`)を使用します。 - `identity.avatar`: workspace 相対パス、`http(s)` URL、または `data:` URI。 - `identity` はデフォルト値を導出します: `emoji` から `ackReaction`、`name`/`emoji` から `mentionPatterns`。 -- `subagents.allowAgents`: `sessions_spawn` 用の agent id 許可リスト(`["*"]` = 任意。デフォルト: 同じ agent のみ)。 -- Sandbox 継承ガード: 要求元 session が sandboxed の場合、`sessions_spawn` は unsandboxed で実行される target を拒否します。 -- `subagents.requireAgentId`: true の場合、`agentId` を省略した `sessions_spawn` 呼び出しをブロックします(明示的な profile 選択を強制。デフォルト: false)。 +- `subagents.allowAgents`: `sessions_spawn` 用のエージェントID許可リスト(`["*"]` = 何でも可、デフォルト: 同じエージェントのみ)。 +- Sandbox 継承ガード: リクエスターセッションが sandboxed の場合、`sessions_spawn` は unsandboxed で実行されるターゲットを拒否します。 +- `subagents.requireAgentId`: true の場合、`agentId` を省略した `sessions_spawn` 呼び出しをブロックします(明示的なプロファイル選択を強制。デフォルト: false)。 --- -## 複数エージェントのルーティング +## マルチエージェントルーティング -1 つの Gateway 内で複数の分離された agent を実行します。[Multi-Agent](/ja-JP/concepts/multi-agent) を参照してください。 +1つの Gateway 内で複数の分離されたエージェントを実行します。[Multi-Agent](/ja-JP/concepts/multi-agent) を参照してください。 ```json5 { @@ -1539,29 +1549,29 @@ scripts/sandbox-browser-setup.sh # optional browser image } ``` -### Binding match fields +### バインディング一致フィールド -- `type`(オプション): 通常の routing には `route`(省略時も route)、永続 ACP conversation binding には `acp`。 +- `type`(オプション): 通常のルーティングには `route`(type が欠けている場合は route がデフォルト)、永続的な ACP 会話バインディングには `acp` - `match.channel`(必須) - `match.accountId`(オプション。`*` = 任意のアカウント、省略 = デフォルトアカウント) - `match.peer`(オプション。`{ kind: direct|group|channel, id }`) - `match.guildId` / `match.teamId`(オプション。チャネル固有) - `acp`(オプション。`type: "acp"` の場合のみ): `{ mode, label, cwd, backend }` -**決定的なマッチ順序:** +**決定的な一致順序:** 1. `match.peer` 2. `match.guildId` 3. `match.teamId` -4. `match.accountId`(peer/guild/team なしの厳密一致) +4. `match.accountId`(正確一致、peer/guild/team なし) 5. `match.accountId: "*"`(チャネル全体) -6. デフォルト agent +6. デフォルトエージェント -各 tier 内では、最初に一致した `bindings` エントリーが優先されます。 +各 tier 内では、最初に一致した `bindings` エントリが優先されます。 -`type: "acp"` エントリーでは、OpenClaw は厳密な conversation identity(`match.channel` + account + `match.peer.id`)で解決し、上記の route binding tier 順序は使用しません。 +`type: "acp"` エントリでは、OpenClaw は正確な会話ID(`match.channel` + account + `match.peer.id`)で解決し、上記の route binding tier 順序は使用しません。 -### agent ごとの access profile +### エージェントごとのアクセスプロファイル @@ -1660,7 +1670,7 @@ scripts/sandbox-browser-setup.sh # optional browser image --- -## Session +## セッション ```json5 { @@ -1682,22 +1692,22 @@ scripts/sandbox-browser-setup.sh # optional browser image }, resetTriggers: ["/new", "/reset"], store: "~/.openclaw/agents/{agentId}/sessions/sessions.json", - parentForkMaxTokens: 100000, // skip parent-thread fork above this token count (0 disables) + parentForkMaxTokens: 100000, // この token 数を超えると parent-thread fork をスキップ(0 で無効) maintenance: { mode: "warn", // warn | enforce pruneAfter: "30d", maxEntries: 500, rotateBytes: "10mb", - resetArchiveRetention: "30d", // duration or false - maxDiskBytes: "500mb", // optional hard budget - highWaterBytes: "400mb", // optional cleanup target + resetArchiveRetention: "30d", // duration または false + maxDiskBytes: "500mb", // オプションの hard budget + highWaterBytes: "400mb", // オプションの cleanup target }, threadBindings: { enabled: true, - idleHours: 24, // default inactivity auto-unfocus in hours (`0` disables) - maxAgeHours: 0, // default hard max age in hours (`0` disables) + idleHours: 24, // デフォルトの非アクティブ自動 unfocus 時間(0 で無効) + maxAgeHours: 0, // デフォルトの hard max age 時間(0 で無効) }, - mainKey: "main", // legacy (runtime always uses "main") + mainKey: "main", // レガシー(ランタイムは常に "main" を使用) agentToAgent: { maxPingPongTurns: 5 }, sendPolicy: { rules: [{ action: "deny", match: { channel: "discord", chatType: "group" } }], @@ -1709,46 +1719,46 @@ scripts/sandbox-browser-setup.sh # optional browser image -- **`scope`**: group-chat context の基本 session grouping 戦略。 - - `per-sender`(デフォルト): チャネル context 内で送信者ごとに分離された session。 - - `global`: チャネル context 内のすべての参加者で 1 つの session を共有(共有 context が意図されている場合にのみ使用)。 -- **`dmScope`**: DM の grouping 方法。 +- **`scope`**: グループチャット文脈のベースとなるセッショングループ化戦略。 + - `per-sender`(デフォルト): チャネル文脈内で送信者ごとに分離されたセッション。 + - `global`: チャネル文脈内の全参加者で単一セッションを共有します(共有コンテキストを意図する場合にのみ使用)。 +- **`dmScope`**: DM のグループ化方法。 - `main`: すべての DM が main session を共有。 - - `per-peer`: チャネルをまたいで sender id ごとに分離。 - - `per-channel-peer`: チャネル + sender ごとに分離(複数ユーザー inbox に推奨)。 + - `per-peer`: チャネルをまたいで送信者IDごとに分離。 + - `per-channel-peer`: チャネル + 送信者ごとに分離(複数ユーザーの inbox に推奨)。 - `per-account-channel-peer`: account + channel + sender ごとに分離(複数アカウントに推奨)。 -- **`identityLinks`**: cross-channel session 共有のための、正規 ID から provider 接頭辞付き peer へのマップ。 -- **`reset`**: 主 reset ポリシー。`daily` はローカル時間の `atHour` に reset、`idle` は `idleMinutes` 後に reset。両方が設定されている場合は、先に期限切れになる方が優先されます。 -- **`resetByType`**: タイプごとの上書き(`direct`、`group`、`thread`)。旧 `dm` も `direct` の alias として受け付けます。 -- **`parentForkMaxTokens`**: forked thread session 作成時に許可される parent session の `totalTokens` 最大値(デフォルト `100000`)。 - - parent の `totalTokens` がこの値を超える場合、OpenClaw は parent transcript history を引き継がず、新しい thread session を開始します。 - - このガードを無効にして常に parent fork を許可するには `0` を設定します。 -- **`mainKey`**: 旧フィールド。ランタイムは現在常に `"main"` を main direct-chat bucket に使用します。 -- **`agentToAgent.maxPingPongTurns`**: agent-to-agent exchange 中の返信往復ターンの最大数(整数、範囲: `0`–`5`)。`0` で ping-pong chaining を無効化。 -- **`sendPolicy`**: `channel`、`chatType`(`direct|group|channel`、旧 `dm` alias あり)、`keyPrefix`、または `rawKeyPrefix` で一致。最初の deny が優先されます。 -- **`maintenance`**: session-store の cleanup + retention 制御。 - - `mode`: `warn` は警告のみ、`enforce` は cleanup を適用。 - - `pruneAfter`: 古いエントリーの age cutoff(デフォルト `30d`)。 - - `maxEntries`: `sessions.json` 内の最大エントリー数(デフォルト `500`)。 - - `rotateBytes`: `sessions.json` がこのサイズを超えたら rotate(デフォルト `10mb`)。 - - `resetArchiveRetention`: `*.reset.` transcript archive の retention。デフォルトは `pruneAfter`。無効にするには `false`。 - - `maxDiskBytes`: オプションの sessions-directory disk budget。`warn` mode では警告を記録し、`enforce` mode では最も古い artifact/session から削除します。 - - `highWaterBytes`: budget cleanup 後のオプション目標値。デフォルトは `maxDiskBytes` の `80%`。 -- **`threadBindings`**: thread-bound session 機能のグローバルデフォルト。 - - `enabled`: マスターデフォルトスイッチ(プロバイダーが上書き可能。Discord は `channels.discord.threadBindings.enabled` を使用) - - `idleHours`: 非アクティブ時の自動 unfocus のデフォルト時間(`0` で無効。プロバイダーが上書き可能) - - `maxAgeHours`: 最大有効期間のデフォルト時間(`0` で無効。プロバイダーが上書き可能) +- **`identityLinks`**: チャネル横断セッション共有のための、provider prefix 付き peer への canonical id マップ。 +- **`reset`**: 主たるリセットポリシー。`daily` はローカル時刻の `atHour` にリセットし、`idle` は `idleMinutes` 後にリセットします。両方が設定されている場合、先に期限切れになる方が優先されます。 +- **`resetByType`**: type ごとのオーバーライド(`direct`、`group`、`thread`)。レガシーな `dm` は `direct` の別名として受け付けます。 +- **`parentForkMaxTokens`**: fork された thread session を作成するときに許可される親セッションの `totalTokens` 最大値(デフォルト `100000`)。 + - 親の `totalTokens` がこの値を超える場合、OpenClaw は親 transcript 履歴を引き継ぐ代わりに新しい thread session を開始します。 + - このガードを無効にして常に親 fork を許可するには `0` を設定します。 +- **`mainKey`**: レガシーフィールド。ランタイムは現在、main direct-chat bucket に常に `"main"` を使用します。 +- **`agentToAgent.maxPingPongTurns`**: agent-to-agent exchange 中の reply-back turn の最大数(整数、範囲: `0`–`5`)。`0` は ping-pong chaining を無効にします。 +- **`sendPolicy`**: `channel`、`chatType`(`direct|group|channel`、レガシーな `dm` は別名)、`keyPrefix`、または `rawKeyPrefix` に一致。最初の deny が優先されます。 +- **`maintenance`**: session-store cleanup + retention controls。 + - `mode`: `warn` は警告のみを出し、`enforce` は cleanup を適用します。 + - `pruneAfter`: 古いエントリの経過日数しきい値(デフォルト `30d`)。 + - `maxEntries`: `sessions.json` の最大エントリ数(デフォルト `500`)。 + - `rotateBytes`: `sessions.json` がこのサイズを超えたらローテーション(デフォルト `10mb`)。 + - `resetArchiveRetention`: `*.reset.` transcript archive の保持期間。デフォルトは `pruneAfter` です。無効にするには `false` を設定してください。 + - `maxDiskBytes`: セッションディレクトリのオプションのディスク予算。`warn` モードでは警告を記録し、`enforce` モードでは最も古い artifact/session から削除します。 + - `highWaterBytes`: 予算 cleanup 後のオプション目標値。デフォルトは `maxDiskBytes` の `80%` です。 +- **`threadBindings`**: スレッド紐付けセッション機能のグローバルデフォルト。 + - `enabled`: マスターのデフォルトスイッチ(プロバイダーが上書き可能。Discord は `channels.discord.threadBindings.enabled` を使用) + - `idleHours`: 非アクティブ自動 unfocus までのデフォルト時間(時間単位、`0` で無効。プロバイダーが上書き可能) + - `maxAgeHours`: hard max age のデフォルト時間(時間単位、`0` で無効。プロバイダーが上書き可能) --- -## Messages +## メッセージ ```json5 { messages: { - responsePrefix: "🦞", // or "auto" + responsePrefix: "🦞", // または "auto" ackReaction: "👀", ackReactionScope: "group-mentions", // group-mentions | group-all | direct | all removeAckAfterReply: false, @@ -1763,7 +1773,7 @@ scripts/sandbox-browser-setup.sh # optional browser image }, }, inbound: { - debounceMs: 2000, // 0 disables + debounceMs: 2000, // 0 で無効 byChannel: { whatsapp: 5000, slack: 1500, @@ -1775,36 +1785,36 @@ scripts/sandbox-browser-setup.sh # optional browser image ### Response prefix -チャネル/アカウントごとの上書き: `channels..responsePrefix`、`channels..accounts..responsePrefix`。 +チャネル/アカウントごとのオーバーライド: `channels..responsePrefix`、`channels..accounts..responsePrefix`。 -解決順序(最も具体的なものが優先): account → channel → global。`""` は無効化し、上位への継承も止めます。`"auto"` は `[{identity.name}]` を導出します。 +解決順(最も具体的なものが優先): account → channel → global。`""` は無効化し、カスケードも停止します。`"auto"` は `[{identity.name}]` を導出します。 **テンプレート変数:** -| 変数 | 説明 | 例 | -| ----------------- | ---------------------- | --------------------------- | -| `{model}` | 短い model 名 | `claude-opus-4-6` | -| `{modelFull}` | 完全な model 識別子 | `anthropic/claude-opus-4-6` | -| `{provider}` | provider 名 | `anthropic` | -| `{thinkingLevel}` | 現在の thinking level | `high`, `low`, `off` | -| `{identity.name}` | agent identity 名 | (`"auto"` と同じ) | +| Variable | 説明 | 例 | +| ----------------- | -------------------- | --------------------------- | +| `{model}` | 短いモデル名 | `claude-opus-4-6` | +| `{modelFull}` | 完全なモデル識別子 | `anthropic/claude-opus-4-6` | +| `{provider}` | プロバイダー名 | `anthropic` | +| `{thinkingLevel}` | 現在の thinking level | `high`, `low`, `off` | +| `{identity.name}` | エージェントの identity 名 | (`"auto"` と同じ) | -変数は大文字小文字を区別しません。`{think}` は `{thinkingLevel}` の alias です。 +変数は大文字小文字を区別しません。`{think}` は `{thinkingLevel}` の別名です。 ### Ack reaction -- デフォルトはアクティブ agent の `identity.emoji`、それ以外は `"👀"`。無効にするには `""` を設定します。 -- チャネルごとの上書き: `channels..ackReaction`、`channels..accounts..ackReaction`。 -- 解決順序: account → channel → `messages.ackReaction` → identity fallback。 +- デフォルトはアクティブエージェントの `identity.emoji`、それ以外は `"👀"`。無効にするには `""` を設定します。 +- チャネルごとのオーバーライド: `channels..ackReaction`、`channels..accounts..ackReaction`。 +- 解決順: account → channel → `messages.ackReaction` → identity fallback。 - Scope: `group-mentions`(デフォルト)、`group-all`、`direct`、`all`。 -- `removeAckAfterReply`: Slack、Discord、Telegram で reply 後に ack を削除します。 -- `messages.statusReactions.enabled`: Slack、Discord、Telegram で lifecycle status reaction を有効にします。 - Slack と Discord では、未設定時は ack reaction がアクティブなら status reaction も有効のままです。 - Telegram では、lifecycle status reaction を有効にするには明示的に `true` を設定してください。 +- `removeAckAfterReply`: Slack、Discord、Telegram で返信後に ack を削除します。 +- `messages.statusReactions.enabled`: Slack、Discord、Telegram でライフサイクル status reaction を有効にします。 + Slack と Discord では、未設定時は ack reaction が有効な場合に status reaction も有効のままです。 + Telegram では、ライフサイクル status reaction を有効にするには明示的に `true` を設定してください。 ### Inbound debounce -同じ送信者からの高速なテキストのみのメッセージを、1 回の agent turn にまとめます。media/attachment は即時に flush されます。control command は debouncing をバイパスします。 +同じ送信者からの短時間のテキスト専用メッセージをまとめて1つのエージェントターンにします。メディア/添付は即時フラッシュされます。制御コマンドは debounce をバイパスします。 ### TTS(text-to-speech) @@ -1847,18 +1857,18 @@ scripts/sandbox-browser-setup.sh # optional browser image } ``` -- `auto` は auto-TTS を制御します。`/tts off|always|inbound|tagged` は session ごとに上書きします。 -- `summaryModel` は auto-summary に対して `agents.defaults.model.primary` を上書きします。 -- `modelOverrides` はデフォルトで有効です。`modelOverrides.allowProvider` のデフォルトは `false`(オプトイン)。 -- API key は `ELEVENLABS_API_KEY`/`XI_API_KEY` と `OPENAI_API_KEY` にフォールバックします。 -- `openai.baseUrl` は OpenAI TTS endpoint を上書きします。解決順序は config、次に `OPENAI_TTS_BASE_URL`、最後に `https://api.openai.com/v1` です。 -- `openai.baseUrl` が OpenAI 以外の endpoint を指している場合、OpenClaw はそれを OpenAI 互換 TTS server とみなし、model/voice 検証を緩和します。 +- `auto` は auto-TTS を制御します。`/tts off|always|inbound|tagged` はセッションごとに上書きします。 +- `summaryModel` は、自動要約のために `agents.defaults.model.primary` を上書きします。 +- `modelOverrides` はデフォルトで有効です。`modelOverrides.allowProvider` はデフォルトで `false`(opt-in)です。 +- API キーは `ELEVENLABS_API_KEY`/`XI_API_KEY` および `OPENAI_API_KEY` にフォールバックします。 +- `openai.baseUrl` は OpenAI TTS endpoint を上書きします。解決順は config、次に `OPENAI_TTS_BASE_URL`、次に `https://api.openai.com/v1` です。 +- `openai.baseUrl` が OpenAI 以外の endpoint を指す場合、OpenClaw はそれを OpenAI 互換 TTS server とみなし、model/voice validation を緩和します。 --- ## Talk -Talk mode(macOS/iOS/Android)のデフォルト値。 +Talk mode(macOS/iOS/Android)のデフォルト値です。 ```json5 { @@ -1882,36 +1892,36 @@ Talk mode(macOS/iOS/Android)のデフォルト値。 } ``` -- `talk.provider` は、複数の Talk provider が設定されている場合、`talk.providers` 内のキーと一致する必要があります。 -- 旧フラット Talk キー(`talk.voiceId`、`talk.voiceAliases`、`talk.modelId`、`talk.outputFormat`、`talk.apiKey`)は互換専用で、自動的に `talk.providers.` へ移行されます。 +- `talk.provider` は、複数の Talk provider が設定されている場合、`talk.providers` 内のキーに一致する必要があります。 +- レガシーなフラット Talk キー(`talk.voiceId`、`talk.voiceAliases`、`talk.modelId`、`talk.outputFormat`、`talk.apiKey`)は互換性維持専用で、自動的に `talk.providers.` へ移行されます。 - Voice ID は `ELEVENLABS_VOICE_ID` または `SAG_VOICE_ID` にフォールバックします。 - `providers.*.apiKey` はプレーンテキスト文字列または SecretRef オブジェクトを受け付けます。 -- `ELEVENLABS_API_KEY` フォールバックは、Talk API key が設定されていない場合にのみ適用されます。 -- `providers.*.voiceAliases` は、Talk directive が friendly name を使えるようにします。 -- `silenceTimeoutMs` は、Talk mode がユーザーの無音後に transcript を送信するまで待つ時間を制御します。未設定の場合、プラットフォームデフォルトの pause window(`macOS と Android は 700 ms、iOS は 900 ms`)が維持されます。 +- `ELEVENLABS_API_KEY` フォールバックは、Talk API キーが設定されていない場合にのみ適用されます。 +- `providers.*.voiceAliases` により、Talk directives で親しみやすい名前を使用できます。 +- `silenceTimeoutMs` は、ユーザーの無音後に Talk mode が transcript を送信するまで待機する時間を制御します。未設定時はプラットフォームデフォルトの pause window を維持します(`macOS と Android では 700 ms、iOS では 900 ms`)。 --- -## Tools +## ツール -### Tool profile +### ツールプロファイル -`tools.profile` は、`tools.allow`/`tools.deny` より前にベース許可リストを設定します。 +`tools.profile` は、`tools.allow`/`tools.deny` より前にベースの許可リストを設定します。 -ローカル onboarding は、新規 local config で未設定の場合、デフォルトで `tools.profile: "coding"` を設定します(既存の明示的 profile は保持されます)。 +ローカルオンボーディングでは、未設定の新しいローカル設定に対し、`tools.profile: "coding"` をデフォルト設定します(既存の明示的なプロファイルは保持されます)。 -| Profile | 含まれる内容 | -| ----------- | --------------------------------------------------------------------------------------------------------------------------- | -| `minimal` | `session_status` のみ | +| Profile | 含まれるもの | +| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `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` | 制限なし(未設定と同じ) | +| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | +| `full` | 制限なし(未設定と同じ) | -### Tool group +### ツールグループ | Group | Tools | | ------------------ | ----------------------------------------------------------------------------------------------------------------------- | -| `group:runtime` | `exec`, `process`, `code_execution`(`bash` は `exec` の alias として受理) | +| `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` | @@ -1922,11 +1932,11 @@ Talk mode(macOS/iOS/Android)のデフォルト値。 | `group:nodes` | `nodes` | | `group:agents` | `agents_list` | | `group:media` | `image`, `image_generate`, `video_generate`, `tts` | -| `group:openclaw` | すべての組み込み tools(provider plugins を除く) | +| `group:openclaw` | すべての組み込みツール(provider plugin は除く) | ### `tools.allow` / `tools.deny` -グローバルな tool 許可/拒否ポリシー(deny が優先)。大文字小文字を区別せず、`*` ワイルドカードをサポートします。Docker sandbox がオフでも適用されます。 +グローバルなツール許可/拒否ポリシー(deny が優先)。大文字小文字を区別せず、`*` ワイルドカードをサポートします。Docker sandbox が無効でも適用されます。 ```json5 { @@ -1936,7 +1946,7 @@ Talk mode(macOS/iOS/Android)のデフォルト値。 ### `tools.byProvider` -特定の provider または model 向けに、tool をさらに制限します。順序: base profile → provider profile → allow/deny。 +特定のプロバイダーまたはモデルに対するツールをさらに制限します。順序: ベースプロファイル → provider profile → allow/deny。 ```json5 { @@ -1952,7 +1962,7 @@ Talk mode(macOS/iOS/Android)のデフォルト値。 ### `tools.elevated` -sandbox 外での elevated exec access を制御します。 +sandbox の外での elevated exec access を制御します。 ```json5 { @@ -1968,9 +1978,9 @@ sandbox 外での elevated exec access を制御します。 } ``` -- agent ごとの上書き(`agents.list[].tools.elevated`)は、さらに制限することしかできません。 -- `/elevated on|off|ask|full` は状態を session ごとに保存します。インライン directive は単一メッセージにのみ適用されます。 -- Elevated `exec` は sandboxing をバイパスし、設定された escape path(デフォルトは `gateway`、exec target が `node` の場合は `node`)を使用します。 +- エージェントごとのオーバーライド(`agents.list[].tools.elevated`)は、さらに制限することしかできません。 +- `/elevated on|off|ask|full` は状態をセッションごとに保存します。インライン directive は単一メッセージに適用されます。 +- Elevated `exec` は sandboxing をバイパスし、設定された escape path(デフォルトでは `gateway`、exec target が `node` の場合は `node`)を使用します。 ### `tools.exec` @@ -1994,8 +2004,8 @@ sandbox 外での elevated exec access を制御します。 ### `tools.loopDetection` -tool-loop の安全チェックは**デフォルトで無効**です。有効化するには `enabled: true` を設定します。 -設定はグローバルの `tools.loopDetection` で定義でき、agent ごとに `agents.list[].tools.loopDetection` で上書きできます。 +ツールループの安全チェックは **デフォルトで無効** です。検出を有効にするには `enabled: true` を設定してください。 +設定はグローバルに `tools.loopDetection` で定義でき、エージェントごとに `agents.list[].tools.loopDetection` で上書きできます。 ```json5 { @@ -2016,13 +2026,13 @@ tool-loop の安全チェックは**デフォルトで無効**です。有効化 } ``` -- `historySize`: loop 分析用に保持する tool-call history の最大数。 -- `warningThreshold`: 警告を出す no-progress 繰り返しパターンの閾値。 -- `criticalThreshold`: 重大な loop をブロックする、より高い繰り返し閾値。 -- `globalCircuitBreakerThreshold`: あらゆる no-progress 実行に対する強制停止閾値。 -- `detectors.genericRepeat`: 同じ tool/同じ args の繰り返し呼び出しを警告。 -- `detectors.knownPollNoProgress`: 既知の poll tools(`process.poll`、`command_status` など)の no-progress を警告/ブロック。 -- `detectors.pingPong`: 交互に現れる no-progress ペアパターンを警告/ブロック。 +- `historySize`: ループ分析のために保持する tool-call 履歴の最大数。 +- `warningThreshold`: 警告を出す、繰り返しの no-progress パターンしきい値。 +- `criticalThreshold`: 重大なループをブロックする、より高い繰り返ししきい値。 +- `globalCircuitBreakerThreshold`: あらゆる no-progress 実行に対するハードストップしきい値。 +- `detectors.genericRepeat`: 同じツール/同じ引数の繰り返し呼び出しで警告。 +- `detectors.knownPollNoProgress`: 既知の poll ツール(`process.poll`、`command_status` など)で警告/ブロック。 +- `detectors.pingPong`: 交互に現れる no-progress ペアパターンで警告/ブロック。 - `warningThreshold >= criticalThreshold` または `criticalThreshold >= globalCircuitBreakerThreshold` の場合、検証は失敗します。 ### `tools.web` @@ -2033,14 +2043,14 @@ tool-loop の安全チェックは**デフォルトで無効**です。有効化 web: { search: { enabled: true, - apiKey: "brave_api_key", // or BRAVE_API_KEY env + apiKey: "brave_api_key", // または BRAVE_API_KEY env maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, fetch: { enabled: true, - provider: "firecrawl", // optional; omit for auto-detect + provider: "firecrawl", // オプション。自動検出するには省略 maxChars: 50000, maxCharsCap: 50000, maxResponseBytes: 2000000, @@ -2057,7 +2067,7 @@ tool-loop の安全チェックは**デフォルトで無効**です。有効化 ### `tools.media` -受信 media 理解(image/audio/video)を設定します。 +受信メディア理解(画像/音声/動画)を設定します。 ```json5 { @@ -2065,7 +2075,7 @@ tool-loop の安全チェックは**デフォルトで無効**です。有効化 media: { concurrency: 2, asyncCompletion: { - directSend: false, // opt-in: send finished async music/video directly to the channel + directSend: false, // opt-in: 完了した async music/video をチャネルへ直接送信 }, audio: { enabled: true, @@ -2089,32 +2099,30 @@ tool-loop の安全チェックは**デフォルトで無効**です。有効化 } ``` - + -**Provider エントリー**(`type: "provider"` または省略時): +**Provider エントリ**(`type: "provider"` または省略時): - `provider`: API provider id(`openai`、`anthropic`、`google`/`gemini`、`groq` など) -- `model`: model id 上書き +- `model`: model id オーバーライド - `profile` / `preferredProfile`: `auth-profiles.json` の profile 選択 -**CLI エントリー**(`type: "cli"`): +**CLI エントリ**(`type: "cli"`): -- `command`: 実行する executable -- `args`: テンプレート展開される args(`{{MediaPath}}`、`{{Prompt}}`、`{{MaxChars}}` などをサポート) +- `command`: 実行する実行ファイル +- `args`: テンプレート化された引数(`{{MediaPath}}`、`{{Prompt}}`、`{{MaxChars}}` などをサポート) **共通フィールド:** - `capabilities`: オプションのリスト(`image`、`audio`、`video`)。デフォルト: `openai`/`anthropic`/`minimax` → image、`google` → image+audio+video、`groq` → audio。 -- `prompt`、`maxChars`、`maxBytes`、`timeoutSeconds`、`language`: エントリーごとの上書き。 -- 失敗時は次のエントリーにフォールバックします。 +- `prompt`、`maxChars`、`maxBytes`、`timeoutSeconds`、`language`: エントリごとのオーバーライド。 +- 失敗した場合は次のエントリへフォールバックします。 -Provider auth は標準順序に従います: `auth-profiles.json` → env vars → `models.providers.*.apiKey`。 +Provider auth は標準順序に従います: `auth-profiles.json` → 環境変数 → `models.providers.*.apiKey`。 **Async completion フィールド:** -- `asyncCompletion.directSend`: `true` の場合、完了した async `music_generate` - および `video_generate` タスクは、まずチャネルへ直接配信を試みます。デフォルト: `false` - (旧 requester-session wake/model-delivery path)。 +- `asyncCompletion.directSend`: `true` の場合、完了した async `music_generate` と `video_generate` タスクは、まず直接チャネル配信を試みます。デフォルト: `false`(レガシーの requester-session wake/model-delivery path)。 @@ -2133,9 +2141,9 @@ Provider auth は標準順序に従います: `auth-profiles.json` → env vars ### `tools.sessions` -session tools(`sessions_list`、`sessions_history`、`sessions_send`)でどの session を対象にできるかを制御します。 +session tools(`sessions_list`、`sessions_history`、`sessions_send`)でターゲット可能なセッションを制御します。 -デフォルト: `tree`(現在の session + そこから spawn された session、たとえば subagent)。 +デフォルト: `tree`(現在のセッション + そこから spawned されたセッション、たとえば subagent)。 ```json5 { @@ -2148,62 +2156,62 @@ session tools(`sessions_list`、`sessions_history`、`sessions_send`)でど } ``` -注記: +注意: - `self`: 現在の session key のみ。 -- `tree`: 現在の session + 現在の session から spawn された session(subagents)。 -- `agent`: 現在の agent id に属する任意の session(同じ agent id の下で per-sender session を実行している場合、他ユーザーを含むことがあります)。 -- `all`: 任意の session。cross-agent targeting には依然として `tools.agentToAgent` が必要です。 -- Sandbox clamp: 現在の session が sandboxed で、`agents.defaults.sandbox.sessionToolsVisibility="spawned"` の場合、`tools.sessions.visibility="all"` であっても visibility は `tree` に強制されます。 +- `tree`: 現在のセッション + 現在のセッションから spawned されたセッション(subagent)。 +- `agent`: 現在の agent id に属する任意のセッション(同じ agent id 配下で per-sender session を実行している場合、他のユーザーも含まれ得ます)。 +- `all`: 任意のセッション。cross-agent targeting には引き続き `tools.agentToAgent` が必要です。 +- Sandbox clamp: 現在のセッションが sandboxed で、`agents.defaults.sandbox.sessionToolsVisibility="spawned"` の場合、`tools.sessions.visibility="all"` であっても visibility は `tree` に強制されます。 ### `tools.sessions_spawn` -`sessions_spawn` のインライン添付ファイルサポートを制御します。 +`sessions_spawn` のインライン添付サポートを制御します。 ```json5 { tools: { sessions_spawn: { attachments: { - enabled: false, // opt-in: set true to allow inline file attachments - maxTotalBytes: 5242880, // 5 MB total across all files + enabled: false, // opt-in: true にするとインラインファイル添付を許可 + maxTotalBytes: 5242880, // 全ファイル合計 5 MB maxFiles: 50, - maxFileBytes: 1048576, // 1 MB per file - retainOnSessionKeep: false, // keep attachments when cleanup="keep" + maxFileBytes: 1048576, // 1ファイルあたり 1 MB + retainOnSessionKeep: false, // cleanup="keep" 時に添付を保持 }, }, }, } ``` -注記: +注意: -- 添付ファイルは `runtime: "subagent"` の場合のみサポートされます。ACP runtime は拒否します。 -- ファイルは child workspace の `.openclaw/attachments//` に `.manifest.json` とともに materialize されます。 -- 添付ファイル内容は transcript persistence から自動的に redaction されます。 -- Base64 入力は、厳密な alphabet/padding チェックとデコード前サイズガードにより検証されます。 +- 添付がサポートされるのは `runtime: "subagent"` のみです。ACP runtime では拒否されます。 +- ファイルは子 workspace の `.openclaw/attachments//` に `.manifest.json` とともに実体化されます。 +- 添付内容は transcript persistence から自動的に伏せ字化されます。 +- Base64 入力は、厳格な alphabet/padding チェックと decode 前サイズガードで検証されます。 - ファイル権限はディレクトリが `0700`、ファイルが `0600` です。 -- Cleanup は `cleanup` ポリシーに従います: `delete` は常に添付ファイルを削除し、`keep` は `retainOnSessionKeep: true` の場合にのみ保持します。 +- Cleanup は `cleanup` ポリシーに従います: `delete` は常に添付を削除し、`keep` は `retainOnSessionKeep: true` の場合のみ保持します。 ### `tools.experimental` -実験的な組み込み tool フラグ。runtime 固有の自動有効化ルールが適用されない限り、デフォルトはオフです。 +実験的な組み込みツールフラグです。ランタイム固有の自動有効化規則が適用されない限り、デフォルトでは無効です。 ```json5 { tools: { experimental: { - planTool: true, // enable experimental update_plan + planTool: true, // 実験的な update_plan を有効化 }, }, } ``` -注記: +注意: -- `planTool`: 構造化された `update_plan` ツールを有効にし、些細でない複数ステップ作業の追跡に使います。 -- デフォルト: 非 OpenAI provider では `false`。OpenAI および OpenAI Codex 実行では自動的に有効になります。 -- 有効な場合、system prompt にも使用ガイダンスが追加され、モデルは substantial work に対してのみこれを使用し、`in_progress` のステップを最大 1 つに保つようになります。 +- `planTool`: 自明でない複数ステップ作業の追跡に使う、構造化された `update_plan` ツールを有効にします。 +- デフォルト: OpenAI 以外のプロバイダーでは `false`。OpenAI と OpenAI Codex の実行では自動的に有効化されます。 +- 有効時、システムプロンプトにも使用ガイダンスが追加され、モデルはそれを実質的な作業にのみ使い、`in_progress` は最大1ステップまでに保ちます。 ### `agents.defaults.subagents` @@ -2223,21 +2231,21 @@ session tools(`sessions_list`、`sessions_history`、`sessions_send`)でど } ``` -- `model`: spawn される sub-agent 向けのデフォルト model。省略時は、sub-agent は呼び出し元の model を継承します。 -- `allowAgents`: 要求元 agent が独自の `subagents.allowAgents` を設定していない場合の、`sessions_spawn` 向けデフォルト target agent id 許可リスト(`["*"]` = 任意。デフォルト: 同じ agent のみ)。 -- `runTimeoutSeconds`: `sessions_spawn` が `runTimeoutSeconds` を省略した場合のデフォルト timeout(秒)。`0` は timeout なし。 -- subagent ごとの tool ポリシー: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`。 +- `model`: spawned sub-agent 用のデフォルトモデル。省略時、sub-agent は呼び出し元のモデルを継承します。 +- `allowAgents`: リクエスターエージェントが独自の `subagents.allowAgents` を設定していない場合の、`sessions_spawn` 用ターゲット agent id のデフォルト許可リスト(`["*"]` = 任意、デフォルト: 同じエージェントのみ)。 +- `runTimeoutSeconds`: ツール呼び出しで `runTimeoutSeconds` を省略した場合の `sessions_spawn` のデフォルト timeout(秒)。`0` は timeout なしを意味します。 +- subagent ごとのツールポリシー: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`。 --- -## カスタム provider と base URL +## カスタムプロバイダーと base URL -OpenClaw は組み込み model catalog を使用します。カスタム provider は config の `models.providers` または `~/.openclaw/agents//agent/models.json` で追加します。 +OpenClaw は組み込みモデルカタログを使用します。カスタムプロバイダーは config の `models.providers` または `~/.openclaw/agents//agent/models.json` で追加します。 ```json5 { models: { - mode: "merge", // merge (default) | replace + mode: "merge", // merge(デフォルト) | replace providers: { "custom-proxy": { baseUrl: "http://localhost:4000/v1", @@ -2261,46 +2269,46 @@ OpenClaw は組み込み model catalog を使用します。カスタム provide } ``` -- カスタム認証が必要な場合は `authHeader: true` + `headers` を使用します。 -- agent config root は `OPENCLAW_AGENT_DIR`(または旧環境変数 alias の `PI_CODING_AGENT_DIR`)で上書きできます。 +- カスタム認証が必要な場合は `authHeader: true` + `headers` を使用してください。 +- agent config root は `OPENCLAW_AGENT_DIR`(またはレガシーな環境変数別名 `PI_CODING_AGENT_DIR`)で上書きできます。 - 一致する provider ID に対するマージ優先順位: - - 空でない agent `models.json` の `baseUrl` が優先されます。 - - 空でない agent `apiKey` は、その provider が現在の config/auth-profile コンテキストで SecretRef 管理されていない場合にのみ優先されます。 - - SecretRef 管理された provider `apiKey` 値は、解決済みシークレットを永続化する代わりに source marker(env ref では `ENV_VAR_NAME`、file/exec ref では `secretref-managed`)から再更新されます。 - - SecretRef 管理された provider header 値は、source marker(env ref では `secretref-env:ENV_VAR_NAME`、file/exec ref では `secretref-managed`)から再更新されます。 + - 空でない agent `models.json` の `baseUrl` 値が優先されます。 + - 空でない agent `apiKey` 値は、その provider が現在の config/auth-profile context で SecretRef 管理されていない場合にのみ優先されます。 + - SecretRef 管理された provider の `apiKey` 値は、解決済みの秘密値を永続化するのではなく、source marker(env ref では `ENV_VAR_NAME`、file/exec ref では `secretref-managed`)から更新されます。 + - SecretRef 管理された provider header 値は、source marker(env ref では `secretref-env:ENV_VAR_NAME`、file/exec ref では `secretref-managed`)から更新されます。 - 空または欠落した agent `apiKey`/`baseUrl` は、config の `models.providers` にフォールバックします。 - - 一致する model の `contextWindow`/`maxTokens` には、明示的 config と暗黙 catalog 値の高い方が使われます。 - - 一致する model の `contextTokens` は、存在する場合は明示的ランタイム cap を保持します。ネイティブ model metadata を変えずに実効 context を制限したい場合に使用してください。 - - config により `models.json` を完全に書き換えたい場合は `models.mode: "replace"` を使用します。 - - marker persistence は source-authoritative です: marker は解決済みランタイムシークレット値からではなく、アクティブな source config snapshot(解決前)から書き込まれます。 + - 一致する model の `contextWindow`/`maxTokens` は、明示的 config 値と暗黙の catalog 値の高い方を使用します。 + - 一致する model の `contextTokens` は、明示的な runtime cap が存在する場合はそれを保持します。モデル本来の `contextWindow` を変えずに有効コンテキストを制限したい場合に使用してください。 + - config で `models.json` を完全に書き換えたい場合は `models.mode: "replace"` を使用します。 + - marker persistence は source-authoritative です: marker は解決済みランタイム秘密値からではなく、アクティブな source config snapshot(解決前)から書き込まれます。 ### Provider フィールドの詳細 -- `models.mode`: provider catalog の動作(`merge` または `replace`)。 -- `models.providers`: provider id をキーとするカスタム provider マップ。 +- `models.mode`: provider catalog 動作(`merge` または `replace`)。 +- `models.providers`: provider id をキーとするカスタム provider map。 - `models.providers.*.api`: リクエストアダプター(`openai-completions`、`openai-responses`、`anthropic-messages`、`google-generative-ai` など)。 -- `models.providers.*.apiKey`: provider credential(SecretRef/env substitution を推奨)。 -- `models.providers.*.auth`: auth 戦略(`api-key`、`token`、`oauth`、`aws-sdk`)。 +- `models.providers.*.apiKey`: provider credential(SecretRef/env substitution の使用を推奨)。 +- `models.providers.*.auth`: auth strategy(`api-key`、`token`、`oauth`、`aws-sdk`)。 - `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` 用に、リクエストへ `options.num_ctx` を注入します(デフォルト: `true`)。 -- `models.providers.*.authHeader`: 必要な場合に `Authorization` header で credential を送るよう強制します。 +- `models.providers.*.authHeader`: 必要な場合に資格情報を `Authorization` ヘッダーで送るよう強制します。 - `models.providers.*.baseUrl`: 上流 API の base URL。 -- `models.providers.*.headers`: proxy/tenant routing 用の追加 static header。 -- `models.providers.*.request`: model-provider HTTP request の transport 上書き。 - - `request.headers`: 追加 header(provider デフォルトとマージ)。値は SecretRef を受け付けます。 - - `request.auth`: auth 戦略の上書き。モード: `"provider-default"`(provider 組み込み auth を使用)、`"authorization-bearer"`(`token` を使用)、`"header"`(`headerName`、`value`、オプションの `prefix` を使用)。 - - `request.proxy`: HTTP proxy の上書き。モード: `"env-proxy"`(`HTTP_PROXY`/`HTTPS_PROXY` 環境変数を使用)、`"explicit-proxy"`(`url` を使用)。両モードともオプションの `tls` サブオブジェクトを受け付けます。 - - `request.tls`: direct connection 向けの TLS 上書き。フィールド: `ca`、`cert`、`key`、`passphrase`(すべて SecretRef を受け付けます)、`serverName`、`insecureSkipVerify`。 -- `models.providers.*.models`: 明示的な provider model catalog エントリー。 -- `models.providers.*.models.*.contextWindow`: ネイティブ model の context window metadata。 -- `models.providers.*.models.*.contextTokens`: オプションの runtime context cap。model 本来の `contextWindow` より小さい実効 context budget を使いたい場合に使用します。 -- `models.providers.*.models.*.compat.supportsDeveloperRole`: オプションの互換性ヒント。`api: "openai-completions"` で空でない非ネイティブ `baseUrl`(host が `api.openai.com` ではない)を使用している場合、OpenClaw は実行時にこれを `false` へ強制します。`baseUrl` が空/省略なら OpenAI のデフォルト動作を維持します。 -- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock 自動 discovery 設定のルート。 -- `plugins.entries.amazon-bedrock.config.discovery.enabled`: 暗黙 discovery のオン/オフ。 -- `plugins.entries.amazon-bedrock.config.discovery.region`: discovery 用の AWS region。 -- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: 対象を絞った discovery 向けのオプション provider-id filter。 -- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: discovery refresh の polling interval。 -- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: discovery された model 用のフォールバック context window。 -- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: discovery された model 用のフォールバック max output tokens。 +- `models.providers.*.headers`: proxy/tenant routing 用の追加の静的ヘッダー。 +- `models.providers.*.request`: model-provider HTTP request 用の transport オーバーライド。 + - `request.headers`: 追加ヘッダー(provider デフォルトとマージ)。値には SecretRef を指定できます。 + - `request.auth`: auth strategy のオーバーライド。モード: `"provider-default"`(provider 組み込み auth を使用)、`"authorization-bearer"`(`token` を使用)、`"header"`(`headerName`、`value`、オプションの `prefix` を使用)。 + - `request.proxy`: HTTP proxy オーバーライド。モード: `"env-proxy"`(`HTTP_PROXY`/`HTTPS_PROXY` env vars を使用)、`"explicit-proxy"`(`url` を使用)。どちらのモードでもオプションの `tls` サブオブジェクトを受け付けます。 + - `request.tls`: 直接接続用の TLS オーバーライド。フィールド: `ca`、`cert`、`key`、`passphrase`(すべて SecretRef を受け付け)、`serverName`、`insecureSkipVerify`。 +- `models.providers.*.models`: 明示的な provider model catalog entry。 +- `models.providers.*.models.*.contextWindow`: モデル本来の context window メタデータ。 +- `models.providers.*.models.*.contextTokens`: オプションの runtime context cap。モデル本来の `contextWindow` より小さい有効コンテキスト予算にしたい場合に使用します。 +- `models.providers.*.models.*.compat.supportsDeveloperRole`: オプションの互換性ヒント。`api: "openai-completions"` で空でない非ネイティブ `baseUrl`(ホストが `api.openai.com` ではない)の場合、OpenClaw はランタイムでこれを強制的に `false` にします。空または省略された `baseUrl` では、OpenAI のデフォルト動作を維持します。 +- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock 自動検出設定のルート。 +- `plugins.entries.amazon-bedrock.config.discovery.enabled`: 暗黙的な discovery のオン/オフ。 +- `plugins.entries.amazon-bedrock.config.discovery.region`: discovery 用の AWS リージョン。 +- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: targeted discovery 用のオプションの provider-id filter。 +- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: discovery refresh 用ポーリング間隔。 +- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: discovered model 用のフォールバック context window。 +- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: discovered model 用のフォールバック max output tokens。 ### Provider の例 @@ -2338,7 +2346,7 @@ OpenClaw は組み込み model catalog を使用します。カスタム provide } ``` -Cerebras には `cerebras/zai-glm-4.7` を、Z.AI direct には `zai/glm-4.7` を使用します。 +Cerebras には `cerebras/zai-glm-4.7`、Z.AI 直結には `zai/glm-4.7` を使用します。 @@ -2355,7 +2363,7 @@ Cerebras には `cerebras/zai-glm-4.7` を、Z.AI direct には `zai/glm-4.7` } ``` -`OPENCODE_API_KEY`(または `OPENCODE_ZEN_API_KEY`)を設定してください。Zen catalog には `opencode/...` 参照を、Go catalog には `opencode-go/...` 参照を使用します。ショートカット: `openclaw onboard --auth-choice opencode-zen` または `openclaw onboard --auth-choice opencode-go`。 +`OPENCODE_API_KEY`(または `OPENCODE_ZEN_API_KEY`)を設定してください。Zen catalog には `opencode/...` 参照、Go catalog には `opencode-go/...` 参照を使用します。ショートカット: `openclaw onboard --auth-choice opencode-zen` または `openclaw onboard --auth-choice opencode-go`。 @@ -2372,11 +2380,11 @@ Cerebras には `cerebras/zai-glm-4.7` を、Z.AI direct には `zai/glm-4.7` } ``` -`ZAI_API_KEY` を設定してください。`z.ai/*` と `z-ai/*` は受け付けられる alias です。ショートカット: `openclaw onboard --auth-choice zai-api-key`。 +`ZAI_API_KEY` を設定してください。`z.ai/*` と `z-ai/*` は許容される別名です。ショートカット: `openclaw onboard --auth-choice zai-api-key`。 -- 一般 endpoint: `https://api.z.ai/api/paas/v4` +- General endpoint: `https://api.z.ai/api/paas/v4` - Coding endpoint(デフォルト): `https://api.z.ai/api/coding/paas/v4` -- 一般 endpoint には、base URL 上書き付きのカスタム provider を定義してください。 +- General endpoint を使う場合は、base URL override を持つカスタム provider を定義してください。 @@ -2415,9 +2423,9 @@ Cerebras には `cerebras/zai-glm-4.7` を、Z.AI direct には `zai/glm-4.7` } ``` -China endpoint には `baseUrl: "https://api.moonshot.cn/v1"` または `openclaw onboard --auth-choice moonshot-api-key-cn` を使用してください。 +中国エンドポイントの場合: `baseUrl: "https://api.moonshot.cn/v1"` または `openclaw onboard --auth-choice moonshot-api-key-cn`。 -ネイティブ Moonshot endpoint は、共有の `openai-completions` transport で streaming usage compatibility を広告しており、OpenClaw は現在これを組み込み provider id のみに依存せず endpoint capability に基づいて判定します。 +ネイティブ Moonshot endpoint は共有の `openai-completions` transport 上でのストリーミング使用互換性を示し、OpenClaw は現在、組み込み provider id 単体ではなく endpoint capability に基づいてそれを判定します。 @@ -2435,11 +2443,11 @@ China endpoint には `baseUrl: "https://api.moonshot.cn/v1"` または `opencla } ``` -Anthropic 互換の組み込み provider。ショートカット: `openclaw onboard --auth-choice kimi-code-api-key`。 +Anthropic 互換の組み込み provider です。ショートカット: `openclaw onboard --auth-choice kimi-code-api-key`。 - + ```json5 { @@ -2474,11 +2482,11 @@ Anthropic 互換の組み込み provider。ショートカット: `openclaw onbo } ``` -Base URL には `/v1` を含めないでください(Anthropic client が付加します)。ショートカット: `openclaw onboard --auth-choice synthetic-api-key`。 +Base URL には `/v1` を含めないでください(Anthropic client がそれを付加します)。ショートカット: `openclaw onboard --auth-choice synthetic-api-key`。 - + ```json5 { @@ -2517,14 +2525,14 @@ Base URL には `/v1` を含めないでください(Anthropic client が付 `MINIMAX_API_KEY` を設定してください。ショートカット: `openclaw onboard --auth-choice minimax-global-api` または `openclaw onboard --auth-choice minimax-cn-api`。 -model catalog は現在 M2.7 のみをデフォルトにしています。 -Anthropic 互換 streaming path では、thinking を明示設定しない限り OpenClaw は MiniMax thinking をデフォルトで無効化します。`/fast on` または `params.fastMode: true` は `MiniMax-M2.7` を `MiniMax-M2.7-highspeed` に書き換えます。 +モデルカタログは現在、M2.7 のみをデフォルトとします。 +Anthropic 互換ストリーミング経路では、明示的に `thinking` を設定しない限り、OpenClaw はデフォルトで MiniMax thinking を無効にします。`/fast on` または `params.fastMode: true` は `MiniMax-M2.7` を `MiniMax-M2.7-highspeed` に書き換えます。 - + -[Local Models](/ja-JP/gateway/local-models) を参照してください。要点: 本格的なハードウェア上の LM Studio Responses API で大きなローカル model を実行し、フォールバック用にはホスト型 model をマージしたままにしてください。 +[Local Models](/ja-JP/gateway/local-models) を参照してください。要点: 十分な性能のハードウェア上で LM Studio Responses API 経由の大規模ローカルモデルを実行し、フォールバック用にホスト型モデルを merged のまま残してください。 @@ -2537,79 +2545,4 @@ Anthropic 互換 streaming path では、thinking を明示設定しない限り skills: { allowBundled: ["gemini", "peekaboo"], load: { - extraDirs: ["~/Projects/agent-scripts/skills"], - }, - install: { - preferBrew: true, - nodeManager: "npm", // npm | pnpm | yarn | bun - }, - entries: { - "image-lab": { - apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string - env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" }, - }, - peekaboo: { enabled: true }, - sag: { enabled: false }, - }, - }, -} -``` - -- `allowBundled`: bundled skills のみを対象とするオプション許可リスト(managed/workspace skills には影響しません)。 -- `load.extraDirs`: 追加の共有 skill root(最も低い優先順位)。 -- `install.preferBrew`: true の場合、`brew` が利用可能なら他の installer 種類にフォールバックする前に Homebrew installer を優先します。 -- `install.nodeManager`: `metadata.openclaw.install` spec 向けの node installer 優先設定(`npm` | `pnpm` | `yarn` | `bun`)。 -- `entries..enabled: false` は、その skill が bundled/installed されていても無効化します。 -- `entries..apiKey`: primary env var を宣言する skill 向けの簡易 API key フィールド(skill がサポートしている場合)。 - ---- - -## Plugins - -```json5 -{ - plugins: { - enabled: true, - allow: ["voice-call"], - deny: [], - load: { - paths: ["~/Projects/oss/voice-call-extension"], - }, - entries: { - "voice-call": { - enabled: true, - hooks: { - allowPromptInjection: false, - }, - config: { provider: "twilio" }, - }, - }, - }, -} -``` - -- `~/.openclaw/extensions`、`/.openclaw/extensions`、および `plugins.load.paths` から読み込まれます。 -- discovery はネイティブ OpenClaw plugins と互換性のある Codex bundle および Claude bundle を受け付け、manifest なしの Claude default-layout bundle も含まれます。 -- **設定変更には Gateway の再起動が必要です。** -- `allow`: オプションの許可リスト(列挙された plugin のみ読み込み)。`deny` が優先されます。 -- `plugins.entries..apiKey`: plugin レベルの API key 簡易フィールド(plugin がサポートする場合)。 -- `plugins.entries..env`: plugin スコープの env var マップ。 -- `plugins.entries..hooks.allowPromptInjection`: `false` の場合、core は `before_prompt_build` をブロックし、旧 `before_agent_start` からの prompt 変更フィールドを無視します。ただし旧 `modelOverride` と `providerOverride` は保持します。ネイティブ plugin hook と、サポートされる bundle 提供 hook directory に適用されます。 -- `plugins.entries..subagent.allowModelOverride`: この plugin が background subagent 実行に対して per-run の `provider` と `model` 上書きを要求することを明示的に信頼します。 -- `plugins.entries..subagent.allowedModels`: 信頼済み subagent 上書き向けの、正規 `provider/model` target のオプション許可リスト。意図的に任意の model を許可したい場合にのみ `"*"` を使用してください。 -- `plugins.entries..config`: plugin 定義の config object(利用可能な場合、ネイティブ OpenClaw plugin schema で検証)。 -- `plugins.entries.firecrawl.config.webFetch`: Firecrawl web-fetch provider 設定。 - - `apiKey`: Firecrawl API key(SecretRef を受け付けます)。`plugins.entries.firecrawl.config.webSearch.apiKey`、旧 `tools.web.fetch.firecrawl.apiKey`、または `FIRECRAWL_API_KEY` env var にフォールバックします。 - - `baseUrl`: Firecrawl API base URL(デフォルト: `https://api.firecrawl.dev`)。 - - `onlyMainContent`: ページから主要コンテンツのみを抽出(デフォルト: `true`)。 - - `maxAgeMs`: キャッシュの最大経過時間(ミリ秒)(デフォルト: `172800000` / 2 日)。 - - `timeoutSeconds`: scrape request timeout(秒)(デフォルト: `60`)。 -- `plugins.entries.xai.config.xSearch`: xAI X Search(Grok web search)設定。 - - `enabled`: X Search provider を有効化。 - - `model`: 検索に使用する Grok model(例: `"grok-4-1-fast"`)。 -- `plugins.entries.memory-core.config.dreaming`: memory dreaming(experimental)設定。フェーズと閾値は [Dreaming](/concepts/dreaming) を参照してください。 - - `enabled`: dreaming のマスタースイッチ(デフォルト `false`)。 - - `frequency`: 各完全 dreaming sweep の cron cadence(デフォルト `"0 3 * * *"`)。 - - phase policy と threshold は実装詳細であり(ユーザー向け config key ではありません)。 -- 有効な Claude bundle plugin は、`settings.json` から埋め込み Pi デフォルトも提供できます。OpenClaw はこれらを raw OpenClaw config patch ではなく、sanitize 済み agent setting として適用します。 -- \ No newline at end of file + extraDirs: ["~/Projects/agent \ No newline at end of file diff --git a/docs/ja-JP/plugins/sdk-migration.md b/docs/ja-JP/plugins/sdk-migration.md index 221725837..e883eda7c 100644 --- a/docs/ja-JP/plugins/sdk-migration.md +++ b/docs/ja-JP/plugins/sdk-migration.md @@ -1,80 +1,64 @@ --- read_when: - - OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED 警告が表示されたとき - - OPENCLAW_EXTENSION_API_DEPRECATED 警告が表示されたとき - - プラグインを最新のプラグインアーキテクチャへ更新しているとき - - 外部のOpenClawプラグインを保守しているとき + - OPENCLAW_PLUGIN_SDK_COMPAT_DEPRECATED 警告が表示された場合 + - OPENCLAW_EXTENSION_API_DEPRECATED 警告が表示された場合 + - plugin をモダンな plugin アーキテクチャへ更新している場合 + - 外部の OpenClaw plugin をメンテナンスしている場合 sidebarTitle: Migrate to SDK -summary: レガシーな後方互換レイヤーから最新のプラグインSDKへ移行する -title: プラグインSDK移行 +summary: レガシーな後方互換レイヤーからモダンな plugin SDK へ移行する +title: Plugin SDK 移行 x-i18n: - generated_at: "2026-04-06T03:10:43Z" + generated_at: "2026-04-06T04:44:33Z" model: gpt-5.4 provider: openai - source_hash: b71ce69b30c3bb02da1b263b1d11dc3214deae5f6fc708515e23b5a1c7bb7c8f + source_hash: 94f12d1376edd8184714cc4dbea4a88fa8ed652f65e9365ede6176f3bf441b33 source_path: plugins/sdk-migration.md workflow: 15 --- -# プラグインSDK移行 +# Plugin SDK 移行 -OpenClawは、広範な後方互換レイヤーから、焦点を絞った文書化済みのimportを持つ最新のプラグイン -アーキテクチャへ移行しました。新しいアーキテクチャ以前にプラグインを構築した場合、このガイドが移行に役立ちます。 +OpenClaw は、広範な後方互換レイヤーから、目的が明確で文書化された import を備えたモダンな plugin アーキテクチャへ移行しました。あなたの plugin が新しいアーキテクチャ以前に作られたものであれば、このガイドが移行の助けになります。 ## 何が変わるのか -古いプラグインシステムでは、プラグインが単一のエントリポイントから必要なものを何でもimportできる、 -非常に広い2つのサーフェスが提供されていました。 +古い plugin システムでは、単一のエントリポイントから必要なものを何でも import できる、非常に広い 2 つのサーフェスが提供されていました。 -- **`openclaw/plugin-sdk/compat`** — 数十個の - ヘルパーを再エクスポートする単一import。新しい - プラグインアーキテクチャの構築中に、古いフックベースのプラグインを動作させ続けるために導入されました。 -- **`openclaw/extension-api`** — 埋め込みエージェントランナーのような - ホスト側ヘルパーへプラグインが直接アクセスできるようにするブリッジ。 +- **`openclaw/plugin-sdk/compat`** — 数十のヘルパーを再エクスポートする単一の import。新しい plugin アーキテクチャの構築中に、古い hook ベースの plugin を動かし続けるために導入されました。 +- **`openclaw/extension-api`** — 埋め込みエージェントランナーのような host 側ヘルパーへ plugin から直接アクセスできるようにするブリッジ。 -これら2つのサーフェスは現在 **非推奨** です。ランタイムではまだ動作しますが、新しい -プラグインは使用してはいけません。また既存のプラグインも、次のメジャーリリースで削除される前に移行する必要があります。 +これら 2 つのサーフェスは現在どちらも**非推奨**です。実行時には引き続き動作しますが、新しい plugin では使用してはいけません。また、既存の plugin は、次のメジャーリリースで削除される前に移行する必要があります。 この後方互換レイヤーは、将来のメジャーリリースで削除されます。 - これらのサーフェスからまだimportしているプラグインは、その時点で壊れます。 + これらのサーフェスから import している plugin は、その時点で動作しなくなります。 ## なぜ変更されたのか 古いアプローチには問題がありました。 -- **起動が遅い** — 1つのヘルパーをimportするだけで、無関係な数十のモジュールが読み込まれていました -- **循環依存** — 広範な再エクスポートによってimportサイクルが簡単に生じていました -- **不明確なAPIサーフェス** — どのexportが安定していて、どれが内部実装なのか判別する方法がありませんでした +- **起動が遅い** — 1 つのヘルパーを import すると、無関係な数十の module が読み込まれる +- **循環依存** — 広範な再エクスポートにより、import サイクルが簡単に発生する +- **不明確な API サーフェス** — どの export が安定していて、どれが内部用なのか判別できない -最新のプラグインSDKはこれを解決します。各importパス(`openclaw/plugin-sdk/\`) -は、小さく自己完結したモジュールであり、明確な目的と文書化された契約を持ちます。 +モダンな plugin SDK はこれを解決します。各 import path(`openclaw/plugin-sdk/\`)は、小さく自己完結した module であり、明確な目的と文書化された契約を持っています。 -バンドルされたチャンネル向けのレガシーprovider便宜シームもなくなりました。 -`openclaw/plugin-sdk/slack`、`openclaw/plugin-sdk/discord`、 -`openclaw/plugin-sdk/signal`、`openclaw/plugin-sdk/whatsapp`、 -チャンネル名付きのヘルパーシーム、および -`openclaw/plugin-sdk/telegram-core` のようなimportは、安定した -プラグイン契約ではなく、プライベートなモノレポ用ショートカットでした。代わりに、細い汎用SDK subpathを使ってください。バンドルされたプラグインworkspace内では、provider所有ヘルパーはそのプラグイン自身の -`api.ts` または `runtime-api.ts` に置いてください。 +バンドルされた channel 向けのレガシーな provider 便利 seam も廃止されました。`openclaw/plugin-sdk/slack`、`openclaw/plugin-sdk/discord`、`openclaw/plugin-sdk/signal`、`openclaw/plugin-sdk/whatsapp`、channel ブランド付きヘルパー seam、`openclaw/plugin-sdk/telegram-core` のような import は、安定した plugin 契約ではなく、mono-repo 内部向けのプライベートなショートカットでした。代わりに、汎用の狭い SDK subpath を使ってください。バンドルされた plugin workspace 内では、provider が所有するヘルパーはその plugin 自身の `api.ts` または `runtime-api.ts` に保持してください。 -現在のバンドルproviderの例: +現在のバンドル済み provider の例: -- Anthropicは、Claude固有のstreamヘルパーを自身の `api.ts` / - `contract-api.ts` シームに保持しています -- OpenAIは、providerビルダー、デフォルトモデルヘルパー、realtime provider - ビルダーを自身の `api.ts` に保持しています -- OpenRouterは、providerビルダーとオンボーディング/configヘルパーを自身の - `api.ts` に保持しています +- Anthropic は Claude 固有の stream ヘルパーを自身の `api.ts` / `contract-api.ts` seam に保持 +- OpenAI は provider builder、default-model ヘルパー、realtime provider builder を自身の `api.ts` に保持 +- OpenRouter は provider builder と onboarding/config ヘルパーを自身の `api.ts` に保持 ## 移行方法 - - プラグインが `openclaw/plugin-sdk/windows-spawn` を使っている場合、解決できないWindows - `.cmd`/`.bat` ラッパーは、明示的に - `allowShellFallback: true` を渡さない限り、現在はfail closedになります。 + + あなたの plugin が `openclaw/plugin-sdk/windows-spawn` を使っている場合、解決できない Windows の + `.cmd`/`.bat` wrapper は、明示的に + `allowShellFallback: true` を渡さない限り、fail closed するようになりました。 ```typescript // Before @@ -83,18 +67,18 @@ OpenClawは、広範な後方互換レイヤーから、焦点を絞った文書 // After const program = applyWindowsSpawnProgramPolicy({ candidate, - // シェル経由のフォールバックを意図的に受け入れる、信頼された互換呼び出し元にのみ設定します。 + // シェルを介した fallback を意図的に受け入れる、信頼された互換呼び出し元でのみ設定してください。 allowShellFallback: true, }); ``` - 呼び出し元が意図的にシェルフォールバックへ依存していない場合は、 - `allowShellFallback` を設定せず、代わりに投げられるエラーを処理してください。 + 呼び出し元が意図的に shell fallback に依存していない場合は、 + `allowShellFallback` を設定せず、代わりに投げられた error を処理してください。 - - プラグイン内で、いずれかの非推奨サーフェスからのimportを検索します。 + + あなたの plugin 内で、いずれかの非推奨サーフェスからの import を検索してください。 ```bash grep -r "plugin-sdk/compat" my-plugin/ @@ -103,37 +87,37 @@ OpenClawは、広範な後方互換レイヤーから、焦点を絞った文書 - - 古いサーフェスの各exportは、特定の最新importパスへ対応しています。 + + 古いサーフェスの各 export は、特定のモダンな import path に対応しています。 ```typescript - // Before (deprecated backwards-compatibility layer) + // Before(非推奨の後方互換レイヤー) import { createChannelReplyPipeline, createPluginRuntimeStore, resolveControlCommandGate, } from "openclaw/plugin-sdk/compat"; - // After (modern focused imports) + // After(モダンで目的別の import) import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline"; import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth"; ``` - ホスト側ヘルパーについては、直接importする代わりに注入されたプラグインランタイムを使用します。 + host 側ヘルパーについては、直接 import するのではなく、注入された plugin runtime を使ってください。 ```typescript - // Before (deprecated extension-api bridge) + // Before(非推奨の extension-api ブリッジ) import { runEmbeddedPiAgent } from "openclaw/extension-api"; const result = await runEmbeddedPiAgent({ sessionId, prompt }); - // After (injected runtime) + // After(注入された runtime) const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt }); ``` - 同じパターンは、他のレガシーブリッジヘルパーにも適用されます。 + 同じパターンは、他のレガシーな bridge ヘルパーにも当てはまります。 - | Old import | 最新の対応先 | + | 古い import | モダンな同等物 | | --- | --- | | `resolveAgentDir` | `api.runtime.agent.resolveAgentDir` | | `resolveAgentWorkspaceDir` | `api.runtime.agent.resolveAgentWorkspaceDir` | @@ -153,208 +137,215 @@ OpenClawは、広範な後方互換レイヤーから、焦点を絞った文書 -## importパスリファレンス +## import path リファレンス - - | Import path | 目的 | 主なexport | + + | Import path | 用途 | 主な export | | --- | --- | --- | - | `plugin-sdk/plugin-entry` | 正式なプラグインエントリヘルパー | `definePluginEntry` | - | `plugin-sdk/core` | チャンネルエントリ定義/ビルダー向けのレガシーなアンブレラ再エクスポート | `defineChannelPluginEntry`, `createChatChannelPlugin` | - | `plugin-sdk/config-schema` | ルートconfigスキーマexport | `OpenClawSchema` | - | `plugin-sdk/provider-entry` | 単一providerエントリヘルパー | `defineSingleProviderPluginEntry` | - | `plugin-sdk/channel-core` | 焦点を絞ったチャンネルエントリ定義とビルダー | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | - | `plugin-sdk/setup` | 共通セットアップウィザードヘルパー | Allowlistプロンプト、セットアップステータスビルダー | - | `plugin-sdk/setup-runtime` | セットアップ時ランタイムヘルパー | import-safeなセットアップpatchアダプター、lookup-noteヘルパー、`promptResolvedAllowFrom`, `splitSetupEntries`, 委譲セットアッププロキシ | - | `plugin-sdk/setup-adapter-runtime` | セットアップアダプターヘルパー | `createEnvPatchedAccountSetupAdapter` | - | `plugin-sdk/setup-tools` | セットアップtoolingヘルパー | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | - | `plugin-sdk/account-core` | マルチアカウントヘルパー | アカウント一覧/config/アクションゲートヘルパー | - | `plugin-sdk/account-id` | account-id ヘルパー | `DEFAULT_ACCOUNT_ID`, account-id 正規化 | - | `plugin-sdk/account-resolution` | アカウント参照ヘルパー | アカウント参照 + デフォルトフォールバックヘルパー | - | `plugin-sdk/account-helpers` | 細いアカウントヘルパー | アカウント一覧/アカウントアクションヘルパー | - | `plugin-sdk/channel-setup` | セットアップウィザードアダプター | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, および `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | - | `plugin-sdk/channel-pairing` | DMペアリング基本要素 | `createChannelPairingController` | - | `plugin-sdk/channel-reply-pipeline` | 返信プレフィックス + typing 配線 | `createChannelReplyPipeline` | - | `plugin-sdk/channel-config-helpers` | Configアダプターファクトリー | `createHybridChannelConfigAdapter` | - | `plugin-sdk/channel-config-schema` | Configスキーマビルダー | チャンネルconfigスキーマ型 | - | `plugin-sdk/telegram-command-config` | Telegramコマンドconfigヘルパー | コマンド名正規化、説明トリミング、重複/競合検証 | - | `plugin-sdk/channel-policy` | グループ/DMポリシー解決 | `resolveChannelGroupRequireMention` | - | `plugin-sdk/channel-lifecycle` | アカウントステータス追跡 | `createAccountStatusSink` | - | `plugin-sdk/inbound-envelope` | 受信envelopeヘルパー | 共通ルート + envelopeビルダーヘルパー | - | `plugin-sdk/inbound-reply-dispatch` | 受信返信ヘルパー | 共通の記録とディスパッチヘルパー | - | `plugin-sdk/messaging-targets` | メッセージングターゲット解析 | ターゲット解析/照合ヘルパー | - | `plugin-sdk/outbound-media` | 送信メディアヘルパー | 共通の送信メディア読み込み | - | `plugin-sdk/outbound-runtime` | 送信ランタイムヘルパー | 送信アイデンティティ/送信delegateヘルパー | - | `plugin-sdk/thread-bindings-runtime` | スレッドbindingヘルパー | スレッドbindingライフサイクルとアダプターヘルパー | - | `plugin-sdk/agent-media-payload` | レガシーメディアペイロードヘルパー | レガシーフィールドレイアウト向けエージェントメディアペイロードビルダー | - | `plugin-sdk/channel-runtime` | 非推奨の互換shim | レガシーチャンネルランタイムユーティリティのみ | - | `plugin-sdk/channel-send-result` | 送信結果型 | 返信結果型 | - | `plugin-sdk/runtime-store` | 永続プラグインストレージ | `createPluginRuntimeStore` | - | `plugin-sdk/runtime` | 広範なランタイムヘルパー | ランタイム/ロギング/バックアップ/プラグインインストールヘルパー | - | `plugin-sdk/runtime-env` | 細いランタイムenvヘルパー | ロガー/ランタイムenv、タイムアウト、再試行、バックオフヘルパー | - | `plugin-sdk/plugin-runtime` | 共通プラグインランタイムヘルパー | プラグインコマンド/フック/http/インタラクティブヘルパー | - | `plugin-sdk/hook-runtime` | フックパイプラインヘルパー | 共通webhook/internal hookパイプラインヘルパー | - | `plugin-sdk/lazy-runtime` | 遅延ランタイムヘルパー | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` | - | `plugin-sdk/process-runtime` | processヘルパー | 共通execヘルパー | - | `plugin-sdk/cli-runtime` | CLIランタイムヘルパー | コマンド整形、待機、バージョンヘルパー | - | `plugin-sdk/gateway-runtime` | Gatewayヘルパー | Gatewayクライアントとchannel-status patchヘルパー | - | `plugin-sdk/config-runtime` | Configヘルパー | Config読み込み/書き込みヘルパー | - | `plugin-sdk/telegram-command-config` | Telegramコマンドヘルパー | バンドルされたTelegram契約サーフェスが使えない場合の、フォールバックで安定したTelegramコマンド検証ヘルパー | - | `plugin-sdk/approval-runtime` | 承認プロンプトヘルパー | Exec/plugin 承認ペイロード、承認capability/profileヘルパー、ネイティブ承認ルーティング/ランタイムヘルパー | - | `plugin-sdk/approval-auth-runtime` | 承認authヘルパー | 承認者解決、同一チャットアクションauth | - | `plugin-sdk/approval-client-runtime` | 承認クライアントヘルパー | ネイティブexec承認profile/filterヘルパー | - | `plugin-sdk/approval-delivery-runtime` | 承認配信ヘルパー | ネイティブ承認capability/配信アダプター | - | `plugin-sdk/approval-native-runtime` | 承認ターゲットヘルパー | ネイティブ承認ターゲット/アカウントbindingヘルパー | - | `plugin-sdk/approval-reply-runtime` | 承認返信ヘルパー | Exec/plugin 承認返信ペイロードヘルパー | - | `plugin-sdk/security-runtime` | セキュリティヘルパー | 共通の信頼、DMゲート、外部コンテンツ、secret収集ヘルパー | - | `plugin-sdk/ssrf-policy` | SSRFポリシーヘルパー | ホストallowlistとプライベートネットワークポリシーヘルパー | - | `plugin-sdk/ssrf-runtime` | SSRFランタイムヘルパー | pinned-dispatcher、guarded fetch、SSRFポリシーヘルパー | - | `plugin-sdk/collection-runtime` | 境界付きキャッシュヘルパー | `pruneMapToMaxSize` | - | `plugin-sdk/diagnostic-runtime` | 診断ゲートヘルパー | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` | - | `plugin-sdk/error-runtime` | エラー整形ヘルパー | `formatUncaughtError`, `isApprovalNotFoundError`, エラーグラフヘルパー | - | `plugin-sdk/fetch-runtime` | ラップ済みfetch/プロキシヘルパー | `resolveFetch`, プロキシヘルパー | - | `plugin-sdk/host-runtime` | ホスト正規化ヘルパー | `normalizeHostname`, `normalizeScpRemoteHost` | - | `plugin-sdk/retry-runtime` | 再試行ヘルパー | `RetryConfig`, `retryAsync`, ポリシーランナー | - | `plugin-sdk/allow-from` | Allowlist整形 | `formatAllowFromLowercase` | - | `plugin-sdk/allowlist-resolution` | Allowlist入力マッピング | `mapAllowlistResolutionInputs` | - | `plugin-sdk/command-auth` | コマンドゲートとコマンドサーフェスヘルパー | `resolveControlCommandGate`, 送信者認可ヘルパー, コマンドレジストリヘルパー | - | `plugin-sdk/secret-input` | secret入力解析 | secret入力ヘルパー | - | `plugin-sdk/webhook-ingress` | webhookリクエストヘルパー | webhookターゲットユーティリティ | - | `plugin-sdk/webhook-request-guards` | webhook本文ガードヘルパー | リクエスト本文読み取り/制限ヘルパー | - | `plugin-sdk/reply-runtime` | 共通返信ランタイム | 受信ディスパッチ、heartbeat、返信プランナー、チャンク化 | - | `plugin-sdk/reply-dispatch-runtime` | 細い返信ディスパッチヘルパー | finalize + provider dispatchヘルパー | - | `plugin-sdk/reply-history` | 返信履歴ヘルパー | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` | - | `plugin-sdk/reply-reference` | 返信参照プランニング | `createReplyReferencePlanner` | - | `plugin-sdk/reply-chunking` | 返信チャンクヘルパー | テキスト/markdown チャンクヘルパー | - | `plugin-sdk/session-store-runtime` | セッションストアヘルパー | ストアパス + updated-at ヘルパー | - | `plugin-sdk/state-paths` | 状態パスヘルパー | 状態ディレクトリとOAuthディレクトリヘルパー | - | `plugin-sdk/routing` | ルーティング/セッションキーヘルパー | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`, セッションキー正規化ヘルパー | - | `plugin-sdk/status-helpers` | チャンネルstatusヘルパー | チャンネル/アカウントstatusサマリービルダー、runtime-state デフォルト、issueメタデータヘルパー | - | `plugin-sdk/target-resolver-runtime` | ターゲットリゾルバーヘルパー | 共通ターゲットリゾルバーヘルパー | - | `plugin-sdk/string-normalization-runtime` | 文字列正規化ヘルパー | slug/文字列正規化ヘルパー | - | `plugin-sdk/request-url` | リクエストURLヘルパー | リクエスト風入力から文字列URLを抽出 | - | `plugin-sdk/run-command` | 時間付きコマンドヘルパー | stdout/stderr を正規化した時間付きコマンドランナー | - | `plugin-sdk/param-readers` | パラメーターリーダー | 共通tool/CLIパラメーターリーダー | - | `plugin-sdk/tool-send` | tool送信抽出 | tool引数から正規の送信ターゲットフィールドを抽出 | - | `plugin-sdk/temp-path` | 一時パスヘルパー | 共通一時ダウンロードパスヘルパー | - | `plugin-sdk/logging-core` | ロギングヘルパー | サブシステムロガーとredactionヘルパー | - | `plugin-sdk/markdown-table-runtime` | Markdownテーブルヘルパー | Markdownテーブルモードヘルパー | - | `plugin-sdk/reply-payload` | メッセージ返信型 | 返信ペイロード型 | - | `plugin-sdk/provider-setup` | 厳選されたローカル/セルフホストproviderセットアップヘルパー | セルフホストprovider検出/configヘルパー | - | `plugin-sdk/self-hosted-provider-setup` | 焦点を絞ったOpenAI互換セルフホストproviderセットアップヘルパー | 同じセルフホストprovider検出/configヘルパー | - | `plugin-sdk/provider-auth-runtime` | providerランタイムauthヘルパー | ランタイムAPIキー解決ヘルパー | - | `plugin-sdk/provider-auth-api-key` | provider APIキーセットアップヘルパー | APIキーオンボーディング/profile書き込みヘルパー | - | `plugin-sdk/provider-auth-result` | provider auth-result ヘルパー | 標準OAuth auth-result ビルダー | - | `plugin-sdk/provider-auth-login` | providerインタラクティブログインヘルパー | 共通インタラクティブログインヘルパー | - | `plugin-sdk/provider-env-vars` | provider環境変数ヘルパー | provider auth環境変数参照ヘルパー | - | `plugin-sdk/provider-model-shared` | 共通provider model/replay ヘルパー | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, 共通replay-policyビルダー、provider endpointヘルパー、model-id 正規化ヘルパー | - | `plugin-sdk/provider-catalog-shared` | 共通providerカタログヘルパー | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | - | `plugin-sdk/provider-onboard` | providerオンボーディングpatch | オンボーディングconfigヘルパー | - | `plugin-sdk/provider-http` | provider HTTPヘルパー | 汎用provider HTTP/endpoint capabilityヘルパー | - | `plugin-sdk/provider-web-fetch` | provider web-fetch ヘルパー | web-fetch provider登録/キャッシュヘルパー | - | `plugin-sdk/provider-web-search` | provider web-search ヘルパー | web-search provider登録/キャッシュ/configヘルパー | - | `plugin-sdk/provider-tools` | provider tool/スキーマ互換ヘルパー | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, Geminiスキーマクリーンアップ + diagnostics、および `resolveXaiModelCompatPatch` / `applyXaiModelCompat` などのxAI互換ヘルパー | - | `plugin-sdk/provider-usage` | provider使用量ヘルパー | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage` などのprovider使用量ヘルパー | - | `plugin-sdk/provider-stream` | provider streamラッパーヘルパー | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, streamラッパー型、および共通Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot ラッパーヘルパー | - | `plugin-sdk/keyed-async-queue` | 順序付きasyncキュー | `KeyedAsyncQueue` | - | `plugin-sdk/media-runtime` | 共通メディアヘルパー | メディア取得/変換/保存ヘルパー、およびメディアペイロードビルダー | - | `plugin-sdk/media-understanding` | media-understanding ヘルパー | media-understanding provider型、およびprovider向け画像/音声ヘルパーexport | - | `plugin-sdk/text-runtime` | 共通テキストヘルパー | アシスタント可視テキストの除去、markdown描画/チャンク化/テーブルヘルパー、redactionヘルパー、directive-tagヘルパー、安全なテキストユーティリティ、および関連するテキスト/ロギングヘルパー | - | `plugin-sdk/text-chunking` | テキストチャンク化ヘルパー | 送信テキストチャンク化ヘルパー | - | `plugin-sdk/speech` | Speechヘルパー | Speech provider型、およびprovider向けdirective、registry、検証ヘルパー | - | `plugin-sdk/speech-core` | 共通Speechコア | Speech provider型、registry、directive、正規化 | - | `plugin-sdk/realtime-transcription` | realtime transcription ヘルパー | provider型とregistryヘルパー | - | `plugin-sdk/realtime-voice` | realtime voice ヘルパー | provider型とregistryヘルパー | - | `plugin-sdk/image-generation-core` | 共通image-generation コア | image-generation 型、フェイルオーバー、auth、registryヘルパー | - | `plugin-sdk/music-generation` | music-generation ヘルパー | music-generation provider/request/result 型 | - | `plugin-sdk/music-generation-core` | 共通music-generation コア | music-generation 型、フェイルオーバーヘルパー、provider参照、model-ref解析 | - | `plugin-sdk/video-generation` | video-generation ヘルパー | video-generation provider/request/result 型 | - | `plugin-sdk/video-generation-core` | 共通video-generation コア | video-generation 型、フェイルオーバーヘルパー、provider参照、model-ref解析 | - | `plugin-sdk/interactive-runtime` | インタラクティブ返信ヘルパー | インタラクティブ返信ペイロード正規化/縮約 | - | `plugin-sdk/channel-config-primitives` | チャンネルconfig基本要素 | 細いチャンネルconfig-schema 基本要素 | - | `plugin-sdk/channel-config-writes` | チャンネルconfig書き込みヘルパー | チャンネルconfig書き込み認可ヘルパー | - | `plugin-sdk/channel-plugin-common` | 共通チャンネルプレリュード | 共通チャンネルプラグインプレリュードexport | - | `plugin-sdk/channel-status` | チャンネルstatusヘルパー | 共通チャンネルstatusスナップショット/サマリーヘルパー | - | `plugin-sdk/allowlist-config-edit` | Allowlist configヘルパー | Allowlist config編集/読み取りヘルパー | - | `plugin-sdk/group-access` | グループアクセスヘルパー | 共通グループアクセス判定ヘルパー | - | `plugin-sdk/direct-dm` | ダイレクトDMヘルパー | 共通ダイレクトDM auth/ガードヘルパー | - | `plugin-sdk/extension-shared` | 共通拡張ヘルパー | passive-channel/status ヘルパー基本要素 | - | `plugin-sdk/webhook-targets` | webhookターゲットヘルパー | webhookターゲットregistryとroute-installヘルパー | - | `plugin-sdk/webhook-path` | webhookパスヘルパー | webhookパス正規化ヘルパー | - | `plugin-sdk/web-media` | 共通webメディアヘルパー | リモート/ローカルメディア読み込みヘルパー | - | `plugin-sdk/zod` | Zod再エクスポート | プラグインSDK利用者向けに再エクスポートされた `zod` | - | `plugin-sdk/memory-core` | バンドルされたmemory-core ヘルパー | Memory manager/config/file/CLI ヘルパーサーフェス | - | `plugin-sdk/memory-core-engine-runtime` | Memory engine ランタイムファサード | Memory index/search ランタイムファサード | - | `plugin-sdk/memory-core-host-engine-foundation` | Memory host foundation engine | Memory host foundation engine export | - | `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding engine | Memory host embedding engine export | - | `plugin-sdk/memory-core-host-engine-qmd` | Memory host QMD engine | Memory host QMD engine export | - | `plugin-sdk/memory-core-host-engine-storage` | Memory host storage engine | Memory host storage engine export | - | `plugin-sdk/memory-core-host-multimodal` | Memory host multimodal ヘルパー | Memory host multimodal ヘルパー | - | `plugin-sdk/memory-core-host-query` | Memory host query ヘルパー | Memory host query ヘルパー | - | `plugin-sdk/memory-core-host-secret` | Memory host secret ヘルパー | Memory host secret ヘルパー | - | `plugin-sdk/memory-core-host-status` | Memory host status ヘルパー | Memory host status ヘルパー | - | `plugin-sdk/memory-core-host-runtime-cli` | Memory host CLIランタイム | Memory host CLIランタイムヘルパー | - | `plugin-sdk/memory-core-host-runtime-core` | Memory host coreランタイム | Memory host coreランタイムヘルパー | - | `plugin-sdk/memory-core-host-runtime-files` | Memory host file/runtime ヘルパー | Memory host file/runtime ヘルパー | - | `plugin-sdk/memory-lancedb` | バンドルされたmemory-lancedb ヘルパー | Memory-lancedb ヘルパーサーフェス | - | `plugin-sdk/testing` | テストユーティリティ | テストヘルパーとモック | + | `plugin-sdk/plugin-entry` | 正式な plugin entry ヘルパー | `definePluginEntry` | + | `plugin-sdk/core` | channel entry 定義 / builder 向けのレガシー umbrella 再エクスポート | `defineChannelPluginEntry`, `createChatChannelPlugin` | + | `plugin-sdk/config-schema` | ルート config schema export | `OpenClawSchema` | + | `plugin-sdk/provider-entry` | 単一 provider entry ヘルパー | `defineSingleProviderPluginEntry` | + | `plugin-sdk/channel-core` | 目的別の channel entry 定義と builder | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | + | `plugin-sdk/setup` | 共有 setup ウィザードヘルパー | Allowlist prompt、setup status builder | + | `plugin-sdk/setup-runtime` | setup 時 runtime ヘルパー | import-safe な setup patch adapter、lookup-note ヘルパー、`promptResolvedAllowFrom`、`splitSetupEntries`、委譲 setup proxy | + | `plugin-sdk/setup-adapter-runtime` | setup adapter ヘルパー | `createEnvPatchedAccountSetupAdapter` | + | `plugin-sdk/setup-tools` | setup tooling ヘルパー | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | + | `plugin-sdk/account-core` | 複数 account ヘルパー | account list/config/action-gate ヘルパー | + | `plugin-sdk/account-id` | account-id ヘルパー | `DEFAULT_ACCOUNT_ID`、account-id 正規化 | + | `plugin-sdk/account-resolution` | account lookup ヘルパー | account lookup と default-fallback ヘルパー | + | `plugin-sdk/account-helpers` | 狭い account ヘルパー | account list / account-action ヘルパー | + | `plugin-sdk/channel-setup` | setup ウィザード adapter | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`、および `DEFAULT_ACCOUNT_ID`、`createTopLevelChannelDmPolicy`、`setSetupChannelEnabled`、`splitSetupEntries` | + | `plugin-sdk/channel-pairing` | DM pairing プリミティブ | `createChannelPairingController` | + | `plugin-sdk/channel-reply-pipeline` | 返信 prefix と typing の配線 | `createChannelReplyPipeline` | + | `plugin-sdk/channel-config-helpers` | config adapter factory | `createHybridChannelConfigAdapter` | + | `plugin-sdk/channel-config-schema` | config schema builder | channel config schema 型 | + | `plugin-sdk/telegram-command-config` | Telegram command config ヘルパー | command 名の正規化、description のトリミング、重複 / 競合の検証 | + | `plugin-sdk/channel-policy` | group / DM policy 解決 | `resolveChannelGroupRequireMention` | + | `plugin-sdk/channel-lifecycle` | account status 追跡 | `createAccountStatusSink` | + | `plugin-sdk/inbound-envelope` | inbound envelope ヘルパー | 共有 route と envelope builder ヘルパー | + | `plugin-sdk/inbound-reply-dispatch` | inbound reply ヘルパー | 共有 record-and-dispatch ヘルパー | + | `plugin-sdk/messaging-targets` | messaging target 解析 | target の解析 / 照合ヘルパー | + | `plugin-sdk/outbound-media` | outbound media ヘルパー | 共有 outbound media 読み込み | + | `plugin-sdk/outbound-runtime` | outbound runtime ヘルパー | outbound identity / send delegate ヘルパー | + | `plugin-sdk/thread-bindings-runtime` | thread-binding ヘルパー | thread-binding lifecycle と adapter ヘルパー | + | `plugin-sdk/agent-media-payload` | レガシー media payload ヘルパー | レガシー field レイアウト向け agent media payload builder | + | `plugin-sdk/channel-runtime` | 非推奨の互換 shim | レガシー channel runtime utility のみ | + | `plugin-sdk/channel-send-result` | send result 型 | reply result 型 | + | `plugin-sdk/runtime-store` | 永続的な plugin storage | `createPluginRuntimeStore` | + | `plugin-sdk/runtime` | 広範な runtime ヘルパー | runtime / logging / backup / plugin-install ヘルパー | + | `plugin-sdk/runtime-env` | 狭い runtime env ヘルパー | logger / runtime env、timeout、retry、backoff ヘルパー | + | `plugin-sdk/plugin-runtime` | 共有 plugin runtime ヘルパー | plugin commands / hooks / http / interactive ヘルパー | + | `plugin-sdk/hook-runtime` | hook pipeline ヘルパー | 共有 webhook / internal hook pipeline ヘルパー | + | `plugin-sdk/lazy-runtime` | lazy runtime ヘルパー | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeMethodBinder`, `createLazyRuntimeNamedExport`, `createLazyRuntimeSurface` | + | `plugin-sdk/process-runtime` | process ヘルパー | 共有 exec ヘルパー | + | `plugin-sdk/cli-runtime` | CLI runtime ヘルパー | command formatting、wait、version ヘルパー | + | `plugin-sdk/gateway-runtime` | Gateway ヘルパー | Gateway client と channel-status patch ヘルパー | + | `plugin-sdk/config-runtime` | config ヘルパー | config load / write ヘルパー | + | `plugin-sdk/telegram-command-config` | Telegram command ヘルパー | バンドルされた Telegram 契約サーフェスが使えない場合の、fallback-stable な Telegram command 検証ヘルパー | + | `plugin-sdk/approval-runtime` | approval prompt ヘルパー | exec / plugin approval payload、approval capability / profile ヘルパー、native approval routing / runtime ヘルパー | + | `plugin-sdk/approval-auth-runtime` | approval auth ヘルパー | approver 解決、同一 chat action auth | + | `plugin-sdk/approval-client-runtime` | approval client ヘルパー | native exec approval profile / filter ヘルパー | + | `plugin-sdk/approval-delivery-runtime` | approval delivery ヘルパー | native approval capability / delivery adapter | + | `plugin-sdk/approval-native-runtime` | approval target ヘルパー | native approval target / account binding ヘルパー | + | `plugin-sdk/approval-reply-runtime` | approval reply ヘルパー | exec / plugin approval reply payload ヘルパー | + | `plugin-sdk/security-runtime` | security ヘルパー | 共有 trust、DM gating、external-content、secret-collection ヘルパー | + | `plugin-sdk/ssrf-policy` | SSRF policy ヘルパー | host allowlist と private-network policy ヘルパー | + | `plugin-sdk/ssrf-runtime` | SSRF runtime ヘルパー | pinned-dispatcher、guarded fetch、SSRF policy ヘルパー | + | `plugin-sdk/collection-runtime` | 制限付き cache ヘルパー | `pruneMapToMaxSize` | + | `plugin-sdk/diagnostic-runtime` | diagnostic gating ヘルパー | `isDiagnosticFlagEnabled`, `isDiagnosticsEnabled` | + | `plugin-sdk/error-runtime` | error formatting ヘルパー | `formatUncaughtError`, `isApprovalNotFoundError`, error graph ヘルパー | + | `plugin-sdk/fetch-runtime` | wrapped fetch / proxy ヘルパー | `resolveFetch`、proxy ヘルパー | + | `plugin-sdk/host-runtime` | host 正規化ヘルパー | `normalizeHostname`, `normalizeScpRemoteHost` | + | `plugin-sdk/retry-runtime` | retry ヘルパー | `RetryConfig`, `retryAsync`, policy runner | + | `plugin-sdk/allow-from` | allowlist formatting | `formatAllowFromLowercase` | + | `plugin-sdk/allowlist-resolution` | allowlist input mapping | `mapAllowlistResolutionInputs` | + | `plugin-sdk/command-auth` | command gating と command-surface ヘルパー | `resolveControlCommandGate`、sender-authorization ヘルパー、command registry ヘルパー | + | `plugin-sdk/secret-input` | secret input 解析 | secret input ヘルパー | + | `plugin-sdk/webhook-ingress` | webhook request ヘルパー | webhook target utility | + | `plugin-sdk/webhook-request-guards` | webhook body guard ヘルパー | request body read / limit ヘルパー | + | `plugin-sdk/reply-runtime` | 共有 reply runtime | inbound dispatch、heartbeat、reply planner、chunking | + | `plugin-sdk/reply-dispatch-runtime` | 狭い reply dispatch ヘルパー | finalize と provider dispatch ヘルパー | + | `plugin-sdk/reply-history` | reply-history ヘルパー | `buildHistoryContext`, `buildPendingHistoryContextFromMap`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` | + | `plugin-sdk/reply-reference` | reply reference planning | `createReplyReferencePlanner` | + | `plugin-sdk/reply-chunking` | reply chunk ヘルパー | text / markdown chunking ヘルパー | + | `plugin-sdk/session-store-runtime` | session store ヘルパー | store path と updated-at ヘルパー | + | `plugin-sdk/state-paths` | state path ヘルパー | state と OAuth dir ヘルパー | + | `plugin-sdk/routing` | routing / session-key ヘルパー | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId`、session-key 正規化ヘルパー | + | `plugin-sdk/status-helpers` | channel status ヘルパー | channel / account status summary builder、runtime-state default、issue metadata ヘルパー | + | `plugin-sdk/target-resolver-runtime` | target resolver ヘルパー | 共有 target resolver ヘルパー | + | `plugin-sdk/string-normalization-runtime` | 文字列正規化ヘルパー | slug / 文字列正規化ヘルパー | + | `plugin-sdk/request-url` | request URL ヘルパー | request のような入力から文字列 URL を抽出 | + | `plugin-sdk/run-command` | 時間制限付き command ヘルパー | stdout / stderr を正規化した timed command runner | + | `plugin-sdk/param-readers` | param reader | 一般的な tool / CLI param reader | + | `plugin-sdk/tool-send` | tool send 抽出 | tool 引数から canonical send target field を抽出 | + | `plugin-sdk/temp-path` | temp path ヘルパー | 共有 temp-download path ヘルパー | + | `plugin-sdk/logging-core` | logging ヘルパー | subsystem logger と redaction ヘルパー | + | `plugin-sdk/markdown-table-runtime` | markdown-table ヘルパー | markdown table mode ヘルパー | + | `plugin-sdk/reply-payload` | message reply 型 | reply payload 型 | + | `plugin-sdk/provider-setup` | 厳選された local / self-hosted provider setup ヘルパー | self-hosted provider discovery / config ヘルパー | + | `plugin-sdk/self-hosted-provider-setup` | 目的別の OpenAI-compatible self-hosted provider setup ヘルパー | 同じ self-hosted provider discovery / config ヘルパー | + | `plugin-sdk/provider-auth-runtime` | provider runtime auth ヘルパー | runtime API-key 解決ヘルパー | + | `plugin-sdk/provider-auth-api-key` | provider API-key setup ヘルパー | API-key onboarding / profile-write ヘルパー | + | `plugin-sdk/provider-auth-result` | provider auth-result ヘルパー | 標準 OAuth auth-result builder | + | `plugin-sdk/provider-auth-login` | provider interactive login ヘルパー | 共有 interactive login ヘルパー | + | `plugin-sdk/provider-env-vars` | provider env-var ヘルパー | provider auth env-var lookup ヘルパー | + | `plugin-sdk/provider-model-shared` | 共有 provider model / replay ヘルパー | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`、共有 replay-policy builder、provider-endpoint ヘルパー、model-id 正規化ヘルパー | + | `plugin-sdk/provider-catalog-shared` | 共有 provider catalog ヘルパー | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | + | `plugin-sdk/provider-onboard` | provider onboarding patch | onboarding config ヘルパー | + | `plugin-sdk/provider-http` | provider HTTP ヘルパー | 汎用 provider HTTP / endpoint capability ヘルパー | + | `plugin-sdk/provider-web-fetch` | provider web-fetch ヘルパー | web-fetch provider registration / cache ヘルパー | + | `plugin-sdk/provider-web-search` | provider web-search ヘルパー | web-search provider registration / cache / config ヘルパー | + | `plugin-sdk/provider-tools` | provider tool / schema compat ヘルパー | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, Gemini schema cleanup と diagnostics、`resolveXaiModelCompatPatch` / `applyXaiModelCompat` のような xAI compat ヘルパー | + | `plugin-sdk/provider-usage` | provider usage ヘルパー | `fetchClaudeUsage`, `fetchGeminiUsage`, `fetchGithubCopilotUsage`、その他の provider usage ヘルパー | + | `plugin-sdk/provider-stream` | provider stream wrapper ヘルパー | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`、stream wrapper 型、および共有 Anthropic / Bedrock / Google / Kilocode / Moonshot / OpenAI / OpenRouter / Z.A.I / MiniMax / Copilot wrapper ヘルパー | + | `plugin-sdk/keyed-async-queue` | 順序付き async queue | `KeyedAsyncQueue` | + | `plugin-sdk/media-runtime` | 共有 media ヘルパー | media fetch / transform / store ヘルパーと media payload builder | + | `plugin-sdk/media-generation-runtime` | 共有 media-generation ヘルパー | image / video / music generation 向けの共有 failover ヘルパー、candidate 選択、不足 model メッセージ | + | `plugin-sdk/media-understanding` | media-understanding ヘルパー | media understanding provider 型と、provider 向け image / audio ヘルパー export | + | `plugin-sdk/text-runtime` | 共有 text ヘルパー | assistant-visible-text の除去、markdown render / chunking / table ヘルパー、redaction ヘルパー、directive-tag ヘルパー、安全な text utility、関連する text / logging ヘルパー | + | `plugin-sdk/text-chunking` | text chunking ヘルパー | outbound text chunking ヘルパー | + | `plugin-sdk/speech` | speech ヘルパー | speech provider 型と、provider 向け directive、registry、validation ヘルパー | + | `plugin-sdk/speech-core` | 共有 speech core | speech provider 型、registry、directive、正規化 | + | `plugin-sdk/realtime-transcription` | realtime transcription ヘルパー | provider 型と registry ヘルパー | + | `plugin-sdk/realtime-voice` | realtime voice ヘルパー | provider 型と registry ヘルパー | + | `plugin-sdk/image-generation-core` | 共有 image-generation core | image-generation 型、failover、auth、registry ヘルパー | + | `plugin-sdk/music-generation` | music-generation ヘルパー | music-generation provider / request / result 型 | + | `plugin-sdk/music-generation-core` | 共有 music-generation core | music-generation 型、failover ヘルパー、provider lookup、model-ref 解析 | + | `plugin-sdk/video-generation` | video-generation ヘルパー | video-generation provider / request / result 型 | + | `plugin-sdk/video-generation-core` | 共有 video-generation core | video-generation 型、failover ヘルパー、provider lookup、model-ref 解析 | + | `plugin-sdk/interactive-runtime` | interactive reply ヘルパー | interactive reply payload の正規化 / 縮約 | + | `plugin-sdk/channel-config-primitives` | channel config プリミティブ | 狭い channel config-schema プリミティブ | + | `plugin-sdk/channel-config-writes` | channel config-write ヘルパー | channel config-write authorization ヘルパー | + | `plugin-sdk/channel-plugin-common` | 共有 channel prelude | 共有 channel plugin prelude export | + | `plugin-sdk/channel-status` | channel status ヘルパー | 共有 channel status snapshot / summary ヘルパー | + | `plugin-sdk/allowlist-config-edit` | allowlist config ヘルパー | allowlist config edit / read ヘルパー | + | `plugin-sdk/group-access` | group access ヘルパー | 共有 group-access decision ヘルパー | + | `plugin-sdk/direct-dm` | Direct-DM ヘルパー | 共有 direct-DM auth / guard ヘルパー | + | `plugin-sdk/extension-shared` | 共有 extension ヘルパー | passive-channel / status helper プリミティブ | + | `plugin-sdk/webhook-targets` | webhook target ヘルパー | webhook target registry と route-install ヘルパー | + | `plugin-sdk/webhook-path` | webhook path ヘルパー | webhook path 正規化ヘルパー | + | `plugin-sdk/web-media` | 共有 web media ヘルパー | remote / local media 読み込みヘルパー | + | `plugin-sdk/zod` | Zod 再エクスポート | plugin SDK 利用者向けに再エクスポートされた `zod` | + | `plugin-sdk/memory-core` | バンドルされた memory-core ヘルパー | Memory manager / config / file / CLI helper surface | + | `plugin-sdk/memory-core-engine-runtime` | memory engine runtime facade | Memory index / search runtime facade | + | `plugin-sdk/memory-core-host-engine-foundation` | memory host foundation engine | Memory host foundation engine export | + | `plugin-sdk/memory-core-host-engine-embeddings` | memory host embedding engine | Memory host embedding engine export | + | `plugin-sdk/memory-core-host-engine-qmd` | memory host QMD engine | Memory host QMD engine export | + | `plugin-sdk/memory-core-host-engine-storage` | memory host storage engine | Memory host storage engine export | + | `plugin-sdk/memory-core-host-multimodal` | memory host multimodal ヘルパー | Memory host multimodal ヘルパー | + | `plugin-sdk/memory-core-host-query` | memory host query ヘルパー | Memory host query ヘルパー | + | `plugin-sdk/memory-core-host-secret` | memory host secret ヘルパー | Memory host secret ヘルパー | + | `plugin-sdk/memory-core-host-events` | memory host event journal ヘルパー | Memory host event journal ヘルパー | + | `plugin-sdk/memory-core-host-status` | memory host status ヘルパー | Memory host status ヘルパー | + | `plugin-sdk/memory-core-host-runtime-cli` | memory host CLI runtime | Memory host CLI runtime ヘルパー | + | `plugin-sdk/memory-core-host-runtime-core` | memory host core runtime | Memory host core runtime ヘルパー | + | `plugin-sdk/memory-core-host-runtime-files` | memory host file / runtime ヘルパー | Memory host file / runtime ヘルパー | + | `plugin-sdk/memory-host-core` | memory host core runtime alias | memory host core runtime ヘルパー向けの vendor-neutral alias | + | `plugin-sdk/memory-host-events` | memory host event journal alias | memory host event journal ヘルパー向けの vendor-neutral alias | + | `plugin-sdk/memory-host-files` | memory host file / runtime alias | memory host file / runtime ヘルパー向けの vendor-neutral alias | + | `plugin-sdk/memory-host-markdown` | managed markdown ヘルパー | memory 隣接 plugin 向けの共有 managed-markdown ヘルパー | + | `plugin-sdk/memory-host-search` | active memory search facade | lazy な active-memory search-manager runtime facade | + | `plugin-sdk/memory-host-status` | memory host status alias | memory host status ヘルパー向けの vendor-neutral alias | + | `plugin-sdk/memory-lancedb` | バンドルされた memory-lancedb ヘルパー | Memory-lancedb helper surface | + | `plugin-sdk/testing` | テスト utility | テストヘルパーと mock | -この表は意図的に、完全なSDK -サーフェスではなく、一般的な移行向けサブセットです。200以上のエントリポイントを含む完全な一覧は -`scripts/lib/plugin-sdk-entrypoints.json` にあります。 +この表は、完全な SDK サーフェスではなく、意図的に一般的な移行向けのサブセットに絞っています。200 を超える entrypoint の完全な一覧は +`scripts/lib/plugin-sdk-entrypoints.json` +にあります。 -その一覧には、`plugin-sdk/feishu`、`plugin-sdk/feishu-setup`、`plugin-sdk/zalo`、 -`plugin-sdk/zalo-setup`、`plugin-sdk/matrix*` のような、バンドルプラグイン用ヘルパーシームもまだ含まれています。これらはバンドルプラグイン保守と互換性のために引き続きexportされていますが、一般的な移行テーブルからは意図的に省かれており、新しいプラグインコードの推奨ターゲットではありません。 +その一覧には、`plugin-sdk/feishu`、`plugin-sdk/feishu-setup`、`plugin-sdk/zalo`、`plugin-sdk/zalo-setup`、`plugin-sdk/matrix*` のような、一部のバンドル plugin 用 helper seam も引き続き含まれています。これらはバンドル plugin の保守と互換性のために引き続き export されていますが、一般的な移行一覧には意図的に含めておらず、新しい plugin code の推奨先でもありません。 -同じルールは、他のバンドルヘルパーファミリーにも適用されます。たとえば: +同じルールは、次のような他の bundled-helper ファミリーにも当てはまります。 -- browserサポートヘルパー: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` +- browser support ヘルパー: `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` - Matrix: `plugin-sdk/matrix*` - LINE: `plugin-sdk/line*` - IRC: `plugin-sdk/irc*` - `plugin-sdk/googlechat`、 - `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles*`, - `plugin-sdk/mattermost*`, `plugin-sdk/msteams`, - `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, - `plugin-sdk/twitch`, - `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, - `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, - `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` のような - バンドルヘルパー/プラグインサーフェス + `plugin-sdk/zalouser`、`plugin-sdk/bluebubbles*`、 + `plugin-sdk/mattermost*`、`plugin-sdk/msteams`、 + `plugin-sdk/nextcloud-talk`、`plugin-sdk/nostr`、`plugin-sdk/tlon`、 + `plugin-sdk/twitch`、 + `plugin-sdk/github-copilot-login`、`plugin-sdk/github-copilot-token`、 + `plugin-sdk/diagnostics-otel`、`plugin-sdk/diffs`、`plugin-sdk/llm-task`、 + `plugin-sdk/thread-ownership`、`plugin-sdk/voice-call` のような、バンドル helper / plugin サーフェス -`plugin-sdk/github-copilot-token` は現在、細いトークンヘルパー -サーフェス `DEFAULT_COPILOT_API_BASE_URL`、 -`deriveCopilotApiBaseUrlFromToken`、`resolveCopilotApiToken` を公開しています。 +`plugin-sdk/github-copilot-token` は現在、 +`DEFAULT_COPILOT_API_BASE_URL`、 +`deriveCopilotApiBaseUrlFromToken`、`resolveCopilotApiToken` +という狭い token-helper サーフェスを公開しています。 -用途に合う最も細いimportを使用してください。exportが見つからない場合は、 -`src/plugin-sdk/` のソースを確認するか、Discordで質問してください。 +作業に合った、最も狭い import を使ってください。export が見つからない場合は、 +`src/plugin-sdk/` +の source を確認するか、Discord で質問してください。 ## 削除タイムライン -| いつ | 何が起きるか | +| 時期 | 何が起きるか | | ---------------------- | ----------------------------------------------------------------------- | -| **現在** | 非推奨サーフェスはランタイム警告を出します | -| **次のメジャーリリース** | 非推奨サーフェスは削除され、それらをまだ使っているプラグインは動作しなくなります | +| **今** | 非推奨サーフェスが実行時 warning を出す | +| **次のメジャーリリース** | 非推奨サーフェスは削除され、それらを使い続けている plugin は失敗する | -すべてのコアプラグインはすでに移行済みです。外部プラグインは、 -次のメジャーリリース前に移行する必要があります。 +すべての core plugin はすでに移行済みです。外部 plugin は、次のメジャーリリース前に移行してください。 -## 一時的に警告を抑制する +## warning を一時的に抑制する -移行作業中は、これらの環境変数を設定してください。 +移行作業中は、これらの environment variable を設定してください。 ```bash OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run ``` -これは一時的な回避策であり、恒久的な解決策ではありません。 +これは一時的な回避手段であり、恒久的な解決策ではありません。 ## 関連 -- [はじめに](/ja-JP/plugins/building-plugins) — 最初のプラグインを作る -- [SDK Overview](/ja-JP/plugins/sdk-overview) — subpath importの完全なリファレンス -- [Channel Plugins](/ja-JP/plugins/sdk-channel-plugins) — チャンネルプラグインの構築 -- [Provider Plugins](/ja-JP/plugins/sdk-provider-plugins) — providerプラグインの構築 -- [Plugin Internals](/ja-JP/plugins/architecture) — アーキテクチャの詳細 -- [Plugin Manifest](/ja-JP/plugins/manifest) — manifestスキーマリファレンス +- [はじめに](/ja-JP/plugins/building-plugins) — 最初の plugin を作成する +- [SDK Overview](/ja-JP/plugins/sdk-overview) — subpath import の完全なリファレンス +- [Channel Plugins](/ja-JP/plugins/sdk-channel-plugins) — channel plugin の作成 +- [Provider Plugins](/ja-JP/plugins/sdk-provider-plugins) — provider plugin の作成 +- [Plugin Internals](/ja-JP/plugins/architecture) — アーキテクチャの詳細解説 +- [Plugin Manifest](/ja-JP/plugins/manifest) — manifest schema リファレンス diff --git a/docs/ja-JP/plugins/sdk-overview.md b/docs/ja-JP/plugins/sdk-overview.md index 697c26bf8..3f659a7bb 100644 --- a/docs/ja-JP/plugins/sdk-overview.md +++ b/docs/ja-JP/plugins/sdk-overview.md @@ -1,336 +1,348 @@ --- read_when: - - どの SDK subpath から import するべきか知りたい場合 - - OpenClawPluginApi 上のすべての registration method のリファレンスが欲しい場合 - - 特定の SDK export を調べている場合 + - どのSDKサブパスからインポートするかを知る必要がある場合 + - OpenClawPluginApiのすべての登録メソッドのリファレンスが必要な場合 + - 特定のSDKエクスポートを調べている場合 sidebarTitle: SDK Overview -summary: import map、registration API リファレンス、SDK アーキテクチャ -title: Plugin SDK の概要 +summary: インポートマップ、登録APIリファレンス、およびSDKアーキテクチャ +title: Plugin SDKの概要 x-i18n: - generated_at: "2026-04-06T03:11:11Z" + generated_at: "2026-04-06T04:45:02Z" model: gpt-5.4 provider: openai - source_hash: d801641f26f39dc21490d2a69a337ff1affb147141360916b8b58a267e9f822a + source_hash: acd2887ef52c66b2f234858d812bb04197ecd0bfb3e4f7bf3622f8fdc765acad source_path: plugins/sdk-overview.md workflow: 15 --- -# Plugin SDK の概要 +# Plugin SDKの概要 -plugin SDK は、plugins と core の間の型付き契約です。このページは、 -**何を import するか** と **何を登録できるか** のリファレンスです。 +plugin SDKは、プラグインとコアの間の型付きコントラクトです。このページは、 +**何をインポートするか** と **何を登録できるか** のリファレンスです。 **ハウツーガイドを探していますか?** - - 最初の plugin ですか? [はじめに](/ja-JP/plugins/building-plugins) から始めてください - - channel plugin ですか? [Channel Plugins](/ja-JP/plugins/sdk-channel-plugins) を参照してください - - provider plugin ですか? [Provider Plugins](/ja-JP/plugins/sdk-provider-plugins) を参照してください + - 最初のプラグインですか? [はじめに](/ja-JP/plugins/building-plugins) から始めてください + - チャンネルプラグインですか? [Channel Plugins](/ja-JP/plugins/sdk-channel-plugins) を参照してください + - プロバイダープラグインですか? [Provider Plugins](/ja-JP/plugins/sdk-provider-plugins) を参照してください -## import 規約 +## インポート規約 -必ず特定の subpath から import してください: +必ず特定のサブパスからインポートしてください。 ```typescript import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; ``` -各 subpath は小さく自己完結した module です。これにより起動を高速に保ち、 -循環依存の問題を防げます。channel 固有の entry/build helper には、 -`openclaw/plugin-sdk/channel-core` を優先して使用してください。より広い umbrella surface と -`buildChannelConfigSchema` のような共有 helper には -`openclaw/plugin-sdk/core` を使ってください。 +各サブパスは、小さく自己完結したモジュールです。これにより起動を高速に保ち、 +循環依存の問題を防ぎます。チャンネル固有のエントリ/ビルドヘルパーには、 +`openclaw/plugin-sdk/channel-core` を優先し、より広いアンブレラサーフェスや +`buildChannelConfigSchema` のような共有ヘルパーには `openclaw/plugin-sdk/core` を使ってください。 `openclaw/plugin-sdk/slack`、`openclaw/plugin-sdk/discord`、 `openclaw/plugin-sdk/signal`、`openclaw/plugin-sdk/whatsapp` のような -provider 名付き convenience seam や channel ブランド付き helper seam を追加したり、 -依存したりしないでください。バンドル plugin は汎用的な -SDK subpath を自分自身の `api.ts` または `runtime-api.ts` barrel の中で構成すべきであり、core はそれらの plugin ローカル barrel を使うか、 -必要が本当に channel 横断である場合のみ、狭く汎用的な SDK -契約を追加するべきです。 +プロバイダー名付きの便利な境界や、チャンネルブランド付きのヘルパー境界を追加したり、 +依存したりしないでください。バンドルされたプラグインは、自身の `api.ts` または +`runtime-api.ts` バレル内で汎用的なSDKサブパスを組み合わせるべきであり、コアは +それらのプラグインローカルなバレルを使うか、本当にチャンネル横断の必要がある場合にのみ +狭い汎用SDKコントラクトを追加するべきです。 -生成された export map には、`plugin-sdk/feishu`、`plugin-sdk/feishu-setup`、 -`plugin-sdk/zalo`、`plugin-sdk/zalo-setup`、`plugin-sdk/matrix*` など、 -少数のバンドル plugin helper seam がまだ含まれています。これらの -subpath は、バンドル plugin の保守と互換性のためだけに存在します。以下の一般的な表では意図的に省略されており、新しいサードパーティ plugin に推奨される import path ではありません。 +生成されたエクスポートマップには、`plugin-sdk/feishu`、`plugin-sdk/feishu-setup`、 +`plugin-sdk/zalo`、`plugin-sdk/zalo-setup`、`plugin-sdk/matrix*` のような、 +バンドルプラグイン用の小規模なヘルパー境界が引き続き含まれています。これらの +サブパスは、バンドルプラグインの保守と互換性のためだけに存在します。意図的に +以下の一般的なテーブルからは除外されており、新しいサードパーティプラグインに +推奨されるインポートパスではありません。 -## subpath リファレンス +## サブパスリファレンス -目的別にグループ化した、最もよく使われる subpath です。200 を超える -subpath の生成済み完全一覧は `scripts/lib/plugin-sdk-entrypoints.json` にあります。 +目的別にまとめた、最もよく使われるサブパスです。生成される完全な200以上の +サブパス一覧は `scripts/lib/plugin-sdk-entrypoints.json` にあります。 -予約済みのバンドル plugin helper subpath は、その生成一覧には引き続き表示されます。 -ドキュメントページで明示的に公開 API として案内されていない限り、これらは -実装詳細/互換性 surface として扱ってください。 +予約済みのバンドルプラグイン用ヘルパーサブパスも、その生成リストには引き続き表示されます。 +ドキュメントページで明示的に公開サーフェスとして案内されていない限り、 +それらは実装詳細/互換性サーフェスとして扱ってください。 -### Plugin entry +### プラグインエントリ -| Subpath | 主な export | -| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -| `plugin-sdk/plugin-entry` | `definePluginEntry` | +| サブパス | 主なエクスポート | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `plugin-sdk/plugin-entry` | `definePluginEntry` | | `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` | -| `plugin-sdk/config-schema` | `OpenClawSchema` | -| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | +| `plugin-sdk/config-schema` | `OpenClawSchema` | +| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | | `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | - | `plugin-sdk/config-schema` | ルート `openclaw.json` Zod スキーマ export(`OpenClawSchema`) | - | `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`、および `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | - | `plugin-sdk/setup` | 共有 setup wizard helper、allowlist prompt、setup status builder | + | `plugin-sdk/config-schema` | ルート `openclaw.json` Zodスキーマエクスポート (`OpenClawSchema`) | + | `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, および `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | + | `plugin-sdk/setup` | 共有セットアップウィザードヘルパー、allowlist プロンプト、セットアップステータスビルダー | | `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` | | `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` | | `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | - | `plugin-sdk/account-core` | マルチアカウント設定/アクションゲート helper、デフォルトアカウントフォールバック helper | - | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`、account-id 正規化 helper | - | `plugin-sdk/account-resolution` | アカウント検索 + デフォルトフォールバック helper | - | `plugin-sdk/account-helpers` | 狭い account-list/account-action helper | + | `plugin-sdk/account-core` | マルチアカウント設定/アクションゲートヘルパー、デフォルトアカウントのフォールバックヘルパー | + | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`、account-id 正規化ヘルパー | + | `plugin-sdk/account-resolution` | アカウント検索 + デフォルトフォールバックヘルパー | + | `plugin-sdk/account-helpers` | 狭い用途のアカウント一覧/アカウントアクションヘルパー | | `plugin-sdk/channel-pairing` | `createChannelPairingController` | | `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` | | `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` | - | `plugin-sdk/channel-config-schema` | channel 設定スキーマ型 | - | `plugin-sdk/telegram-command-config` | バンドル契約フォールバック付き Telegram カスタムコマンド正規化/検証 helper | + | `plugin-sdk/channel-config-schema` | チャンネル設定スキーマ型 | + | `plugin-sdk/telegram-command-config` | バンドルコントラクトのフォールバック付きTelegramカスタムコマンド正規化/検証ヘルパー | | `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` | | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink` | - | `plugin-sdk/inbound-envelope` | 共有 inbound route + envelope builder helper | - | `plugin-sdk/inbound-reply-dispatch` | 共有 inbound record-and-dispatch helper | - | `plugin-sdk/messaging-targets` | ターゲット解析/一致 helper | - | `plugin-sdk/outbound-media` | 共有 outbound media 読み込み helper | - | `plugin-sdk/outbound-runtime` | outbound identity/send delegate helper | - | `plugin-sdk/thread-bindings-runtime` | thread-binding lifecycle と adapter helper | - | `plugin-sdk/agent-media-payload` | レガシー agent media payload builder | - | `plugin-sdk/conversation-runtime` | 会話/thread binding、pairing、設定済み binding helper | - | `plugin-sdk/runtime-config-snapshot` | runtime config snapshot helper | - | `plugin-sdk/runtime-group-policy` | runtime group-policy 解決 helper | - | `plugin-sdk/channel-status` | 共有 channel status snapshot/summary helper | - | `plugin-sdk/channel-config-primitives` | 狭い channel config-schema primitives | - | `plugin-sdk/channel-config-writes` | channel config-write 認可 helper | - | `plugin-sdk/channel-plugin-common` | 共有 channel plugin prelude export | - | `plugin-sdk/allowlist-config-edit` | allowlist 設定編集/読み取り helper | - | `plugin-sdk/group-access` | 共有 group-access 決定 helper | - | `plugin-sdk/direct-dm` | 共有 direct-DM auth/guard helper | - | `plugin-sdk/interactive-runtime` | インタラクティブ reply payload 正規化/reduction helper | - | `plugin-sdk/channel-inbound` | debounce、mention 一致、envelope helper | - | `plugin-sdk/channel-send-result` | reply result 型 | + | `plugin-sdk/inbound-envelope` | 共有の受信ルート + エンベロープビルダーヘルパー | + | `plugin-sdk/inbound-reply-dispatch` | 共有の受信記録およびディスパッチヘルパー | + | `plugin-sdk/messaging-targets` | ターゲットの解析/照合ヘルパー | + | `plugin-sdk/outbound-media` | 共有の送信メディア読み込みヘルパー | + | `plugin-sdk/outbound-runtime` | 送信元アイデンティティ/送信デリゲートヘルパー | + | `plugin-sdk/thread-bindings-runtime` | スレッドバインディングのライフサイクルおよびアダプターヘルパー | + | `plugin-sdk/agent-media-payload` | レガシーのエージェントメディアペイロードビルダー | + | `plugin-sdk/conversation-runtime` | 会話/スレッドバインディング、ペアリング、および設定済みバインディングのヘルパー | + | `plugin-sdk/runtime-config-snapshot` | ランタイム設定スナップショットヘルパー | + | `plugin-sdk/runtime-group-policy` | ランタイムのグループポリシー解決ヘルパー | + | `plugin-sdk/channel-status` | 共有のチャンネルステータススナップショット/サマリーヘルパー | + | `plugin-sdk/channel-config-primitives` | 狭い用途のチャンネル設定スキーマプリミティブ | + | `plugin-sdk/channel-config-writes` | チャンネル設定書き込みの認可ヘルパー | + | `plugin-sdk/channel-plugin-common` | 共有のチャンネルプラグイン前提エクスポート | + | `plugin-sdk/allowlist-config-edit` | allowlist 設定の編集/読み取りヘルパー | + | `plugin-sdk/group-access` | 共有のグループアクセス判定ヘルパー | + | `plugin-sdk/direct-dm` | 共有のダイレクトDM認証/ガードヘルパー | + | `plugin-sdk/interactive-runtime` | 対話型返信ペイロードの正規化/削減ヘルパー | + | `plugin-sdk/channel-inbound` | デバウンス、メンション照合、エンベロープヘルパー | + | `plugin-sdk/channel-send-result` | 返信結果型 | | `plugin-sdk/channel-actions` | `createMessageToolButtonsSchema`, `createMessageToolCardSchema` | - | `plugin-sdk/channel-targets` | ターゲット解析/一致 helper | - | `plugin-sdk/channel-contract` | channel 契約型 | - | `plugin-sdk/channel-feedback` | feedback/reaction 配線 | + | `plugin-sdk/channel-targets` | ターゲットの解析/照合ヘルパー | + | `plugin-sdk/channel-contract` | チャンネルコントラクト型 | + | `plugin-sdk/channel-feedback` | フィードバック/リアクション接続 | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | | `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | - | `plugin-sdk/provider-setup` | 厳選された local/self-hosted provider setup helper | - | `plugin-sdk/self-hosted-provider-setup` | OpenAI 互換 self-hosted provider 向けの集中的な setup helper | - | `plugin-sdk/provider-auth-runtime` | provider plugins 向け runtime API-key 解決 helper | - | `plugin-sdk/provider-auth-api-key` | API-key オンボーディング/profile-write helper | - | `plugin-sdk/provider-auth-result` | 標準 OAuth auth-result builder | - | `plugin-sdk/provider-auth-login` | provider plugins 向け共有対話ログイン helper | - | `plugin-sdk/provider-env-vars` | provider auth env-var 検索 helper | + | `plugin-sdk/provider-setup` | 厳選されたローカル/セルフホスト型プロバイダーのセットアップヘルパー | + | `plugin-sdk/self-hosted-provider-setup` | OpenAI互換のセルフホスト型プロバイダーに特化したセットアップヘルパー | + | `plugin-sdk/provider-auth-runtime` | プロバイダープラグイン向けのランタイムAPIキー解決ヘルパー | + | `plugin-sdk/provider-auth-api-key` | APIキーのオンボーディング/プロファイル書き込みヘルパー | + | `plugin-sdk/provider-auth-result` | 標準OAuth auth-result ビルダー | + | `plugin-sdk/provider-auth-login` | プロバイダープラグイン向け共有対話型ログインヘルパー | + | `plugin-sdk/provider-env-vars` | プロバイダー認証用環境変数の検索ヘルパー | | `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile` | - | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`、共有 replay-policy builder、provider-endpoint helper、および `normalizeNativeXaiModelId` のような model-id 正規化 helper | + | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, 共有 replay-policy ビルダー、provider-endpoint ヘルパー、および `normalizeNativeXaiModelId` のような model-id 正規化ヘルパー | | `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | - | `plugin-sdk/provider-http` | 汎用 provider HTTP/endpoint capability helper | - | `plugin-sdk/provider-web-fetch` | web-fetch provider 登録/cache helper | - | `plugin-sdk/provider-web-search` | web-search provider 登録/cache/config helper | - | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, Gemini スキーマクリーンアップ + diagnostics、および `resolveXaiModelCompatPatch` / `applyXaiModelCompat` のような xAI compat helper | + | `plugin-sdk/provider-http` | 汎用プロバイダーHTTP/endpoint capability ヘルパー | + | `plugin-sdk/provider-web-fetch` | web-fetch プロバイダーの登録/キャッシュヘルパー | + | `plugin-sdk/provider-web-search` | web-search プロバイダーの登録/キャッシュ/設定ヘルパー | + | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, Gemini スキーマクリーンアップ + 診断、および `resolveXaiModelCompatPatch` / `applyXaiModelCompat` のような xAI 互換ヘルパー | | `plugin-sdk/provider-usage` | `fetchClaudeUsage` など | - | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`、stream wrapper 型、および共有 Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot wrapper helper | - | `plugin-sdk/provider-onboard` | オンボーディング設定パッチ helper | - | `plugin-sdk/global-singleton` | プロセスローカル singleton/map/cache helper | + | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, ストリームラッパー型、および共有の Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot ラッパーヘルパー | + | `plugin-sdk/provider-onboard` | オンボーディング設定パッチヘルパー | + | `plugin-sdk/global-singleton` | プロセスローカルな singleton/map/cache ヘルパー | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | - | `plugin-sdk/command-auth` | `resolveControlCommandGate`, command registry helper, sender-authorization helper | - | `plugin-sdk/approval-auth-runtime` | approver 解決と same-chat action-auth helper | - | `plugin-sdk/approval-client-runtime` | ネイティブ exec approval profile/filter helper | - | `plugin-sdk/approval-delivery-runtime` | ネイティブ approval capability/delivery adapter | - | `plugin-sdk/approval-native-runtime` | ネイティブ approval target + account-binding helper | - | `plugin-sdk/approval-reply-runtime` | exec/plugin approval reply payload helper | - | `plugin-sdk/command-auth-native` | ネイティブ command auth + ネイティブ session-target helper | - | `plugin-sdk/command-detection` | 共有 command 検出 helper | - | `plugin-sdk/command-surface` | command-body 正規化と command-surface helper | + | `plugin-sdk/command-auth` | `resolveControlCommandGate`, コマンドレジストリヘルパー、送信者認可ヘルパー | + | `plugin-sdk/approval-auth-runtime` | 承認者解決および同一チャット action-auth ヘルパー | + | `plugin-sdk/approval-client-runtime` | ネイティブ実行承認プロファイル/フィルターヘルパー | + | `plugin-sdk/approval-delivery-runtime` | ネイティブ承認 capability/delivery アダプター | + | `plugin-sdk/approval-native-runtime` | ネイティブ承認ターゲット + account-binding ヘルパー | + | `plugin-sdk/approval-reply-runtime` | exec/plugin 承認返信ペイロードヘルパー | + | `plugin-sdk/command-auth-native` | ネイティブコマンド認証 + ネイティブ session-target ヘルパー | + | `plugin-sdk/command-detection` | 共有コマンド検出ヘルパー | + | `plugin-sdk/command-surface` | コマンド本文の正規化と command-surface ヘルパー | | `plugin-sdk/allow-from` | `formatAllowFromLowercase` | - | `plugin-sdk/security-runtime` | 共有 trust、DM gating、external-content、secret-collection helper | - | `plugin-sdk/ssrf-policy` | ホスト allowlist とプライベートネットワーク SSRF policy helper | - | `plugin-sdk/ssrf-runtime` | pinned-dispatcher、SSRF 保護付き fetch、および SSRF policy helper | - | `plugin-sdk/secret-input` | secret input 解析 helper | - | `plugin-sdk/webhook-ingress` | webhook request/target helper | - | `plugin-sdk/webhook-request-guards` | request body サイズ/timeout helper | + | `plugin-sdk/security-runtime` | 共有の信頼、DMゲーティング、外部コンテンツ、およびシークレット収集ヘルパー | + | `plugin-sdk/ssrf-policy` | ホスト allowlist およびプライベートネットワークSSRFポリシーヘルパー | + | `plugin-sdk/ssrf-runtime` | pinned-dispatcher、SSRF保護付き fetch、および SSRFポリシーヘルパー | + | `plugin-sdk/secret-input` | シークレット入力解析ヘルパー | + | `plugin-sdk/webhook-ingress` | webhook リクエスト/ターゲットヘルパー | + | `plugin-sdk/webhook-request-guards` | リクエストボディサイズ/タイムアウトヘルパー | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | - | `plugin-sdk/runtime` | 広範な runtime/logging/backup/plugin-install helper | - | `plugin-sdk/runtime-env` | 狭い runtime env、logger、timeout、retry、backoff helper | + | `plugin-sdk/runtime` | 広範なランタイム/ロギング/バックアップ/プラグインインストールヘルパー | + | `plugin-sdk/runtime-env` | 狭い用途のランタイム env、logger、timeout、retry、および backoff ヘルパー | | `plugin-sdk/runtime-store` | `createPluginRuntimeStore` | - | `plugin-sdk/plugin-runtime` | 共有 plugin command/hook/http/interactive helper | - | `plugin-sdk/hook-runtime` | 共有 webhook/internal hook pipeline helper | - | `plugin-sdk/lazy-runtime` | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeSurface` のような lazy runtime import/binding helper | - | `plugin-sdk/process-runtime` | process exec helper | - | `plugin-sdk/cli-runtime` | CLI formatting、wait、version helper | - | `plugin-sdk/gateway-runtime` | Gateway client と channel-status patch helper | - | `plugin-sdk/config-runtime` | 設定 load/write helper | - | `plugin-sdk/telegram-command-config` | バンドル Telegram 契約 surface が利用できない場合でも、Telegram command-name/description の正規化と重複/競合チェック | - | `plugin-sdk/approval-runtime` | exec/plugin approval helper、approval-capability builder、auth/profile helper、ネイティブルーティング/runtime helper | - | `plugin-sdk/reply-runtime` | 共有 inbound/reply runtime helper、chunking、dispatch、heartbeat、reply planner | - | `plugin-sdk/reply-dispatch-runtime` | 狭い reply dispatch/finalize helper | - | `plugin-sdk/reply-history` | `buildHistoryContext`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` などの共有 short-window reply-history helper | + | `plugin-sdk/plugin-runtime` | 共有のプラグイン command/hook/http/interactive ヘルパー | + | `plugin-sdk/hook-runtime` | 共有の webhook/internal hook パイプラインヘルパー | + | `plugin-sdk/lazy-runtime` | `createLazyRuntimeModule`, `createLazyRuntimeMethod`, `createLazyRuntimeSurface` のような遅延ランタイム import/binding ヘルパー | + | `plugin-sdk/process-runtime` | プロセス実行ヘルパー | + | `plugin-sdk/cli-runtime` | CLI整形、待機、およびバージョンヘルパー | + | `plugin-sdk/gateway-runtime` | Gatewayクライアントおよびチャンネルステータスパッチヘルパー | + | `plugin-sdk/config-runtime` | 設定の読み込み/書き込みヘルパー | + | `plugin-sdk/telegram-command-config` | バンドルされたTelegramコントラクトサーフェスが利用できない場合でも、Telegramコマンド名/説明の正規化と重複/競合チェックを行う | + | `plugin-sdk/approval-runtime` | exec/plugin 承認ヘルパー、approval-capability ビルダー、auth/profile ヘルパー、ネイティブルーティング/ランタイムヘルパー | + | `plugin-sdk/reply-runtime` | 共有の受信/返信ランタイムヘルパー、チャンク化、ディスパッチ、heartbeat、返信プランナー | + | `plugin-sdk/reply-dispatch-runtime` | 狭い用途の返信ディスパッチ/完了ヘルパー | + | `plugin-sdk/reply-history` | `buildHistoryContext`, `recordPendingHistoryEntry`, `clearHistoryEntriesIfEnabled` のような共有の短時間ウィンドウ reply-history ヘルパー | | `plugin-sdk/reply-reference` | `createReplyReferencePlanner` | - | `plugin-sdk/reply-chunking` | 狭い text/markdown chunking helper | - | `plugin-sdk/session-store-runtime` | session store path + updated-at helper | - | `plugin-sdk/state-paths` | state/OAuth dir path helper | - | `plugin-sdk/routing` | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId` などの route/session-key/account binding helper | - | `plugin-sdk/status-helpers` | 共有 channel/account status summary helper、runtime-state defaults、issue metadata helper | - | `plugin-sdk/target-resolver-runtime` | 共有 target resolver helper | - | `plugin-sdk/string-normalization-runtime` | slug/string 正規化 helper | - | `plugin-sdk/request-url` | fetch/request 風 input から文字列 URL を抽出 | - | `plugin-sdk/run-command` | 正規化された stdout/stderr result を返す timed command runner | - | `plugin-sdk/param-readers` | 共通 tool/CLI param reader | - | `plugin-sdk/tool-send` | tool args から正規の send target field を抽出 | - | `plugin-sdk/temp-path` | 共有 temp-download path helper | - | `plugin-sdk/logging-core` | subsystem logger と redaction helper | - | `plugin-sdk/markdown-table-runtime` | Markdown table mode helper | - | `plugin-sdk/json-store` | 小規模 JSON state 読み書き helper | - | `plugin-sdk/file-lock` | 再入可能な file-lock helper | - | `plugin-sdk/persistent-dedupe` | ディスクバックの dedupe cache helper | - | `plugin-sdk/acp-runtime` | ACP runtime/session と reply-dispatch helper | - | `plugin-sdk/agent-config-primitives` | 狭い agent runtime config-schema primitives | - | `plugin-sdk/boolean-param` | 緩い boolean param reader | - | `plugin-sdk/dangerous-name-runtime` | dangerous-name 一致解決 helper | - | `plugin-sdk/device-bootstrap` | デバイス bootstrap と pairing token helper | - | `plugin-sdk/extension-shared` | 共有 passive-channel と status helper primitives | - | `plugin-sdk/models-provider-runtime` | `/models` command/provider reply helper | - | `plugin-sdk/skill-commands-runtime` | skill command 一覧 helper | - | `plugin-sdk/native-command-registry` | ネイティブ command registry/build/serialize helper | - | `plugin-sdk/provider-zai-endpoint` | Z.A.I endpoint 検出 helper | - | `plugin-sdk/infra-runtime` | system event/heartbeat helper | - | `plugin-sdk/collection-runtime` | 小規模な上限付き cache helper | - | `plugin-sdk/diagnostic-runtime` | diagnostic flag と event helper | - | `plugin-sdk/error-runtime` | error graph、formatting、共有 error 分類 helper、`isApprovalNotFoundError` | - | `plugin-sdk/fetch-runtime` | wrapped fetch、proxy、pinned lookup helper | - | `plugin-sdk/host-runtime` | ホスト名と SCP ホスト正規化 helper | - | `plugin-sdk/retry-runtime` | retry 設定と retry runner helper | - | `plugin-sdk/agent-runtime` | agent dir/identity/workspace helper | - | `plugin-sdk/directory-runtime` | 設定ベース directory query/dedup | + | `plugin-sdk/reply-chunking` | 狭い用途のテキスト/markdown チャンク化ヘルパー | + | `plugin-sdk/session-store-runtime` | セッションストアのパス + updated-at ヘルパー | + | `plugin-sdk/state-paths` | State/OAuth ディレクトリパスヘルパー | + | `plugin-sdk/routing` | `resolveAgentRoute`, `buildAgentSessionKey`, `resolveDefaultAgentBoundAccountId` のようなルート/session-key/account binding ヘルパー | + | `plugin-sdk/status-helpers` | 共有のチャンネル/アカウントステータスサマリーヘルパー、runtime-state デフォルト、および issue メタデータヘルパー | + | `plugin-sdk/target-resolver-runtime` | 共有ターゲットリゾルバーヘルパー | + | `plugin-sdk/string-normalization-runtime` | Slug/文字列正規化ヘルパー | + | `plugin-sdk/request-url` | fetch/request 風入力から文字列URLを抽出 | + | `plugin-sdk/run-command` | 正規化された stdout/stderr 結果を伴う時間制限付きコマンドランナー | + | `plugin-sdk/param-readers` | 共通の tool/CLI パラメーターリーダー | + | `plugin-sdk/tool-send` | ツール引数から正規の送信ターゲットフィールドを抽出 | + | `plugin-sdk/temp-path` | 共有の一時ダウンロードパスヘルパー | + | `plugin-sdk/logging-core` | サブシステム logger とリダクションヘルパー | + | `plugin-sdk/markdown-table-runtime` | Markdownテーブルモードヘルパー | + | `plugin-sdk/json-store` | 小規模JSON state の読み書きヘルパー | + | `plugin-sdk/file-lock` | 再入可能 file-lock ヘルパー | + | `plugin-sdk/persistent-dedupe` | ディスクバックアップ付き dedupe cache ヘルパー | + | `plugin-sdk/acp-runtime` | ACP runtime/session および reply-dispatch ヘルパー | + | `plugin-sdk/agent-config-primitives` | 狭い用途のエージェントランタイム設定スキーマプリミティブ | + | `plugin-sdk/boolean-param` | 緩い boolean パラメーターリーダー | + | `plugin-sdk/dangerous-name-runtime` | 危険な名前の照合解決ヘルパー | + | `plugin-sdk/device-bootstrap` | デバイスbootstrap およびペアリングトークンヘルパー | + | `plugin-sdk/extension-shared` | 共有の passive-channel および status ヘルパープリミティブ | + | `plugin-sdk/models-provider-runtime` | `/models` コマンド/プロバイダー返信ヘルパー | + | `plugin-sdk/skill-commands-runtime` | Skills コマンド一覧ヘルパー | + | `plugin-sdk/native-command-registry` | ネイティブコマンドレジストリの build/serialize ヘルパー | + | `plugin-sdk/provider-zai-endpoint` | Z.AI endpoint 検出ヘルパー | + | `plugin-sdk/infra-runtime` | システムイベント/heartbeat ヘルパー | + | `plugin-sdk/collection-runtime` | 小規模の有界 cache ヘルパー | + | `plugin-sdk/diagnostic-runtime` | 診断フラグおよびイベントヘルパー | + | `plugin-sdk/error-runtime` | エラーグラフ、整形、共有エラー分類ヘルパー、`isApprovalNotFoundError` | + | `plugin-sdk/fetch-runtime` | ラップされた fetch、proxy、および pinned lookup ヘルパー | + | `plugin-sdk/host-runtime` | ホスト名およびSCPホスト正規化ヘルパー | + | `plugin-sdk/retry-runtime` | retry 設定および retry ランナーヘルパー | + | `plugin-sdk/agent-runtime` | エージェントディレクトリ/アイデンティティ/workspace ヘルパー | + | `plugin-sdk/directory-runtime` | 設定に基づくディレクトリ照会/dedup | | `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | - | `plugin-sdk/media-runtime` | 共有 media fetch/transform/store helper と media payload builder | - | `plugin-sdk/media-understanding` | media understanding provider 型と provider 向け image/audio helper export | - | `plugin-sdk/text-runtime` | assistant-visible-text の除去、markdown render/chunking/table helper、redaction helper、directive-tag helper、安全な text utility などの共有 text/markdown/logging helper | - | `plugin-sdk/text-chunking` | outbound text chunking helper | - | `plugin-sdk/speech` | speech provider 型と provider 向け directive、registry、validation helper | - | `plugin-sdk/speech-core` | 共有 speech provider 型、registry、directive、正規化 helper | - | `plugin-sdk/realtime-transcription` | realtime transcription provider 型と registry helper | - | `plugin-sdk/realtime-voice` | realtime voice provider 型と registry helper | - | `plugin-sdk/image-generation` | image generation provider 型 | - | `plugin-sdk/image-generation-core` | 共有 image-generation 型、failover、auth、registry helper | - | `plugin-sdk/music-generation` | music generation provider/request/result 型 | - | `plugin-sdk/music-generation-core` | 共有 music-generation 型、failover helper、provider lookup、model-ref 解析 | - | `plugin-sdk/video-generation` | video generation provider/request/result 型 | - | `plugin-sdk/video-generation-core` | 共有 video-generation 型、failover helper、provider lookup、model-ref 解析 | - | `plugin-sdk/webhook-targets` | webhook target registry と route-install helper | - | `plugin-sdk/webhook-path` | webhook path 正規化 helper | - | `plugin-sdk/web-media` | 共有 remote/local media 読み込み helper | - | `plugin-sdk/zod` | plugin SDK 利用者向けに再 export された `zod` | + | `plugin-sdk/media-runtime` | 共有のメディア取得/変換/保存ヘルパーに加え、メディアペイロードビルダー | + | `plugin-sdk/media-generation-runtime` | 共有のメディア生成フェイルオーバーヘルパー、候補選択、およびモデル未指定メッセージング | + | `plugin-sdk/media-understanding` | Media understanding プロバイダー型に加え、プロバイダー向け画像/音声ヘルパーエクスポート | + | `plugin-sdk/text-runtime` | assistant-visible-text の除去、markdown のレンダリング/チャンク化/テーブルヘルパー、リダクションヘルパー、directive-tag ヘルパー、安全なテキストユーティリティなどの共有テキスト/markdown/ロギングヘルパー | + | `plugin-sdk/text-chunking` | 送信テキストチャンク化ヘルパー | + | `plugin-sdk/speech` | 音声プロバイダー型に加え、プロバイダー向け directive、registry、および検証ヘルパー | + | `plugin-sdk/speech-core` | 共有の音声プロバイダー型、registry、directive、および正規化ヘルパー | + | `plugin-sdk/realtime-transcription` | リアルタイム文字起こしプロバイダー型およびレジストリヘルパー | + | `plugin-sdk/realtime-voice` | リアルタイム音声プロバイダー型およびレジストリヘルパー | + | `plugin-sdk/image-generation` | 画像生成プロバイダー型 | + | `plugin-sdk/image-generation-core` | 共有の画像生成型、フェイルオーバー、認証、およびレジストリヘルパー | + | `plugin-sdk/music-generation` | 音楽生成プロバイダー/リクエスト/結果型 | + | `plugin-sdk/music-generation-core` | 共有の音楽生成型、フェイルオーバーヘルパー、プロバイダー検索、および model-ref 解析 | + | `plugin-sdk/video-generation` | 動画生成プロバイダー/リクエスト/結果型 | + | `plugin-sdk/video-generation-core` | 共有の動画生成型、フェイルオーバーヘルパー、プロバイダー検索、および model-ref 解析 | + | `plugin-sdk/webhook-targets` | Webhookターゲットレジストリおよび route-install ヘルパー | + | `plugin-sdk/webhook-path` | Webhookパス正規化ヘルパー | + | `plugin-sdk/web-media` | 共有のリモート/ローカルメディア読み込みヘルパー | + | `plugin-sdk/zod` | プラグインSDK利用者向けに再エクスポートされた `zod` | | `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` | - - | Subpath | 主な export | + + | サブパス | 主なエクスポート | | --- | --- | - | `plugin-sdk/memory-core` | manager/config/file/CLI helper 向けバンドル memory-core helper surface | - | `plugin-sdk/memory-core-engine-runtime` | memory index/search runtime facade | - | `plugin-sdk/memory-core-host-engine-foundation` | memory host foundation engine export | - | `plugin-sdk/memory-core-host-engine-embeddings` | memory host embedding engine export | - | `plugin-sdk/memory-core-host-engine-qmd` | memory host QMD engine export | - | `plugin-sdk/memory-core-host-engine-storage` | memory host storage engine export | - | `plugin-sdk/memory-core-host-multimodal` | memory host multimodal helper | - | `plugin-sdk/memory-core-host-query` | memory host query helper | - | `plugin-sdk/memory-core-host-secret` | memory host secret helper | - | `plugin-sdk/memory-core-host-status` | memory host status helper | - | `plugin-sdk/memory-core-host-runtime-cli` | memory host CLI runtime helper | - | `plugin-sdk/memory-core-host-runtime-core` | memory host core runtime helper | - | `plugin-sdk/memory-core-host-runtime-files` | memory host file/runtime helper | - | `plugin-sdk/memory-lancedb` | バンドル memory-lancedb helper surface | + | `plugin-sdk/memory-core` | manager/config/file/CLI ヘルパー用のバンドルされた memory-core ヘルパーサーフェス | + | `plugin-sdk/memory-core-engine-runtime` | メモリインデックス/検索ランタイムファサード | + | `plugin-sdk/memory-core-host-engine-foundation` | メモリホスト foundation engine エクスポート | + | `plugin-sdk/memory-core-host-engine-embeddings` | メモリホスト embedding engine エクスポート | + | `plugin-sdk/memory-core-host-engine-qmd` | メモリホスト QMD engine エクスポート | + | `plugin-sdk/memory-core-host-engine-storage` | メモリホスト storage engine エクスポート | + | `plugin-sdk/memory-core-host-multimodal` | メモリホスト multimodal ヘルパー | + | `plugin-sdk/memory-core-host-query` | メモリホスト query ヘルパー | + | `plugin-sdk/memory-core-host-secret` | メモリホスト secret ヘルパー | + | `plugin-sdk/memory-core-host-events` | メモリホスト event journal ヘルパー | + | `plugin-sdk/memory-core-host-status` | メモリホスト status ヘルパー | + | `plugin-sdk/memory-core-host-runtime-cli` | メモリホスト CLI ランタイムヘルパー | + | `plugin-sdk/memory-core-host-runtime-core` | メモリホスト core ランタイムヘルパー | + | `plugin-sdk/memory-core-host-runtime-files` | メモリホスト file/runtime ヘルパー | + | `plugin-sdk/memory-host-core` | メモリホスト core ランタイムヘルパーのベンダー中立エイリアス | + | `plugin-sdk/memory-host-events` | メモリホスト event journal ヘルパーのベンダー中立エイリアス | + | `plugin-sdk/memory-host-files` | メモリホスト file/runtime ヘルパーのベンダー中立エイリアス | + | `plugin-sdk/memory-host-markdown` | メモリ周辺プラグイン向けの共有 managed-markdown ヘルパー | + | `plugin-sdk/memory-host-search` | search-manager アクセス用のアクティブメモリランタイムファサード | + | `plugin-sdk/memory-host-status` | メモリホスト status ヘルパーのベンダー中立エイリアス | + | `plugin-sdk/memory-lancedb` | バンドルされた memory-lancedb ヘルパーサーフェス | - - | Family | 現在の subpaths | 想定用途 | + + | ファミリー | 現在のサブパス | 想定用途 | | --- | --- | --- | - | Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | バンドル browser plugin サポート helper(`browser-support` は互換性 barrel のままです) | - | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | バンドル Matrix helper/runtime surface | - | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | バンドル LINE helper/runtime surface | - | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | バンドル IRC helper surface | - | channel 固有 helper | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | バンドル channel の互換性/helper seam | - | auth/plugin 固有 helper | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | バンドル機能/plugin helper seam。`plugin-sdk/github-copilot-token` は現在 `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken`, `resolveCopilotApiToken` を export します | + | Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | バンドルされたブラウザプラグイン支援ヘルパー (`browser-support` は互換性バレルのまま) | + | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | バンドルされたMatrixヘルパー/ランタイムサーフェス | + | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | バンドルされたLINEヘルパー/ランタイムサーフェス | + | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | バンドルされたIRCヘルパーサーフェス | + | チャンネル固有ヘルパー | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | バンドルされたチャンネル互換性/ヘルパー境界 | + | 認証/プラグイン固有ヘルパー | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | バンドルされた機能/プラグインヘルパー境界; `plugin-sdk/github-copilot-token` は現在 `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken`, `resolveCopilotApiToken` をエクスポート | -## Registration API +## 登録API -`register(api)` コールバックは、次の method を持つ `OpenClawPluginApi` オブジェクトを受け取ります: +`register(api)` コールバックは、以下のメソッドを持つ `OpenClawPluginApi` オブジェクトを受け取ります。 -### Capability の登録 +### 機能の登録 -| Method | 登録するもの | -| ------------------------------------------------ | ------------------------------- | -| `api.registerProvider(...)` | text inference(LLM) | -| `api.registerChannel(...)` | メッセージング channel | -| `api.registerSpeechProvider(...)` | text-to-speech / STT synthesis | -| `api.registerRealtimeTranscriptionProvider(...)` | ストリーミング realtime transcription | -| `api.registerRealtimeVoiceProvider(...)` | duplex realtime voice sessions | -| `api.registerMediaUnderstandingProvider(...)` | 画像/音声/動画の解析 | -| `api.registerImageGenerationProvider(...)` | 画像生成 | -| `api.registerMusicGenerationProvider(...)` | 音楽生成 | -| `api.registerVideoGenerationProvider(...)` | 動画生成 | -| `api.registerWebFetchProvider(...)` | Web fetch / スクレイプ provider | -| `api.registerWebSearchProvider(...)` | Web search | +| メソッド | 登録するもの | +| ------------------------------------------------ | ----------------------------- | +| `api.registerProvider(...)` | テキスト推論 (LLM) | +| `api.registerChannel(...)` | メッセージングチャンネル | +| `api.registerSpeechProvider(...)` | 音声合成 / STT synthesis | +| `api.registerRealtimeTranscriptionProvider(...)` | ストリーミングのリアルタイム文字起こし | +| `api.registerRealtimeVoiceProvider(...)` | 双方向リアルタイム音声セッション | +| `api.registerMediaUnderstandingProvider(...)` | 画像/音声/動画の解析 | +| `api.registerImageGenerationProvider(...)` | 画像生成 | +| `api.registerMusicGenerationProvider(...)` | 音楽生成 | +| `api.registerVideoGenerationProvider(...)` | 動画生成 | +| `api.registerWebFetchProvider(...)` | Web fetch / scrape プロバイダー | +| `api.registerWebSearchProvider(...)` | Web検索 | -### Tools と commands +### ツールとコマンド -| Method | 登録するもの | -| ------------------------------- | ---------------------------------------------- | -| `api.registerTool(tool, opts?)` | agent tool(必須、または `{ optional: true }`) | -| `api.registerCommand(def)` | カスタム command(LLM を経由しない) | +| メソッド | 登録するもの | +| ------------------------------- | ------------------------------------------ | +| `api.registerTool(tool, opts?)` | エージェントツール(必須、または `{ optional: true }`) | +| `api.registerCommand(def)` | カスタムコマンド(LLMをバイパス) | -### インフラ +### インフラストラクチャ -| Method | 登録するもの | -| ---------------------------------------------- | --------------------- | -| `api.registerHook(events, handler, opts?)` | event hook | -| `api.registerHttpRoute(params)` | Gateway HTTP endpoint | -| `api.registerGatewayMethod(name, handler)` | Gateway RPC method | -| `api.registerCli(registrar, opts?)` | CLI subcommand | -| `api.registerService(service)` | バックグラウンド service | -| `api.registerInteractiveHandler(registration)` | インタラクティブ handler | +| メソッド | 登録するもの | +| ---------------------------------------------- | ---------------------------------------- | +| `api.registerHook(events, handler, opts?)` | イベントフック | +| `api.registerHttpRoute(params)` | Gateway HTTPエンドポイント | +| `api.registerGatewayMethod(name, handler)` | Gateway RPCメソッド | +| `api.registerCli(registrar, opts?)` | CLIサブコマンド | +| `api.registerService(service)` | バックグラウンドサービス | +| `api.registerInteractiveHandler(registration)` | 対話型ハンドラー | +| `api.registerMemoryPromptSupplement(builder)` | 加算的なメモリ隣接プロンプトセクション | +| `api.registerMemoryCorpusSupplement(adapter)` | 加算的なメモリ検索/読み取りコーパス | -予約済みコア管理 namespace(`config.*`, `exec.approvals.*`, `wizard.*`, -`update.*`)は、plugin がより狭い gateway method scope を割り当てようとしても、 -常に `operator.admin` のままです。plugin 所有の method には -plugin 固有の prefix を優先してください。 +予約済みのコア管理名前空間(`config.*`, `exec.approvals.*`, `wizard.*`, +`update.*`)は、プラグインがより狭いGatewayメソッドスコープを割り当てようとしても、 +常に `operator.admin` のままです。プラグイン所有メソッドには、 +プラグイン固有のプレフィックスを使ってください。 -### CLI 登録メタデータ +### CLI登録メタデータ -`api.registerCli(registrar, opts?)` は 2 種類のトップレベルメタデータを受け取ります: +`api.registerCli(registrar, opts?)` は、2種類のトップレベルメタデータを受け付けます。 -- `commands`: registrar が所有する明示的な command root -- `descriptors`: ルート CLI ヘルプ、ルーティング、遅延 plugin CLI 登録に使う parse-time command descriptor +- `commands`: registrar が所有する明示的なコマンドルート +- `descriptors`: ルートCLIヘルプ、ルーティング、および遅延プラグインCLI登録に使われる + 解析時コマンドディスクリプター -plugin command を通常のルート CLI パスで遅延ロードのまま保ちたい場合は、 -その registrar が公開するすべてのトップレベル command root をカバーする +プラグインコマンドを通常のルートCLIパスで遅延ロードのままにしたい場合は、 +その registrar が公開するすべてのトップレベルコマンドルートをカバーする `descriptors` を指定してください。 ```typescript @@ -343,7 +355,7 @@ api.registerCli( descriptors: [ { name: "matrix", - description: "Manage Matrix accounts, verification, devices, and profile state", + description: "Matrixアカウント、検証、デバイス、およびプロファイル状態を管理します", hasSubcommands: true, }, ], @@ -351,114 +363,118 @@ api.registerCli( ); ``` -通常のルート CLI 登録で遅延ロードが不要な場合にのみ、`commands` 単独を使ってください。 -その eager 互換パスは引き続きサポートされますが、parse-time 遅延ロード用の -descriptor ベース placeholder はインストールされません。 +遅延ルートCLI登録が不要な場合にのみ、`commands` を単独で使用してください。 +その即時互換パスは引き続きサポートされていますが、解析時の遅延ロード用に +descriptor に裏付けられたプレースホルダーはインストールされません。 ### 排他的スロット -| Method | 登録するもの | -| ------------------------------------------ | ------------------------------------- | -| `api.registerContextEngine(id, factory)` | context engine(一度に 1 つだけ有効) | -| `api.registerMemoryPromptSection(builder)` | memory prompt section builder | -| `api.registerMemoryFlushPlan(resolver)` | memory flush plan resolver | -| `api.registerMemoryRuntime(runtime)` | memory runtime adapter | +| メソッド | 登録するもの | +| ------------------------------------------ | ---------------------------------- | +| `api.registerContextEngine(id, factory)` | コンテキストエンジン(一度に1つのみアクティブ) | +| `api.registerMemoryPromptSection(builder)` | メモリプロンプトセクションビルダー | +| `api.registerMemoryFlushPlan(resolver)` | メモリフラッシュプランリゾルバー | +| `api.registerMemoryRuntime(runtime)` | メモリランタイムアダプター | -### Memory 埋め込み adapter +### メモリ埋め込みアダプター -| Method | 登録するもの | -| ---------------------------------------------- | --------------------------------------------- | -| `api.registerMemoryEmbeddingProvider(adapter)` | アクティブ plugin 用の memory embedding adapter | +| メソッド | 登録するもの | +| ---------------------------------------------- | ------------------------------------------- | +| `api.registerMemoryEmbeddingProvider(adapter)` | アクティブなプラグイン用のメモリ埋め込みアダプター | -- `registerMemoryPromptSection`, `registerMemoryFlushPlan`, - `registerMemoryRuntime` は memory plugins 専用です。 -- `registerMemoryEmbeddingProvider` により、アクティブな memory plugin は 1 つ以上の embedding adapter id(たとえば `openai`、`gemini`、または plugin 定義のカスタム id)を登録できます。 +- `registerMemoryPromptSection`, `registerMemoryFlushPlan`, および + `registerMemoryRuntime` は、メモリプラグイン専用です。 +- `registerMemoryEmbeddingProvider` により、アクティブなメモリプラグインは + 1つ以上の埋め込みアダプターID(たとえば `openai`、`gemini`、または + プラグイン定義のカスタムID)を登録できます。 - `agents.defaults.memorySearch.provider` や `agents.defaults.memorySearch.fallback` のようなユーザー設定は、 - それらの登録済み adapter id に対して解決されます。 + それらの登録済みアダプターIDに対して解決されます。 -### Events とライフサイクル +### イベントとライフサイクル -| Method | 役割 | -| -------------------------------------------- | ----------------------------- | -| `api.on(hookName, handler, opts?)` | 型付きライフサイクル hook | -| `api.onConversationBindingResolved(handler)` | 会話 binding コールバック | +| メソッド | 動作内容 | +| -------------------------------------------- | ------------------------- | +| `api.on(hookName, handler, opts?)` | 型付きライフサイクルフック | +| `api.onConversationBindingResolved(handler)` | 会話バインディングコールバック | -### Hook decision の意味論 +### フック判定セマンティクス -- `before_tool_call`: `{ block: true }` を返すと終端になります。いずれかの handler がこれを設定すると、より低優先度の handler はスキップされます。 -- `before_tool_call`: `{ block: false }` を返すと、上書きではなく未決定(`block` を省略した場合と同じ)として扱われます。 -- `before_install`: `{ block: true }` を返すと終端になります。いずれかの handler がこれを設定すると、より低優先度の handler はスキップされます。 -- `before_install`: `{ block: false }` を返すと、上書きではなく未決定(`block` を省略した場合と同じ)として扱われます。 -- `reply_dispatch`: `{ handled: true, ... }` を返すと終端になります。いずれかの handler が dispatch を引き受けると、より低優先度の handler とデフォルトの model dispatch パスはスキップされます。 -- `message_sending`: `{ cancel: true }` を返すと終端になります。いずれかの handler がこれを設定すると、より低優先度の handler はスキップされます。 -- `message_sending`: `{ cancel: false }` を返すと、上書きではなく未決定(`cancel` を省略した場合と同じ)として扱われます。 +- `before_tool_call`: `{ block: true }` を返すと終端です。いずれかのハンドラーがこれを設定すると、より低優先度のハンドラーはスキップされます。 +- `before_tool_call`: `{ block: false }` を返しても判定なしとして扱われます(`block` を省略した場合と同じ)であり、上書きではありません。 +- `before_install`: `{ block: true }` を返すと終端です。いずれかのハンドラーがこれを設定すると、より低優先度のハンドラーはスキップされます。 +- `before_install`: `{ block: false }` を返しても判定なしとして扱われます(`block` を省略した場合と同じ)であり、上書きではありません。 +- `reply_dispatch`: `{ handled: true, ... }` を返すと終端です。いずれかのハンドラーがディスパッチを引き受けると、より低優先度のハンドラーとデフォルトのモデルディスパッチパスはスキップされます。 +- `message_sending`: `{ cancel: true }` を返すと終端です。いずれかのハンドラーがこれを設定すると、より低優先度のハンドラーはスキップされます。 +- `message_sending`: `{ cancel: false }` を返しても判定なしとして扱われます(`cancel` を省略した場合と同じ)であり、上書きではありません。 -### API オブジェクトのフィールド +### APIオブジェクトのフィールド -| Field | Type | 説明 | +| フィールド | 型 | 説明 | | ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------ | -| `api.id` | `string` | plugin id | -| `api.name` | `string` | 表示名 | -| `api.version` | `string?` | plugin バージョン(任意) | -| `api.description` | `string?` | plugin 説明(任意) | -| `api.source` | `string` | plugin ソースパス | -| `api.rootDir` | `string?` | plugin ルートディレクトリ(任意) | -| `api.config` | `OpenClawConfig` | 現在の設定スナップショット(利用可能な場合はアクティブなインメモリ runtime snapshot) | -| `api.pluginConfig` | `Record` | `plugins.entries..config` からの plugin 固有設定 | -| `api.runtime` | `PluginRuntime` | [Runtime Helpers](/ja-JP/plugins/sdk-runtime) | -| `api.logger` | `PluginLogger` | スコープ付き logger(`debug`, `info`, `warn`, `error`) | -| `api.registrationMode` | `PluginRegistrationMode` | 現在の load mode。`"setup-runtime"` は full-entry 前の軽量な起動/setup ウィンドウです | -| `api.resolvePath(input)` | `(string) => string` | plugin ルートからの相対パスを解決 | +| `api.id` | `string` | プラグインID | +| `api.name` | `string` | 表示名 | +| `api.version` | `string?` | プラグインバージョン(任意) | +| `api.description` | `string?` | プラグインの説明(任意) | +| `api.source` | `string` | プラグインのソースパス | +| `api.rootDir` | `string?` | プラグインのルートディレクトリ(任意) | +| `api.config` | `OpenClawConfig` | 現在の設定スナップショット(利用可能な場合はアクティブなインメモリランタイムスナップショット) | +| `api.pluginConfig` | `Record` | `plugins.entries..config` から取得したプラグイン固有設定 | +| `api.runtime` | `PluginRuntime` | [ランタイムヘルパー](/ja-JP/plugins/sdk-runtime) | +| `api.logger` | `PluginLogger` | スコープ付き logger (`debug`, `info`, `warn`, `error`) | +| `api.registrationMode` | `PluginRegistrationMode` | 現在のロードモード。`"setup-runtime"` は、軽量なフルエントリ前の起動/セットアップウィンドウです | +| `api.resolvePath(input)` | `(string) => string` | プラグインルートからの相対パスを解決 | -## 内部 module 規約 +## 内部モジュール規約 -plugin 内では、内部 import にローカル barrel file を使ってください: +プラグイン内では、内部インポートにローカルのバレルファイルを使用してください。 ``` my-plugin/ - api.ts # 外部 consumer 向け公開 export - runtime-api.ts # 内部専用 runtime export - index.ts # plugin entry point - setup-entry.ts # 軽量な setup 専用 entry(任意) + api.ts # 外部利用者向けの公開エクスポート + runtime-api.ts # 内部専用ランタイムエクスポート + index.ts # プラグインエントリポイント + setup-entry.ts # 軽量のセットアップ専用エントリ(任意) ``` - 本番コードから、自分自身の plugin を `openclaw/plugin-sdk/` - 経由で import してはいけません。内部 import は `./api.ts` または - `./runtime-api.ts` を通してください。SDK path は外部契約専用です。 + 本番コード内で、自分自身のプラグインを `openclaw/plugin-sdk/` + 経由でインポートしてはいけません。内部インポートは `./api.ts` または + `./runtime-api.ts` を経由してください。SDKパスは外部コントラクト専用です。 -facade 経由で読み込まれるバンドル plugin の公開 surface(`api.ts`, `runtime-api.ts`, -`index.ts`, `setup-entry.ts`、および類似の公開 entry file)は、 -OpenClaw がすでに実行中であればアクティブな runtime config snapshot を優先するようになりました。まだ runtime snapshot が存在しない場合は、 +ファサード読み込みされたバンドルプラグインの公開サーフェス(`api.ts`、 +`runtime-api.ts`、`index.ts`、`setup-entry.ts`、および類似の公開エントリファイル)は、 +OpenClaw がすでに実行中であれば、アクティブなランタイム設定スナップショットを +優先するようになりました。まだランタイムスナップショットが存在しない場合は、 ディスク上で解決された設定ファイルにフォールバックします。 -provider plugins は、helper が意図的に provider 固有であり、 -まだ汎用的な SDK subpath に属さない場合、狭い plugin ローカル契約 barrel を公開することもできます。現在のバンドル例: Anthropic provider は、 -Anthropic の beta-header や `service_tier` ロジックを汎用 -`plugin-sdk/*` 契約へ昇格させる代わりに、自身の公開 `api.ts` / `contract-api.ts` -seam に Claude stream helper を保持しています。 +プロバイダープラグインは、ヘルパーが意図的にプロバイダー固有であり、まだ汎用SDK +サブパスに属さない場合、狭い用途のプラグインローカルなコントラクトバレルを +公開することもできます。現在のバンドル例: Anthropicプロバイダーは、 +Anthropic beta-header と `service_tier` ロジックを汎用の `plugin-sdk/*` +コントラクトに昇格させる代わりに、自身の公開 `api.ts` / `contract-api.ts` +境界に Claude ストリームヘルパーを保持しています。 その他の現在のバンドル例: -- `@openclaw/openai-provider`: `api.ts` は provider builder、 - default-model helper、および realtime provider builder を export します -- `@openclaw/openrouter-provider`: `api.ts` は provider builder と - onboarding/config helper を export します +- `@openclaw/openai-provider`: `api.ts` はプロバイダービルダー、 + default-model ヘルパー、およびリアルタイムプロバイダービルダーをエクスポート +- `@openclaw/openrouter-provider`: `api.ts` はプロバイダービルダーに加え、 + オンボーディング/設定ヘルパーをエクスポート - extension の本番コードでは、`openclaw/plugin-sdk/` - import も避けるべきです。helper が本当に共有されるべきなら、2 つの plugin を結合させるのではなく、 - `openclaw/plugin-sdk/speech`、`.../provider-model-shared`、または - その他の capability 指向 surface のような中立な SDK subpath へ昇格させてください。 + 拡張機能の本番コードも、`openclaw/plugin-sdk/` のインポートを避けるべきです。 + ヘルパーが本当に共有されるべきものなら、2つのプラグインを結合するのではなく、 + `openclaw/plugin-sdk/speech`、`.../provider-model-shared`、または他の + capability 指向サーフェスのような中立的なSDKサブパスへ昇格させてください。 ## 関連 - [Entry Points](/ja-JP/plugins/sdk-entrypoints) — `definePluginEntry` と `defineChannelPluginEntry` のオプション -- [Runtime Helpers](/ja-JP/plugins/sdk-runtime) — `api.runtime` namespace 全体のリファレンス -- [Setup and Config](/ja-JP/plugins/sdk-setup) — パッケージング、manifest、設定スキーマ -- [Testing](/ja-JP/plugins/sdk-testing) — テストユーティリティと lint ルール -- [SDK Migration](/ja-JP/plugins/sdk-migration) — 非推奨 surface からの移行 -- [Plugin Internals](/ja-JP/plugins/architecture) — 詳細なアーキテクチャと capability モデル +- [Runtime Helpers](/ja-JP/plugins/sdk-runtime) — `api.runtime` 名前空間の完全なリファレンス +- [Setup and Config](/ja-JP/plugins/sdk-setup) — パッケージ化、マニフェスト、設定スキーマ +- [Testing](/ja-JP/plugins/sdk-testing) — テストユーティリティとlintルール +- [SDK Migration](/ja-JP/plugins/sdk-migration) — 非推奨サーフェスからの移行 +- [Plugin Internals](/ja-JP/plugins/architecture) — 詳細なアーキテクチャと機能モデル diff --git a/docs/ja-JP/tools/image-generation.md b/docs/ja-JP/tools/image-generation.md index 5c7660db7..fab9e9157 100644 --- a/docs/ja-JP/tools/image-generation.md +++ b/docs/ja-JP/tools/image-generation.md @@ -1,31 +1,31 @@ --- read_when: - - エージェント経由で画像を生成するとき - - 画像生成providerとmodelを設定するとき - - image_generate toolのパラメーターを理解したいとき -summary: 設定済みprovider(OpenAI、Google Gemini、fal、MiniMax、ComfyUI、Vydra)を使って画像を生成・編集する + - エージェント経由で画像を生成する場合 + - 画像生成プロバイダーとモデルを設定する場合 + - image_generateツールのパラメーターを理解する場合 +summary: 設定されたプロバイダー(OpenAI、Google Gemini、fal、MiniMax、ComfyUI、Vydra)を使って画像を生成・編集します title: 画像生成 x-i18n: - generated_at: "2026-04-06T03:13:32Z" + generated_at: "2026-04-06T04:43:37Z" model: gpt-5.4 provider: openai - source_hash: dde416dd1441a06605db85b5813cf61ccfc525813d6db430b7b7dfa53d6a3134 + source_hash: 903cc522c283a8da2cbd449ae3e25f349a74d00ecfdaf0f323fd8aa3f2107aea source_path: tools/image-generation.md workflow: 15 --- # 画像生成 -`image_generate` toolを使うと、設定済みのproviderを使ってエージェントが画像を生成・編集できます。生成された画像は、エージェントの返信内でメディア添付として自動的に配信されます。 +`image_generate`ツールを使うと、設定済みのプロバイダーを使用してエージェントが画像を作成・編集できます。生成された画像は、エージェントの返信内でメディア添付として自動的に配信されます。 -このtoolは、少なくとも1つの画像生成providerが利用可能な場合にのみ表示されます。エージェントのtoolsに `image_generate` が表示されない場合は、`agents.defaults.imageGenerationModel` を設定するか、provider APIキーを設定してください。 +このツールは、少なくとも1つの画像生成プロバイダーが利用可能な場合にのみ表示されます。エージェントのツールに`image_generate`が表示されない場合は、`agents.defaults.imageGenerationModel`を設定するか、プロバイダーのAPIキーを設定してください。 ## クイックスタート -1. 少なくとも1つのproviderにAPIキーを設定します(たとえば `OPENAI_API_KEY` または `GEMINI_API_KEY`)。 -2. 必要に応じて、優先するmodelを設定します。 +1. 少なくとも1つのプロバイダーのAPIキーを設定します(例: `OPENAI_API_KEY`または`GEMINI_API_KEY`)。 +2. 必要に応じて、優先するモデルを設定します。 ```json5 { @@ -39,47 +39,47 @@ x-i18n: } ``` -3. エージェントにこう依頼します: _「親しみやすいロブスターマスコットの画像を生成して。」_ +3. エージェントに次のように依頼します: _「親しみやすいロブスターのマスコット画像を生成して」_ -エージェントは自動的に `image_generate` を呼び出します。toolの許可リスト設定は不要です。providerが利用可能ならデフォルトで有効になります。 +エージェントは自動的に`image_generate`を呼び出します。ツールの許可リスト登録は不要です。プロバイダーが利用可能であれば、デフォルトで有効になります。 -## サポートされるprovider +## サポートされているプロバイダー -| Provider | デフォルトmodel | 編集対応 | APIキー | -| -------- | ---------------------------------- | -------------------------------- | ----------------------------------------------------- | -| OpenAI | `gpt-image-1` | はい(最大5画像) | `OPENAI_API_KEY` | -| Google | `gemini-3.1-flash-image-preview` | はい | `GEMINI_API_KEY` または `GOOGLE_API_KEY` | -| fal | `fal-ai/flux/dev` | はい | `FAL_KEY` | -| MiniMax | `image-01` | はい(被写体参照) | `MINIMAX_API_KEY` または MiniMax OAuth (`minimax-portal`) | -| ComfyUI | `workflow` | はい(1画像、workflow設定依存) | クラウドでは `COMFY_API_KEY` または `COMFY_CLOUD_API_KEY` | -| Vydra | `grok-imagine` | いいえ | `VYDRA_API_KEY` | +| プロバイダー | デフォルトモデル | 編集対応 | APIキー | +| ------------ | -------------------------------- | ---------------------------------- | ------------------------------------------------------ | +| OpenAI | `gpt-image-1` | はい(最大5画像) | `OPENAI_API_KEY` | +| Google | `gemini-3.1-flash-image-preview` | はい | `GEMINI_API_KEY`または`GOOGLE_API_KEY` | +| fal | `fal-ai/flux/dev` | はい | `FAL_KEY` | +| MiniMax | `image-01` | はい(被写体参照) | `MINIMAX_API_KEY`またはMiniMax OAuth(`minimax-portal`) | +| ComfyUI | `workflow` | はい(1画像、ワークフローで設定) | クラウドでは`COMFY_API_KEY`または`COMFY_CLOUD_API_KEY` | +| Vydra | `grok-imagine` | いいえ | `VYDRA_API_KEY` | -実行時に利用可能なproviderとmodelを確認するには、`action: "list"` を使ってください。 +実行時に利用可能なプロバイダーとモデルを確認するには、`action: "list"`を使用します。 ``` /tool image_generate action=list ``` -## toolパラメーター +## ツールのパラメーター -| Parameter | Type | 説明 | -| ------------- | -------- | ---- | -| `prompt` | string | 画像生成プロンプト(`action: "generate"` で必須) | -| `action` | string | `"generate"`(デフォルト)またはproviderを確認するための `"list"` | -| `model` | string | provider/model の上書き。例: `openai/gpt-image-1` | -| `image` | string | 編集モード用の単一参照画像パスまたはURL | -| `images` | string[] | 編集モード用の複数参照画像(最大5枚) | -| `size` | string | サイズヒント: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` | +| パラメーター | 型 | 説明 | +| ------------ | -------- | ------------------------------------------------------------------------------------- | +| `prompt` | string | 画像生成プロンプト(`action: "generate"`の場合は必須) | +| `action` | string | `"generate"`(デフォルト)または、プロバイダーを確認するための`"list"` | +| `model` | string | プロバイダー/モデルの上書き。例: `openai/gpt-image-1` | +| `image` | string | 編集モード用の単一の参照画像パスまたはURL | +| `images` | string[] | 編集モード用の複数の参照画像(最大5つ) | +| `size` | string | サイズ指定: `1024x1024`, `1536x1024`, `1024x1536`, `1024x1792`, `1792x1024` | | `aspectRatio` | string | アスペクト比: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | -| `resolution` | string | 解像度ヒント: `1K`, `2K`, または `4K` | -| `count` | number | 生成する画像数(1–4) | -| `filename` | string | 出力ファイル名ヒント | +| `resolution` | string | 解像度指定: `1K`, `2K`, または`4K` | +| `count` | number | 生成する画像数(1〜4) | +| `filename` | string | 出力ファイル名のヒント | -すべてのproviderがすべてのパラメーターをサポートしているわけではありません。toolは各providerがサポートするものだけを渡し、それ以外は無視し、除外された上書き内容をtool結果で報告します。 +すべてのプロバイダーがすべてのパラメーターをサポートしているわけではありません。このツールは各プロバイダーがサポートする内容を渡し、それ以外は無視し、適用されなかった上書き指定をツール結果で報告します。 ## 設定 -### model選択 +### モデル選択 ```json5 { @@ -94,57 +94,61 @@ x-i18n: } ``` -### provider選択順序 +### プロバイダー選択順序 -画像を生成するとき、OpenClawは次の順序でproviderを試します。 +画像を生成する際、OpenClawは次の順序でプロバイダーを試します。 -1. tool call 内の **`model` パラメーター**(エージェントが指定した場合) -2. config内の **`imageGenerationModel.primary`** -3. 順番通りの **`imageGenerationModel.fallbacks`** -4. **自動検出** — 認証可能なproviderデフォルトのみを使用: - - 現在のデフォルトproviderを最初に - - 残りの登録済み画像生成providerをprovider-id順で +1. ツール呼び出しの**`model`パラメーター**(エージェントが指定した場合) +2. 設定内の**`imageGenerationModel.primary`** +3. 順番どおりの**`imageGenerationModel.fallbacks`** +4. **自動検出** — 認証で利用可能なプロバイダーデフォルトのみを使用: + - 現在のデフォルトプロバイダーを先に使用 + - 残りの登録済み画像生成プロバイダーをprovider-id順で使用 -providerが失敗した場合(認証エラー、レート制限など)、次の候補が自動的に試されます。すべて失敗した場合、エラーには各試行の詳細が含まれます。 +プロバイダーが失敗した場合(認証エラー、レート制限など)、次の候補が自動的に試されます。すべて失敗した場合、エラーには各試行の詳細が含まれます。 -メモ: +注意: -- 自動検出は認証を考慮します。providerデフォルトが候補リストに入るのは、OpenClawが実際にそのproviderで認証できる場合のみです。 -- 現在登録されているprovider、デフォルトmodel、および認証用env var のヒントを確認するには、`action: "list"` を使ってください。 +- 自動検出は認証状態を考慮します。プロバイダーのデフォルトは、 + OpenClawがそのプロバイダーで実際に認証できる場合にのみ + 候補リストに入ります。 +- 現在登録されているプロバイダー、その + デフォルトモデル、および認証用env varのヒントを確認するには、 + `action: "list"`を使用してください。 ### 画像編集 -OpenAI、Google、fal、MiniMax、ComfyUI は参照画像の編集をサポートしています。参照画像パスまたはURLを渡してください。 +OpenAI、Google、fal、MiniMax、ComfyUIは参照画像の編集をサポートしています。参照画像のパスまたはURLを渡します。 ``` -「この写真を水彩画風にして」 + image: "/path/to/photo.jpg" +"この写真を水彩画風に生成して" + image: "/path/to/photo.jpg" ``` -OpenAIとGoogleは `images` パラメーターで最大5枚の参照画像をサポートします。fal、MiniMax、ComfyUI は1枚をサポートします。 +OpenAIとGoogleは、`images`パラメーターによって最大5つの参照画像をサポートします。fal、MiniMax、ComfyUIは1つをサポートします。 -MiniMax画像生成は、両方のバンドル済みMiniMax認証パスから利用できます。 +MiniMax画像生成は、バンドルされている両方のMiniMax認証パスで利用できます。 -- APIキーセットアップ用の `minimax/image-01` -- OAuthセットアップ用の `minimax-portal/image-01` +- APIキー設定用の`minimax/image-01` +- OAuth設定用の`minimax-portal/image-01` -## provider機能 +## プロバイダーの機能 -| Capability | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra | -| --------------------- | ----------------- | ------------------ | ---------------- | ------------------------ | ------------------------------------ | ----- | -| 生成 | はい(最大4枚) | はい(最大4枚) | はい(最大4枚) | はい(最大9枚) | はい(workflow定義の出力) | はい(1枚) | -| 編集/参照 | はい(最大5画像) | はい(最大5画像) | はい(1画像) | はい(1画像、被写体参照) | はい(1画像、workflow設定依存) | いいえ | -| サイズ制御 | はい | はい | はい | いいえ | いいえ | いいえ | -| アスペクト比 | いいえ | はい | はい(生成のみ) | はい | いいえ | いいえ | -| 解像度(1K/2K/4K) | いいえ | はい | はい | いいえ | いいえ | いいえ | +| 機能 | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra | +| --------------------- | -------------------- | -------------------- | ------------------- | -------------------------- | ---------------------------------- | ------- | +| 生成 | はい(最大4つ) | はい(最大4つ) | はい(最大4つ) | はい(最大9つ) | はい(ワークフロー定義の出力) | はい(1つ) | +| 編集/参照 | はい(最大5画像) | はい(最大5画像) | はい(1画像) | はい(1画像、被写体参照) | はい(1画像、ワークフローで設定) | いいえ | +| サイズ指定 | はい | はい | はい | いいえ | いいえ | いいえ | +| アスペクト比 | いいえ | はい | はい(生成のみ) | はい | いいえ | いいえ | +| 解像度(1K/2K/4K) | いいえ | はい | はい | いいえ | いいえ | いいえ | ## 関連 -- [Tools Overview](/ja-JP/tools) — 利用可能なすべてのエージェントtool -- [fal](/providers/fal) — fal画像/動画providerセットアップ -- [ComfyUI](/providers/comfy) — ローカルComfyUIおよびComfy Cloud workflowセットアップ -- [Google (Gemini)](/ja-JP/providers/google) — Gemini画像providerセットアップ -- [MiniMax](/ja-JP/providers/minimax) — MiniMax画像providerセットアップ -- [OpenAI](/ja-JP/providers/openai) — OpenAI Images providerセットアップ -- [Vydra](/providers/vydra) — Vydra画像、動画、音声セットアップ -- [Configuration Reference](/ja-JP/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` config -- [Models](/ja-JP/concepts/models) — model設定とフェイルオーバー +- [ツール概要](/ja-JP/tools) — 利用可能なすべてのエージェントツール +- [fal](/ja-JP/providers/fal) — fal画像・動画プロバイダーの設定 +- [ComfyUI](/ja-JP/providers/comfy) — ローカルComfyUIとComfy Cloudワークフローの設定 +- [Google (Gemini)](/ja-JP/providers/google) — Gemini画像プロバイダーの設定 +- [MiniMax](/ja-JP/providers/minimax) — MiniMax画像プロバイダーの設定 +- [OpenAI](/ja-JP/providers/openai) — OpenAI Imagesプロバイダーの設定 +- [Vydra](/ja-JP/providers/vydra) — Vydra画像・動画・音声の設定 +- [設定リファレンス](/ja-JP/gateway/configuration-reference#agent-defaults) — `imageGenerationModel`設定 +- [モデル](/ja-JP/concepts/models) — モデル設定とフェイルオーバー diff --git a/docs/ja-JP/tools/video-generation.md b/docs/ja-JP/tools/video-generation.md index fa28db0b6..d9166e062 100644 --- a/docs/ja-JP/tools/video-generation.md +++ b/docs/ja-JP/tools/video-generation.md @@ -1,133 +1,133 @@ --- read_when: - - エージェント経由で動画を生成している - - 動画生成プロバイダーとモデルを設定している - - video_generate ツールのパラメーターを理解している -summary: 12個のプロバイダーバックエンドを使って、テキスト、画像、既存動画から動画を生成する + - エージェント経由で動画を生成する場合 + - 動画生成のプロバイダーとモデルを設定する場合 + - video_generateツールのパラメータを理解する場合 +summary: 12のプロバイダーバックエンドを使用して、テキスト、画像、または既存の動画から動画を生成します title: 動画生成 x-i18n: - generated_at: "2026-04-06T03:14:20Z" + generated_at: "2026-04-06T04:43:50Z" model: gpt-5.4 provider: openai - source_hash: 4afec87368232221db1aa5a3980254093d6a961b17271b2dcbf724e6bd455b16 + source_hash: 90d8a392b35adbd899232b02c55c10895b9d7ffc9858d6ca448f2e4e4a57f12f source_path: tools/video-generation.md workflow: 15 --- # 動画生成 -OpenClaw エージェントは、テキストプロンプト、参照画像、または既存動画から動画を生成できます。12個のプロバイダーバックエンドがサポートされており、それぞれ異なるモデルオプション、入力モード、機能セットを持っています。エージェントは、設定と利用可能なAPIキーに基づいて適切なプロバイダーを自動的に選択します。 +OpenClawエージェントは、テキストプロンプト、参照画像、または既存の動画から動画を生成できます。12のプロバイダーバックエンドに対応しており、それぞれモデルオプション、入力モード、機能セットが異なります。エージェントは、設定と利用可能なAPIキーに基づいて適切なプロバイダーを自動的に選択します。 -`video_generate` ツールは、少なくとも1つの動画生成プロバイダーが利用可能な場合にのみ表示されます。エージェントツールに表示されない場合は、プロバイダーのAPIキーを設定するか、`agents.defaults.videoGenerationModel` を構成してください。 +`video_generate`ツールは、少なくとも1つの動画生成プロバイダーが利用可能な場合にのみ表示されます。エージェントツールに表示されない場合は、プロバイダーのAPIキーを設定するか、`agents.defaults.videoGenerationModel`を構成してください。 ## クイックスタート -1. サポートされているいずれかのプロバイダーのAPIキーを設定します: +1. 対応している任意のプロバイダーのAPIキーを設定します。 ```bash export GEMINI_API_KEY="your-key" ``` -2. 必要に応じてデフォルトモデルを固定します: +2. 必要に応じてデフォルトモデルを固定します。 ```bash openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview" ``` -3. エージェントに依頼します: +3. エージェントに依頼します。 -> 夕焼けの中でフレンドリーなロブスターがサーフィンする、5秒のシネマティックな動画を生成して。 +> 夕暮れの中、フレンドリーなロブスターがサーフィンをしている5秒間のシネマティックな動画を生成して。 -エージェントは自動的に `video_generate` を呼び出します。ツールの allowlist 設定は不要です。 +エージェントは自動的に`video_generate`を呼び出します。ツールの許可リスト設定は不要です。 -## 動画を生成するときに何が起こるか +## 動画を生成するときの動作 -動画生成は非同期です。セッション内でエージェントが `video_generate` を呼び出すと、次のように動作します。 +動画生成は非同期です。セッション内でエージェントが`video_generate`を呼び出すと、次のように動作します。 -1. OpenClaw はリクエストをプロバイダーに送信し、すぐにタスクIDを返します。 -2. プロバイダーはバックグラウンドでジョブを処理します(通常はプロバイダーと解像度に応じて30秒から5分)。 -3. 動画の準備ができると、OpenClaw は同じセッションを内部完了イベントで起こします。 -4. エージェントは完成した動画を元の会話に投稿します。 +1. OpenClawがプロバイダーにリクエストを送信し、ただちにタスクIDを返します。 +2. プロバイダーがバックグラウンドでジョブを処理します(通常はプロバイダーと解像度に応じて30秒から5分)。 +3. 動画の準備ができると、OpenClawが同じセッションを内部完了イベントで再開します。 +4. エージェントが完成した動画を元の会話に投稿します。 -ジョブの実行中は、同じセッションで重複する `video_generate` 呼び出しを行っても、新しい生成は開始されず、現在のタスク状態が返されます。CLI から進行状況を確認するには、`openclaw tasks list` または `openclaw tasks show ` を使用してください。 +ジョブの実行中に同じセッションで重複した`video_generate`呼び出しを行うと、新しい生成を開始する代わりに現在のタスクステータスが返されます。CLIから進行状況を確認するには、`openclaw tasks list`または`openclaw tasks show `を使用します。 -セッションに紐づくエージェント実行の外側では(たとえば直接のツール呼び出しなど)、ツールはインライン生成にフォールバックし、同じターン内で最終的なメディアパスを返します。 +セッションに紐づいたエージェント実行の外部(たとえば、ツールの直接呼び出し)では、ツールはインライン生成にフォールバックし、同じターンで最終的なメディアパスを返します。 -## サポートされているプロバイダー +## 対応プロバイダー -| Provider | デフォルトモデル | テキスト | 画像参照 | 動画参照 | APIキー | -| -------- | ------------------------------- | -------- | ---------------- | ---------------- | ---------------------------------------- | -| Alibaba | `wan2.6-t2v` | Yes | Yes(リモートURL) | Yes(リモートURL) | `MODELSTUDIO_API_KEY` | -| BytePlus | `seedance-1-0-lite-t2v-250428` | Yes | 画像1枚 | No | `BYTEPLUS_API_KEY` | -| ComfyUI | `workflow` | Yes | 画像1枚 | No | `COMFY_API_KEY` または `COMFY_CLOUD_API_KEY` | -| fal | `fal-ai/minimax/video-01-live` | Yes | 画像1枚 | No | `FAL_KEY` | -| Google | `veo-3.1-fast-generate-preview` | Yes | 画像1枚 | 動画1本 | `GEMINI_API_KEY` | -| MiniMax | `MiniMax-Hailuo-2.3` | Yes | 画像1枚 | No | `MINIMAX_API_KEY` | -| OpenAI | `sora-2` | Yes | 画像1枚 | 動画1本 | `OPENAI_API_KEY` | -| Qwen | `wan2.6-t2v` | Yes | Yes(リモートURL) | Yes(リモートURL) | `QWEN_API_KEY` | -| Runway | `gen4.5` | Yes | 画像1枚 | 動画1本 | `RUNWAYML_API_SECRET` | -| Together | `Wan-AI/Wan2.2-T2V-A14B` | Yes | 画像1枚 | No | `TOGETHER_API_KEY` | -| Vydra | `veo3` | Yes | 画像1枚(`kling`) | No | `VYDRA_API_KEY` | -| xAI | `grok-imagine-video` | Yes | 画像1枚 | 動画1本 | `XAI_API_KEY` | +| Provider | デフォルトモデル | テキスト | 画像参照 | 動画参照 | APIキー | +| -------- | ------------------------------- | ---- | --------------- | --------------- | ---------------------------------------- | +| Alibaba | `wan2.6-t2v` | Yes | Yes (リモートURL) | Yes (リモートURL) | `MODELSTUDIO_API_KEY` | +| BytePlus | `seedance-1-0-lite-t2v-250428` | Yes | 画像1枚 | No | `BYTEPLUS_API_KEY` | +| ComfyUI | `workflow` | Yes | 画像1枚 | No | `COMFY_API_KEY` or `COMFY_CLOUD_API_KEY` | +| fal | `fal-ai/minimax/video-01-live` | Yes | 画像1枚 | No | `FAL_KEY` | +| Google | `veo-3.1-fast-generate-preview` | Yes | 画像1枚 | 動画1本 | `GEMINI_API_KEY` | +| MiniMax | `MiniMax-Hailuo-2.3` | Yes | 画像1枚 | No | `MINIMAX_API_KEY` | +| OpenAI | `sora-2` | Yes | 画像1枚 | 動画1本 | `OPENAI_API_KEY` | +| Qwen | `wan2.6-t2v` | Yes | Yes (リモートURL) | Yes (リモートURL) | `QWEN_API_KEY` | +| Runway | `gen4.5` | Yes | 画像1枚 | 動画1本 | `RUNWAYML_API_SECRET` | +| Together | `Wan-AI/Wan2.2-T2V-A14B` | Yes | 画像1枚 | No | `TOGETHER_API_KEY` | +| Vydra | `veo3` | Yes | 画像1枚 (`kling`) | No | `VYDRA_API_KEY` | +| xAI | `grok-imagine-video` | Yes | 画像1枚 | 動画1本 | `XAI_API_KEY` | -一部のプロバイダーは、追加または代替のAPIキー環境変数を受け付けます。詳細は各 [provider pages](#related) を参照してください。 +一部のプロバイダーは、追加または代替のAPIキー環境変数にも対応しています。詳しくは各[プロバイダーページ](#related)を参照してください。 -ランタイム時に利用可能なプロバイダーとモデルを確認するには、`video_generate action=list` を実行してください。 +実行時に利用可能なプロバイダーとモデルを確認するには、`video_generate action=list`を実行します。 -## ツールパラメーター +## ツールパラメータ ### 必須 -| Parameter | Type | 説明 | +| Parameter | Type | Description | | --------- | ------ | ----------------------------------------------------------------------------- | -| `prompt` | string | 生成する動画のテキスト説明(`action: "generate"` では必須) | +| `prompt` | string | 動画生成のテキスト説明(`action: "generate"`に必須) | ### コンテンツ入力 -| Parameter | Type | 説明 | -| --------- | -------- | ------------------------------------ | -| `image` | string | 単一の参照画像(パスまたはURL) | -| `images` | string[] | 複数の参照画像(最大5枚) | -| `video` | string | 単一の参照動画(パスまたはURL) | -| `videos` | string[] | 複数の参照動画(最大4本) | +| Parameter | Type | Description | +| --------- | -------- | -------------------------------- | +| `image` | string | 単一の参照画像(パスまたはURL) | +| `images` | string[] | 複数の参照画像(最大5枚) | +| `video` | string | 単一の参照動画(パスまたはURL) | +| `videos` | string[] | 複数の参照動画(最大4本) | ### スタイル制御 -| Parameter | Type | 説明 | -| ----------------- | ------- | --------------------------------------------------------------------------- | -| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | -| `resolution` | string | `480P`、`720P`、または `1080P` | -| `durationSeconds` | number | 目標の長さ(秒)。最も近いプロバイダー対応値に丸められます | -| `size` | string | プロバイダーが対応している場合のサイズヒント | -| `audio` | boolean | 対応している場合に生成音声を有効化 | -| `watermark` | boolean | 対応している場合にプロバイダーの透かしを切り替え | +| Parameter | Type | Description | +| ----------------- | ------- | ---------------------------------------------------------------------- | +| `aspectRatio` | string | `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | +| `resolution` | string | `480P`, `720P`, または `1080P` | +| `durationSeconds` | number | 目標の長さ(秒、最も近いプロバイダー対応値に丸められます) | +| `size` | string | プロバイダーが対応している場合のサイズ指定 | +| `audio` | boolean | 対応している場合に生成音声を有効化 | +| `watermark` | boolean | 対応している場合にプロバイダーの透かしを切り替え | ### 高度な設定 -| Parameter | Type | 説明 | +| Parameter | Type | Description | | ---------- | ------ | ----------------------------------------------- | | `action` | string | `"generate"`(デフォルト)、`"status"`、または `"list"` | | `model` | string | プロバイダー/モデルの上書き(例: `runway/gen4.5`) | -| `filename` | string | 出力ファイル名のヒント | +| `filename` | string | 出力ファイル名のヒント | -すべてのプロバイダーがすべてのパラメーターに対応しているわけではありません。未対応の上書きはベストエフォートで無視され、その旨がツール結果に警告として報告されます。厳密な機能制限(参照入力が多すぎるなど)は、送信前に失敗します。 +すべてのプロバイダーがすべてのパラメータに対応しているわけではありません。未対応の上書き指定はベストエフォートで無視され、ツール結果で警告として報告されます。厳密な機能制限(参照入力が多すぎる場合など)は、送信前に失敗します。 ## アクション - **generate**(デフォルト) -- 指定したプロンプトと任意の参照入力から動画を生成します。 -- **status** -- 現在のセッションで実行中の動画タスクの状態を、新しい生成を開始せずに確認します。 +- **status** -- 現在のセッションで実行中の動画タスクの状態を確認します。新しい生成は開始しません。 - **list** -- 利用可能なプロバイダー、モデル、およびその機能を表示します。 ## モデル選択 -動画を生成するとき、OpenClaw は次の順序でモデルを解決します。 +動画を生成する際、OpenClawは次の順序でモデルを解決します。 -1. **`model` ツールパラメーター** -- エージェントが呼び出し内で指定した場合。 -2. **`videoGenerationModel.primary`** -- 設定から取得。 +1. **`model`ツールパラメータ** -- エージェントが呼び出しで指定した場合。 +2. **`videoGenerationModel.primary`** -- configから。 3. **`videoGenerationModel.fallbacks`** -- 順番に試行。 -4. **自動検出** -- 現在のデフォルトプロバイダーから始め、続いて残りのプロバイダーをアルファベット順で使用します。対象は有効な認証があるプロバイダーです。 +4. **自動検出** -- 有効な認証があるプロバイダーを使用し、現在のデフォルトプロバイダーから開始し、その後は残りのプロバイダーをアルファベット順で試します。 プロバイダーが失敗した場合、次の候補が自動的に試されます。すべての候補が失敗した場合、エラーには各試行の詳細が含まれます。 @@ -144,26 +144,26 @@ openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1 } ``` -## プロバイダーに関する注記 +## プロバイダーに関する注意 -| Provider | 注記 | -| -------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| Alibaba | DashScope/Model Studio の非同期エンドポイントを使用します。参照画像と動画はリモートの `http(s)` URL である必要があります。 | -| BytePlus | 単一の参照画像のみ対応。 | -| ComfyUI | ワークフロー駆動のローカルまたはクラウド実行。設定されたグラフを通じて text-to-video と image-to-video をサポートします。 | -| fal | 長時間実行ジョブにはキューベースのフローを使用します。単一の参照画像のみ対応。 | -| Google | Gemini/Veo を使用します。画像1枚または動画1本の参照に対応します。 | -| MiniMax | 単一の参照画像のみ対応。 | -| OpenAI | `size` 上書きのみ転送されます。他のスタイル上書き(`aspectRatio`、`resolution`、`audio`、`watermark`)は無視され、警告が出ます。 | -| Qwen | Alibaba と同じ DashScope バックエンドです。参照入力はリモートの `http(s)` URL である必要があり、ローカルファイルは事前に拒否されます。 | -| Runway | data URI 経由でローカルファイルをサポートします。video-to-video には `runway/gen4_aleph` が必要です。テキストのみの実行では `16:9` と `9:16` のアスペクト比が公開されます。 | -| Together | 単一の参照画像のみ対応。 | -| Vydra | 認証が落ちるリダイレクトを避けるため、`https://www.vydra.ai/api/v1` を直接使用します。`veo3` は text-to-video 専用として同梱され、`kling` にはリモート画像URLが必要です。 | -| xAI | text-to-video、image-to-video、リモート動画の編集/延長フローをサポートします。 | +| Provider | Notes | +| -------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| Alibaba | DashScope/Model Studioの非同期エンドポイントを使用します。参照画像と動画はリモートの`http(s)` URLである必要があります。 | +| BytePlus | 参照画像は1枚のみ対応です。 | +| ComfyUI | ワークフロー駆動のローカルまたはクラウド実行です。設定されたグラフを通じてテキストから動画、画像から動画に対応します。 | +| fal | 長時間実行ジョブにキュー対応フローを使用します。参照画像は1枚のみ対応です。 | +| Google | Gemini/Veoを使用します。画像1枚または動画1本の参照に対応します。 | +| MiniMax | 参照画像は1枚のみ対応です。 | +| OpenAI | 転送されるのは`size`上書きのみです。その他のスタイル上書き(`aspectRatio`、`resolution`、`audio`、`watermark`)は警告付きで無視されます。 | +| Qwen | Alibabaと同じDashScopeバックエンドです。参照入力はリモートの`http(s)` URLである必要があり、ローカルファイルは事前に拒否されます。 | +| Runway | data URI経由でローカルファイルに対応します。動画から動画への変換には`runway/gen4_aleph`が必要です。テキストのみの実行では`16:9`と`9:16`のアスペクト比が使えます。 | +| Together | 参照画像は1枚のみ対応です。 | +| Vydra | 認証が失われるリダイレクトを避けるため、`https://www.vydra.ai/api/v1`を直接使用します。`veo3`はテキストから動画専用として含まれており、`kling`にはリモート画像URLが必要です。 | +| xAI | テキストから動画、画像から動画、およびリモート動画の編集/延長フローに対応します。 | ## 設定 -OpenClaw 設定でデフォルトの動画生成モデルを設定します。 +OpenClaw configでデフォルトの動画生成モデルを設定します。 ```json5 { @@ -178,7 +178,7 @@ OpenClaw 設定でデフォルトの動画生成モデルを設定します。 } ``` -またはCLI経由で設定します。 +またはCLIから設定します。 ```bash openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v" @@ -186,19 +186,19 @@ openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2 ## 関連 -- [Tools Overview](/ja-JP/tools) -- [Background Tasks](/ja-JP/automation/tasks) -- 非同期動画生成のためのタスク追跡 -- [Alibaba Model Studio](/providers/alibaba) -- [BytePlus](/providers/byteplus) -- [ComfyUI](/providers/comfy) -- [fal](/providers/fal) +- [ツール概要](/ja-JP/tools) +- [バックグラウンドタスク](/ja-JP/automation/tasks) -- 非同期動画生成のタスク追跡 +- [Alibaba Model Studio](/ja-JP/providers/alibaba) +- [BytePlus](/ja-JP/concepts/model-providers#byteplus-international) +- [ComfyUI](/ja-JP/providers/comfy) +- [fal](/ja-JP/providers/fal) - [Google (Gemini)](/ja-JP/providers/google) - [MiniMax](/ja-JP/providers/minimax) - [OpenAI](/ja-JP/providers/openai) - [Qwen](/ja-JP/providers/qwen) -- [Runway](/providers/runway) +- [Runway](/ja-JP/providers/runway) - [Together AI](/ja-JP/providers/together) -- [Vydra](/providers/vydra) +- [Vydra](/ja-JP/providers/vydra) - [xAI](/ja-JP/providers/xai) -- [Configuration Reference](/ja-JP/gateway/configuration-reference#agent-defaults) -- [Models](/ja-JP/concepts/models) +- [設定リファレンス](/ja-JP/gateway/configuration-reference#agent-defaults) +- [モデル](/ja-JP/concepts/models)