OpenClawSkills
GitHub
Gateway / Operations • 5分で読める

Configuration

~/.openclaw/openclaw.json(JSON5)による OpenClaw 設定

OpenClaw は ~/.openclaw/openclaw.json から任意の JSON5 設定を読み込みます(コメントと末尾カンマ可)。

ファイルが無い場合は安全なデフォルトで動作します。実運用では多くの場合、次だけ設定すれば十分です:

  • 誰が bot を起動できるか(例:channels.whatsapp.allowFrom、channels.telegram.allowFrom)。
  • グループの allowlist と mention 挙動(例:channels.whatsapp.groups、channels.telegram.groups、channels.discord.guilds、agents.list[].groupChat)。
  • メッセージプレフィックスのカスタマイズ(messages)。
  • エージェント workspace の設定(agents.defaults.workspace / agents.list[].workspace)。

Tutorial.alert.info

設定が初めてなら 設定例 を参照してください(注釈付きの完全な例)。
Tutorial.step

設定ファイル

設定ファイルは ~/.openclaw/openclaw.json で、JSON5 です(厳密 JSON ではありません)。

小さな変更は、全置換よりも増分更新(例:config.patch)を推奨します。

Tutorial.step

厳密な検証

OpenClaw は schema と一致する設定のみ受け付けます。無効な設定は拒否され、Gateway は起動を拒否します。

検証に失敗した場合:

  • Gateway が起動しません。
  • 診断コマンドのみ利用できます(例:openclaw doctor、openclaw logs、openclaw health、openclaw status)。
  • openclaw doctor で原因を確認します。
  • openclaw doctor --fix(または --yes)で移行/修正を適用します。

Doctor は --fix/--yes を明示しない限り書き込みません。

Tutorial.step

Schema と UI

Gateway は UI エディタ向けに config.schema として JSON Schema を提供します。

Control UI は schema からフォームを描画し、Raw JSON エディタも用意します。

プラグインは schema + UI hints(ラベル、グループ化、機密フィールド)を登録でき、クライアントはハードコード無しで描画できます。

Tutorial.step

適用と再起動(RPC)

config.apply で設定全体を検証・書き込みし、1 ステップで Gateway を再起動します。

Warning: config.apply replaces the entire config. If you want to change only a few keys, use config.patch or openclaw config set. Keep a backup of ~/.openclaw/openclaw.json.

パラメータ:

  • raw(string):設定全体の JSON5
  • baseHash(任意):config.get の hash(既存設定がある場合に必要)
  • sessionKey(任意):再起動後に ping する最後のセッション key
  • note(任意):再起動センチネルに含めるメモ
  • restartDelayMs(任意):再起動前の遅延(デフォルト 2000)

Example (via gateway call):

Bash
openclaw gateway call config.get --params '{}' # capture payload.hash
openclaw gateway call config.apply --params '{
  "raw": "{\n  agents: { defaults: { workspace: \"~/.openclaw/workspace\" } }\n}\n",
  "baseHash": "<hash-from-config.get>",
  "sessionKey": "agent:main:whatsapp:dm:+15555550123",
  "restartDelayMs": 1000
}'
Tutorial.step

Partial updates (RPC)

config.patch で既存設定に部分更新をマージします。

マージパッチの挙動:

  • オブジェクトは再帰的にマージします。
  • null はキー削除です。
  • 配列は置換です。

Params:

  • raw(string):変更したいキーのみ含む JSON5
  • baseHash(必須):config.get の hash
  • sessionKey(任意):再起動後に ping する最後のセッション key
  • note(任意):再起動センチネルに含めるメモ
  • restartDelayMs(任意):再起動前の遅延(デフォルト 2000)

Example:

Bash
openclaw gateway call config.get --params '{}' # capture payload.hash
openclaw gateway call config.patch --params '{
  "raw": "{\n  channels: { telegram: { groups: { \"*\": { requireMention: false } } } }\n}\n",
  "baseHash": "<hash-from-config.get>",
  "sessionKey": "agent:main:whatsapp:dm:+15555550123",
  "restartDelayMs": 1000
}'
Tutorial.step

最小設定(推奨スタート)

workspace を設定し、WhatsApp の DM を allowlist に制限する最小設定:

Json5
{
  agents: { defaults: { workspace: "~/.openclaw/workspace" } },
  channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
Tutorial.step

Config Includes (<code>$include</code>)

$include で設定を複数ファイルに分割できます。

  • 大きな設定を整理(例:クライアントごとのエージェント定義)。
  • 環境間で共通設定を共有。
  • 機密設定を分離。

Example:

Json5
// ~/.openclaw/openclaw.json
{
  gateway: { port: 18789 },
  agents: { $include: "./agents.json5" },
  broadcast: { $include: ["./clients/mueller.json5", "./clients/schmidt.json5"] },
}
Tutorial.step

環境変数と .env

OpenClaw は親プロセス(shell、launchd/systemd、CI など)から環境変数を読み、.env をフォールバックとして読み込みます。

  • カレントディレクトリの .env を読み込み(存在する場合)。
  • ~/.openclaw/.env($OPENCLAW_STATE_DIR/.env)をグローバルフォールバックとして読み込み。
  • .env は既存の環境変数を上書きしません。

設定ファイル内に inline env を書くこともできます(不足しているキーのみ埋めます):

Json5
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: { GROQ_API_KEY: "gsk-..." },
  },
}

優先順位とソースは /environment を参照してください。

Tutorial.step

設定内の環境変数置換

ReferenceGatewayConfigurationPage.steps.envSubstitution.p1

Json5
{
  gateway: { auth: { token: "${OPENCLAW_GATEWAY_TOKEN}" } },
  models: { providers: { custom: { apiKey: "${CUSTOM_API_KEY}" } } },
}

ルール:

  • 大文字の env 名のみ:[A-Z_][A-Z0-9_]*
  • 欠落/空の env は読み込みエラーになります。
  • ReferenceGatewayConfigurationPage.steps.envSubstitution.rules.escape
  • $include と併用可能(include されたファイルも置換されます)。
Tutorial.step

認証の保存(OAuth + API キー)

OpenClaw は認証プロファイルをエージェント単位でディスクに保存します。

  • 主ファイル:&lt;agentDir&gt;/auth-profiles.json
  • 旧インポート:$OPENCLAW_STATE_DIR/credentials/oauth.json
  • エージェント root は OPENCLAW_AGENT_DIR(推奨)/ PI_CODING_AGENT_DIR(旧)で上書きできます。

OAuth の全体フローと保存レイアウトは /concepts/oauth を参照。

Tutorial.step

安全のヒント

  • 大きな変更前に ~/.openclaw/openclaw.json をバックアップ。
  • ログ脱敏で秘密の露出を防ぐ(logging.redactSensitive)。
  • 複数エージェントではエージェント単位の sandbox/tools policy を使う。多エージェント sandbox とツール を参照。