Skip to main content

設定

OpenClaw は、~/.openclaw/openclaw.json から任意の 設定を読み込みます。 ファイルが存在しない場合、OpenClaw は安全なデフォルトを使用します。設定を追加する一般的な理由:
  • チャンネルを接続し、誰がボットにメッセージできるかを制御する
  • モデル、ツール、サンドボックス、自動化(cron、hooks)を設定する
  • セッション、メディア、ネットワーク、UI を調整する
利用可能なすべてのフィールドについては、full reference を参照してください。
設定が初めてですか? openclaw onboard で対話型セットアップを開始するか、完全なコピーペースト用設定が載っている Configuration Examples ガイドをご覧ください。

Minimal config

Editing config

Strict validation

OpenClaw はスキーマに完全一致する設定のみを受け付けます。未知のキー、不正な型、無効な値がある場合、Gateway は 起動を拒否 します。ルートレベルでの唯一の例外は $schema(string)で、エディタが JSON Schema メタデータを付与するために使用できます。
検証に失敗した場合:
  • Gateway は起動しません
  • 診断コマンドのみ使用可能です(openclaw doctoropenclaw logsopenclaw healthopenclaw status
  • openclaw doctor を実行して正確な問題を確認してください
  • openclaw doctor --fix(または --yes)で修復を適用します

Common tasks

各チャンネルには channels.<provider> 配下に専用の設定セクションがあります。セットアップ手順は各チャンネルページを参照してください:すべてのチャンネルは同じ DM ポリシーパターンを共有します:
プライマリモデルとオプションのフォールバックを設定します:
  • agents.defaults.models はモデルカタログを定義し、/model の許可リストとして機能します。
  • モデル参照は provider/model 形式です(例:anthropic/claude-opus-4-6)。
  • チャット中のモデル切替は Models CLI、認証ローテーションやフォールバック動作は Model Failover を参照してください。
  • カスタム/セルフホスト型プロバイダーは、リファレンスの Custom providers を参照してください。
DM アクセスはチャンネルごとに dmPolicy で制御します:
  • "pairing"(デフォルト):未知の送信者は承認用のワンタイムペアリングコードを受け取ります
  • "allowlist"allowFrom(またはペア済みストア)の送信者のみ許可
  • "open":すべての受信 DM を許可(allowFrom: ["*"] が必要)
  • "disabled":すべての DM を無視
グループの場合は groupPolicy + groupAllowFrom、またはチャンネル固有の許可リストを使用します。詳細は full reference を参照してください。
グループメッセージはデフォルトで メンション必須 です。エージェントごとにパターンを設定できます:
  • メタデータメンション:ネイティブ @メンション(WhatsApp のタップメンション、Telegram の @bot など)
  • テキストパターンmentionPatterns の正規表現パターン
  • チャンネル別の上書きやセルフチャットモードは full reference を参照してください。
セッションは会話の継続性と分離を制御します:
  • dmScope: main(共有)| per-peer | per-channel-peer | per-account-channel-peer
  • スコープ、IDリンク、送信ポリシーは Session Management を参照してください。
  • 全フィールドは full reference を参照してください。
エージェントセッションを分離された Docker コンテナで実行します:
まずイメージをビルドします:scripts/sandbox-setup.sh詳細は Sandboxing、全オプションは full reference を参照してください。
  • every: 期間文字列(30m, 2h)。0m で無効化。
  • target: last | whatsapp | telegram | discord | none
  • 詳細は Heartbeat を参照してください。
概要と CLI 例は Cron jobs を参照してください。
Gateway 上で HTTP webhook エンドポイントを有効にします:
すべてのマッピングオプションと Gmail 連携は full reference を参照してください。
個別のワークスペースとセッションを持つ複数の分離エージェントを実行します:
バインディングルールやエージェント別アクセスプロファイルは Multi-Agent および full reference を参照してください。
大規模な設定を整理するために $include を使用します:
  • 単一ファイル:包含オブジェクトを置換
  • 配列ファイル:順にディープマージ(後勝ち)
  • 兄弟キー:include 後にマージ(include を上書き)
  • ネスト include:最大 10 階層まで対応
  • 相対パス:包含元ファイル基準で解決
  • エラー処理:未存在ファイル、パースエラー、循環 include を明確に報告

Config hot reload

Gateway は ~/.openclaw/openclaw.json を監視し、変更を自動適用します — 多くの設定では手動再起動は不要です。

Reload modes

What hot-applies vs what needs a restart

ほとんどのフィールドはダウンタイムなしでホット適用されます。hybrid モードでは、再起動が必要な変更も自動処理されます。
gateway.reloadgateway.remote の変更は 再起動をトリガーしません

Config RPC (programmatic updates)

設定全体を検証+書き込みし、1ステップで Gateway を再起動します。
config.apply設定全体を置き換えます。部分更新には config.patch、単一キー変更には openclaw config set を使用してください。
Params:
  • raw (string) — 設定全体の JSON5 ペイロード
  • baseHash (optional) — config.get からの設定ハッシュ(既存設定がある場合は必須)
  • sessionKey (optional) — 再起動後のウェイクアップ ping 用セッションキー
  • note (optional) — 再起動センチネル用メモ
  • restartDelayMs (optional) — 再起動までの遅延(デフォルト 2000)
既存設定に部分更新をマージします(JSON マージパッチセマンティクス):
  • オブジェクトは再帰的にマージ
  • null はキー削除
  • 配列は置換
Params:
  • raw (string) — 変更対象キーのみ含む JSON5
  • baseHash (required) — config.get からの設定ハッシュ
  • sessionKey, note, restartDelayMsconfig.apply と同様

Environment variables

OpenClaw は親プロセスの環境変数に加えて、以下を読み込みます:
  • カレントディレクトリの .env(存在する場合)
  • ~/.openclaw/.env(グローバルフォールバック)
どちらも既存の環境変数を上書きしません。設定内でインライン指定も可能です:
有効時、期待キーが未設定ならログインシェルを実行し、不足キーのみをインポートします:
Env var equivalent: OPENCLAW_LOAD_SHELL_ENV=1
任意の設定文字列内で ${VAR_NAME} を使用できます:
Rules:
  • 大文字名のみ一致:[A-Z_][A-Z0-9_]*
  • 未設定/空はロード時エラー
  • $${VAR} でエスケープ
  • $include 内でも機能
  • インライン例:"${BASE}/v1""https://api.example.com/v1"
完全な優先順位とソースは Environment を参照してください。

Full reference

完全なフィールド別リファレンスは Configuration Reference を参照してください。
Related: Configuration Examples · Configuration Reference · Doctor