~/.openclaw/openclaw.json から読み取ります。
ファイルが見つからない場合、OpenClaw は安全なデフォルトを使用します。構成を追加する一般的な理由:
- チャネルを接続し、ボットにメッセージを送信できる人を制御します
- モデル、ツール、サンドボックス、または自動化 (cron、フック) を設定します。
- セッション、メディア、ネットワーキング、または UI を調整する
最小限の構成
構成の編集
- インタラクティブウィザード
- CLI (ワンライナー)
- コントロールUI
- 直接編集
厳密な検証
検証が失敗した場合:- ゲートウェイが起動しない
- 診断コマンドのみが機能します (
openclaw doctor、openclaw logs、openclaw health、openclaw status) openclaw doctorを実行して、正確な問題を確認してくださいopenclaw doctor --fix(または--yes) を実行して修復を適用します
一般的なタスク
チャネルをセットアップする (WhatsApp、Telegram、Discord など)
チャネルをセットアップする (WhatsApp、Telegram、Discord など)
各チャネルには、
channels.<provider> の下に独自の構成セクションがあります。セットアップ手順については、専用チャンネルのページを参照してください。- WhatsApp —
channels.whatsapp - Telegram —
channels.telegram - Discord —
channels.discord - Slack —
channels.slack - Signal —
channels.signal - iMessage —
channels.imessage - Google Chat —
channels.googlechat - Mattermost —
channels.mattermost - MS Teams —
channels.msteams
モデルの選択と構成
モデルの選択と構成
プライマリ モデルとオプションのフォールバックを設定します。
サンドボックスを有効にする
サンドボックスを有効にする
ハートビートの設定 (定期的なチェックイン)
ハートビートの設定 (定期的なチェックイン)
sessionRetention:sessions.jsonから完了した分離実行セッションをプルーニングします (デフォルトは24h、falseを無効に設定します)。runLog: サイズと保持された行によってcron/runs/<jobId>.jsonlを削除します。- 機能の概要と CLI の例については、Cron ジョブ を参照してください。
Webhook (フック) を設定する
Webhook (フック) を設定する
ゲートウェイで HTTP Webhook エンドポイントを有効にします。セキュリティ上の注意:
- すべてのフック/Webhook ペイロード コンテンツを信頼できない入力として扱います。
- 厳密に範囲を絞ったデバッグを実行しない限り、安全でないコンテンツのバイパス フラグを無効にしておきます (
hooks.gmail.allowUnsafeExternalContent、hooks.mappings[].allowUnsafeExternalContent)。 - フック駆動型エージェントの場合は、強力な最新のモデル層と厳密なツール ポリシー (たとえば、メッセージングのみと可能な場合はサンドボックス) を好みます。
マルチエージェントルーティングを構成する
マルチエージェントルーティングを構成する
構成を複数のファイルに分割する ($include)
構成を複数のファイルに分割する ($include)
$include を使用して大規模な構成を整理します。- 単一ファイル: 含まれているオブジェクトを置き換えます
- ファイルの配列: 順番にディープマージされます (後の方が優先)
- 兄弟キー: インクルード後にマージされます (インクルードされた値をオーバーライドします)
- ネストされたインクルード: 最大 10 レベルの深さまでサポートされています
- 相対パス: 含まれるファイルを基準にして解決されます。
- エラー処理: ファイルの欠落、解析エラー、循環インクルードのエラーをクリアします。
ホットリロードを構成する
ゲートウェイは~/.openclaw/openclaw.json を監視し、変更を自動的に適用します。ほとんどの設定では手動で再起動する必要はありません。
リロードモード|モード |行動 |
| ---------------------- | ----------------------------------------------------------------------------------------- | |hybrid (デフォルト) |安全な変更を即座にホット適用します。重要なものについては自動的に再起動します。 |
| hot |安全な変更のみをホット適用します。再起動が必要な場合、警告をログに記録します。再起動はユーザーが処理します。 |
| restart |安全かどうかにかかわらず、設定変更時にゲートウェイを再起動します。 |
| off |ファイル監視を無効にします。変更は次回の手動再起動時に有効になります。 |
ホットアプライするものと再起動が必要なもの
ほとんどのフィールドはダウンタイムなしでホットアプライされます。 hybrid モードでは、再起動が必要な変更は自動的に処理されます。 | カテゴリー | フィールド | 再起動が必要ですか? |
|---|---|---|---|
| チャンネル | channels.*、web (WhatsApp) — すべての組み込みおよび拡張チャネル | いいえ | |
| エージェントとモデル | agent、agents、models、routing | いいえ | |
| 自動化 | hooks、cron、agent.heartbeat | いいえ | |
| セッションとメッセージ | session、messages | いいえ | |
| ツールとメディア | tools、browser、skills、audio、talk | いいえ | |
| UI とその他 | ui、logging、identity、bindings | いいえ | |
| ゲートウェイサーバー | gateway.* (ポート、バインド、認証、テールスケール、TLS、HTTP) | はい | |
| インフラ | discovery、canvasHost、plugins | はい |
gateway.reload と gateway.remote は例外です。これらを変更しても再起動は行われません。Config RPC (プログラムによる更新)
コントロール プレーン書き込み RPC (
config.apply、config.patch、update.run) は、deviceId+clientIp ごとに 60 秒あたり 3 リクエスト にレート制限されています。制限されている場合、RPC は retryAfterMs とともに UNAVAILABLE を返します。config.apply (完全置換)
config.apply (完全置換)
検証し、完全な構成を書き込み、ゲートウェイを 1 ステップで再起動します。パラメータ:
raw(文字列) — 構成全体の JSON5 ペイロードbaseHash(オプション) —config.getからの構成ハッシュ (構成が存在する場合に必要)sessionKey(オプション) — 再起動後のウェイクアップ ping 用のセッション キーnote(オプション) — 再起動センチネルに関するメモrestartDelayMs(オプション) — 再起動前の遅延 (デフォルトは 2000)
config.patch (部分更新)
config.patch (部分更新)
部分的な更新を既存の構成にマージします (JSON マージ パッチ セマンティクス)。- オブジェクトは再帰的にマージされます
nullはキーを削除します- 配列の置換
raw(文字列) — 変更するキーのみを含む JSON5baseHash(必須) —config.getからの構成ハッシュsessionKey、note、restartDelayMs—config.applyと同じ
config.apply と一致します。合体した保留中の再起動に加え、再起動サイクル間に 30 秒のクールダウンが発生します。環境変数
OpenClaw は、親プロセスから環境変数を読み取り、さらに次のことを行います。- 現在の作業ディレクトリからの
.env(存在する場合) ~/.openclaw/.env(グローバル フォールバック)
シェル環境インポート (オプション)
シェル環境インポート (オプション)
有効で予期されるキーが設定されていない場合、OpenClaw はログイン シェルを実行し、不足しているキーのみをインポートします。同等の環境変数:
OPENCLAW_LOAD_SHELL_ENV=1構成値の環境変数置換
構成値の環境変数置換
${VAR_NAME} を使用して、構成文字列値内の環境変数を参照します。- 大文字の名前のみが一致します:
[A-Z_][A-Z0-9_]* - 欠落している/空の変数はロード時にエラーをスローします
- リテラル出力の場合は
${VAR}でエスケープします $includeファイル内で動作します- インライン置換:
"${BASE}/v1"→"https://api.example.com/v1"
シークレット参照 (env、file、exec)
シークレット参照 (env、file、exec)
SecretRef オブジェクトをサポートするフィールドの場合、以下を使用できます。SecretRef の詳細 (
env/file/exec の secrets.providers を含む) は、シークレット管理 にあります。
サポートされている資格情報パスは、SecretRef Credential Surface にリストされています。完全なリファレンス
フィールドごとの完全なリファレンスについては、構成リファレンス を参照してください。関連: 構成例 · 構成リファレンス · ドクター