はじめに
OpenClaw のすべての動作は1つの設定ファイルによって駆動されます。デフォルトのパスは ~/.openclaw/openclaw.json です。他の記事では機能の観点から各設定セクションを紹介していますが、実際の運用では「フィールドレベル」の早見表が必要になることが多いでしょう。本記事では、openclaw.json のすべての合法フィールドを表形式でリストし、型、デフォルト値、制約条件を明記します。設定を編集する際の素早い参照にお役立てください。
トップレベル構造
openclaw.json のトップレベルは以下の設定セクションで構成されます。
{
"gateway": {},
"models": {},
"channels": {},
"agents": {},
"sessions": {},
"skills": {},
"persona": {},
"logging": {},
"security": {},
"advanced": {}
}
各セクションは独立しており、実際に使用する部分のみ記述すれば、残りはデフォルト値が適用されます。
gateway フィールドリファレンス
ゲートウェイはOpenClawのHTTPエントリポイントで、すべてのチャンネルのWebhookコールバックとDashboardのリクエストを受け付けます。
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
port |
number | 18789 |
ゲートウェイのリッスンポート |
host |
string | "127.0.0.1" |
リッスンアドレス。"0.0.0.0" で外部接続を受け入れ |
dashboardPassword |
string | "" |
Dashboardアクセスパスワード。空の場合は認証不要 |
apiKey |
string | "" |
REST API認証キー |
timeout |
number | 120000 |
リクエストタイムアウト(ミリ秒) |
maxBodySize |
string | "10mb" |
リクエストボディの最大サイズ |
cors.enabled |
boolean | true |
CORSを有効にするか |
cors.origins |
string[] | ["*"] |
許可するオリジンドメインのリスト |
webhookBase |
string | "" |
WebhookのベースURL。コールバックアドレスの自動登録に使用 |
models フィールドリファレンス
モデル設定はOpenClawが接続するAIバックエンドを決定します。
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
default |
string | "claude" |
デフォルトのモデルプロバイダー名 |
providers.<name>.apiKey |
string | 必須 | プロバイダーのAPIキー |
providers.<name>.model |
string | 必須 | 使用するモデル識別子 |
providers.<name>.maxTokens |
number | 4096 |
1回の返信の最大Token数 |
providers.<name>.temperature |
number | 0.7 |
Temperatureパラメータ(0-2) |
providers.<name>.baseUrl |
string | プロバイダーにより異なる | カスタムAPIエンドポイント |
providers.<name>.headers |
object | {} |
追加のHTTPリクエストヘッダー |
routing.rules |
array | [] |
モデルルーティングルールの配列 |
routing.fallback |
string | defaultと同じ |
ルーティング不一致時のフォールバックモデル |
channels フィールドリファレンス
チャンネル設定はOpenClawが接続するメッセージングプラットフォームを定義します。各チャンネルタイプには共通フィールドと専用フィールドがあります。
共通チャンネルフィールド
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
enabled |
boolean | false |
このチャンネルを有効にするか |
allowedUsers |
array | [] |
ユーザーホワイトリスト。空の場合は制限なし |
allowedGroups |
array | [] |
グループホワイトリスト |
webhookPath |
string | 自動生成 | カスタムWebhookパス |
mediaSupport |
object | チャンネルのデフォルト | メディアタイプサポートのスイッチ |
Telegram専用フィールド
| フィールド | 型 | 説明 |
|---|---|---|
token |
string | Bot Token |
parseMode |
string | メッセージ解析モード:"Markdown" または "HTML" |
groupRules.triggerOnMention |
boolean | @メンション時のみ返信するか |
WhatsApp専用フィールド
| フィールド | 型 | 説明 |
|---|---|---|
phoneNumber |
string | 紐付ける電話番号 |
accessToken |
string | Business APIアクセストークン |
verifyToken |
string | Webhook検証トークン |
Discord専用フィールド
| フィールド | 型 | 説明 |
|---|---|---|
token |
string | Bot Token |
allowedChannels |
string[] | 対話を許可するチャンネル名またはIDのリスト |
agents フィールドリファレンス
Agent設定はマルチエージェントルーティングの動作を定義します。
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
default |
string | "default" |
デフォルトのAgent ID |
list[].id |
string | 必須 | Agentの一意識別子 |
list[].name |
string | 必須 | Agentの表示名 |
list[].model |
string | グローバルを継承 | そのAgentが使用するモデル |
list[].systemPrompt |
string | "" |
Agent専用のシステムプロンプト |
list[].skills |
string[] | [] |
そのAgentが利用可能なスキルリスト |
list[].knowledgeBase |
string | "" |
ナレッジベースのディレクトリパス |
sessions フィールドリファレンス
セッション設定は会話履歴の保存と管理を制御します。
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
storageFormat |
string | "jsonl" |
保存形式。現在はJSONLのみサポート |
storagePath |
string | "~/.openclaw/agents/<agentId>/sessions/" |
セッションファイルディレクトリ |
maxHistoryMessages |
number | 50 |
コンテキストに保持する最大メッセージ数 |
maxHistoryTokens |
number | 8000 |
コンテキストに保持する最大Token数 |
autoCompaction |
boolean | true |
コンテキストオーバーフロー時に自動圧縮するか |
compactionStrategy |
string | "summary" |
圧縮戦略:"summary" または "truncate" |
treeStructure |
boolean | true |
ツリー構造セッション(分岐サポート)を有効にするか |
security フィールドリファレンス
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
rateLimit.enabled |
boolean | true |
レート制限を有効にするか |
rateLimit.maxRequests |
number | 60 |
ウィンドウあたりの最大リクエスト数 |
rateLimit.windowMs |
number | 60000 |
ウィンドウ期間(ミリ秒) |
ipWhitelist |
string[] | [] |
IPホワイトリスト |
ipBlacklist |
string[] | [] |
IPブラックリスト |
tls.enabled |
boolean | false |
HTTPSを有効にするか |
tls.cert |
string | "" |
証明書ファイルのパス |
tls.key |
string | "" |
秘密鍵ファイルのパス |
logging フィールドリファレンス
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
level |
string | "info" |
ログレベル:debug、info、warn、error |
file |
string | "" |
ログファイルのパス。空の場合はターミナルのみに出力 |
maxSize |
string | "10m" |
単一ログファイルの最大サイズ |
maxFiles |
number | 5 |
保持するログファイル数 |
format |
string | "text" |
出力形式:"text" または "json" |
advanced フィールドリファレンス
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
workers |
number | 0 |
ワーカースレッド数。0は自動 |
queueSize |
number | 100 |
メッセージキューサイズ |
storage |
string | "sqlite" |
データストレージバックエンド |
dbPath |
string | "~/.openclaw/data/openclaw.db" |
SQLiteデータベースのパス |
redis.url |
string | "" |
Redis接続アドレス |
redis.db |
number | 0 |
Redisデータベース番号 |
pluginDir |
string | "~/.openclaw/plugins" |
プラグインディレクトリ |
設定の検証とデバッグ
設定を変更した後は、必ず内蔵ツールで検証してください。
# 設定ファイルの構文と必須項目を検証
openclaw doctor
# 現在有効な完全な設定(デフォルト値を含む)を出力
openclaw config --dump
--dump オプションはすべてのフィールド(明示的に設定していないデフォルト値を含む)をターミナルに出力し、最終的に有効な設定を確認するのに役立ちます。
まとめ
本記事ではフィールド単位で openclaw.json のすべての設定項目をリストしました。日常の使用では、本記事を早見表として保存しておくことをお勧めします。ほとんどの場合、gateway、models、channels の3つのコアセクションのみに注目すれば十分で、その他はデフォルト値のままで問題ありません。特定の機能セクションの使い方を詳しく知りたい場合は、対応する専門チュートリアルを参照してください。