設定
OpenClaw は、~/.openclaw/openclaw.json から任意の 設定を読み込みます。
ファイルが存在しない場合、OpenClaw は安全なデフォルトを使用します。設定を追加する一般的な理由:
- チャンネルを接続し、誰がボットにメッセージできるかを制御する
- モデル、ツール、サンドボックス、自動化(cron、hooks)を設定する
- セッション、メディア、ネットワーク、UI を調整する
Minimal config
Editing config
- 対話型ウィザード
- CLI(ワンライナー)
- Control UI
- 直接編集
Strict validation
検証に失敗した場合:- Gateway は起動しません
- 診断コマンドのみ使用可能です(
openclaw doctor、openclaw logs、openclaw health、openclaw status) openclaw doctorを実行して正確な問題を確認してくださいopenclaw doctor --fix(または--yes)で修復を適用します
Common tasks
チャンネルを設定する(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
モデルを選択・設定する
モデルを選択・設定する
プライマリモデルとオプションのフォールバックを設定します:
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 を参照してください。Heartbeat(定期チェックイン)を設定する
Heartbeat(定期チェックイン)を設定する
every: 期間文字列(30m,2h)。0mで無効化。target:last|whatsapp|telegram|discord|none- 詳細は Heartbeat を参照してください。
cron ジョブを設定する
cron ジョブを設定する
webhooks(hooks)を設定する
webhooks(hooks)を設定する
マルチエージェントルーティングを設定する
マルチエージェントルーティングを設定する
個別のワークスペースとセッションを持つ複数の分離エージェントを実行します:バインディングルールやエージェント別アクセスプロファイルは Multi-Agent および full reference を参照してください。
設定を複数ファイルに分割する($include)
設定を複数ファイルに分割する($include)
大規模な設定を整理するために
$include を使用します:- 単一ファイル:包含オブジェクトを置換
- 配列ファイル:順にディープマージ(後勝ち)
- 兄弟キー:include 後にマージ(include を上書き)
- ネスト include:最大 10 階層まで対応
- 相対パス:包含元ファイル基準で解決
- エラー処理:未存在ファイル、パースエラー、循環 include を明確に報告
Config hot reload
Gateway は~/.openclaw/openclaw.json を監視し、変更を自動適用します — 多くの設定では手動再起動は不要です。
Reload modes
| Mode | Behavior |
|---|---|
hybrid (default) | 安全な変更は即時ホット適用。重要な変更は自動再起動。 |
hot | 安全な変更のみホット適用。再起動が必要な場合は警告ログのみ。 |
restart | すべての設定変更で Gateway を再起動。 |
off | ファイル監視を無効化。変更は次回手動再起動時に反映。 |
What hot-applies vs what needs a restart
ほとんどのフィールドはダウンタイムなしでホット適用されます。hybrid モードでは、再起動が必要な変更も自動処理されます。
| Category | Fields | Restart needed? |
|---|---|---|
| Channels | channels.*, web (WhatsApp) — すべての組み込み/拡張チャンネル | No |
| Agent & models | agent, agents, models, routing | No |
| Automation | hooks, cron, agent.heartbeat | No |
| Sessions & messages | session, messages | No |
| Tools & media | tools, browser, skills, audio, talk | No |
| UI & misc | ui, logging, identity, bindings | No |
| Gateway server | gateway.* (port, bind, auth, tailscale, TLS, HTTP) | Yes |
| Infrastructure | discovery, canvasHost, plugins | Yes |
gateway.reload と gateway.remote の変更は 再起動をトリガーしません。Config RPC (programmatic updates)
config.apply (full replace)
config.apply (full replace)
設定全体を検証+書き込みし、1ステップで Gateway を再起動します。Params:
raw(string) — 設定全体の JSON5 ペイロードbaseHash(optional) —config.getからの設定ハッシュ(既存設定がある場合は必須)sessionKey(optional) — 再起動後のウェイクアップ ping 用セッションキーnote(optional) — 再起動センチネル用メモrestartDelayMs(optional) — 再起動までの遅延(デフォルト 2000)
config.patch (partial update)
config.patch (partial update)
既存設定に部分更新をマージします(JSON マージパッチセマンティクス):
- オブジェクトは再帰的にマージ
nullはキー削除- 配列は置換
raw(string) — 変更対象キーのみ含む JSON5baseHash(required) —config.getからの設定ハッシュsessionKey,note,restartDelayMs—config.applyと同様
Environment variables
OpenClaw は親プロセスの環境変数に加えて、以下を読み込みます:- カレントディレクトリの
.env(存在する場合) ~/.openclaw/.env(グローバルフォールバック)
Shell env import (optional)
Shell env import (optional)
有効時、期待キーが未設定ならログインシェルを実行し、不足キーのみをインポートします:Env var equivalent:
OPENCLAW_LOAD_SHELL_ENV=1Env var substitution in config values
Env var substitution in config values
任意の設定文字列内で Rules:
${VAR_NAME} を使用できます:- 大文字名のみ一致:
[A-Z_][A-Z0-9_]* - 未設定/空はロード時エラー
$${VAR}でエスケープ$include内でも機能- インライン例:
"${BASE}/v1"→"https://api.example.com/v1"
Full reference
完全なフィールド別リファレンスは Configuration Reference を参照してください。Related: Configuration Examples · Configuration Reference · Doctor