エージェントスコープの設定キーはDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
agents.*、multiAgent.*、session.*、
messages.*、talk.* 配下にあります。チャネル、ツール、Gateway ランタイム、その他の
トップレベルキーについては、設定リファレンスを参照してください。
エージェントのデフォルト
agents.defaults.workspace
デフォルト: ~/.openclaw/workspace。
agents.defaults.repoRoot
システムプロンプトの Runtime 行に表示される任意のリポジトリルート。未設定の場合、OpenClaw はワークスペースから上方向にたどって自動検出します。
agents.defaults.skills
agents.list[].skills を設定していないエージェント向けの任意のデフォルト Skills 許可リスト。
- デフォルトで Skills を制限しない場合は、
agents.defaults.skillsを省略します。 - デフォルトを継承するには、
agents.list[].skillsを省略します。 - Skills なしにするには、
agents.list[].skills: []を設定します。 - 空でない
agents.list[].skillsリストは、そのエージェントの最終的なセットです。デフォルトとはマージされません。
agents.defaults.skipBootstrap
ワークスペースのブートストラップファイル(AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md)の自動作成を無効にします。
agents.defaults.skipOptionalBootstrapFiles
必須のブートストラップファイルは書き込みながら、選択した任意のワークスペースファイルの作成をスキップします。有効な値: SOUL.md、USER.md、HEARTBEAT.md、IDENTITY.md。
agents.defaults.contextInjection
ワークスペースのブートストラップファイルをシステムプロンプトへ注入するタイミングを制御します。デフォルト: "always"。
"continuation-skip": 安全な継続ターン(完了したアシスタント応答の後)では、ワークスペースブートストラップの再注入をスキップし、プロンプトサイズを削減します。Heartbeat 実行と Compaction 後の再試行では、引き続きコンテキストを再構築します。"never": すべてのターンで、ワークスペースブートストラップとコンテキストファイル注入を無効にします。これは、プロンプトのライフサイクルを完全に自前で管理するエージェント(カスタムコンテキストエンジン、独自にコンテキストを構築するネイティブランタイム、またはブートストラップなしの特殊なワークフロー)にのみ使用してください。Heartbeat と Compaction リカバリーのターンでも注入をスキップします。
agents.defaults.bootstrapMaxChars
切り捨て前のワークスペースブートストラップファイルごとの最大文字数。デフォルト: 12000。
agents.defaults.bootstrapTotalMaxChars
すべてのワークスペースブートストラップファイル全体で注入される合計最大文字数。デフォルト: 60000。
agents.defaults.bootstrapPromptTruncationWarning
ブートストラップコンテキストが切り捨てられたときの、エージェントに表示されるシステムプロンプト通知を制御します。
デフォルト: "once"。
"off": 切り捨て通知テキストをシステムプロンプトに注入しません。"once": 一意の切り捨てシグネチャごとに、簡潔な通知を一度だけ注入します(推奨)。"always": 切り捨てが存在する場合、実行ごとに簡潔な通知を注入します。
コンテキスト予算の所有範囲マップ
OpenClaw には複数の大容量プロンプト/コンテキスト予算があり、それらは汎用的な単一のノブを通すのではなく、意図的にサブシステムごとに分割されています。agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: 通常のワークスペースブートストラップ注入。agents.defaults.startupContext.*: 最近の日次memory/*.mdファイルを含む、リセット/起動時のモデル実行に対する一度限りのプレリュード。素のチャット/newと/resetコマンドは、モデルを呼び出さずに確認応答されます。skills.limits.*: システムプロンプトに注入されるコンパクトな Skills リスト。agents.defaults.contextLimits.*: 境界付きランタイム抜粋と、注入されるランタイム所有ブロック。memory.qmd.limits.*: インデックス化されたメモリ検索スニペットと注入サイズ。
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
リセット/起動時のモデル実行で注入される初回ターンの起動プレリュードを制御します。素のチャット /new と /reset コマンドは、モデルを呼び出さずにリセットを確認応答するため、このプレリュードは読み込まれません。
agents.defaults.contextLimits
境界付きランタイムコンテキスト面向けの共有デフォルトです。
memoryGetMaxChars: 切り捨てメタデータと継続通知が追加される前の、デフォルトのmemory_get抜粋上限。memoryGetDefaultLines:linesが省略された場合の、デフォルトのmemory_get行ウィンドウ。toolResultMaxChars: 永続化された結果とオーバーフローリカバリーに使われるライブツール結果の上限。postCompactionMaxChars: Compaction 後の更新注入中に使われる AGENTS.md 抜粋上限。
agents.list[].contextLimits
共有 contextLimits ノブのエージェントごとのオーバーライド。省略されたフィールドは agents.defaults.contextLimits から継承します。
skills.limits.maxSkillsPromptChars
システムプロンプトに注入されるコンパクトな Skills リストのグローバル上限です。これはオンデマンドでの SKILL.md ファイル読み取りには影響しません。
agents.list[].skillsLimits.maxSkillsPromptChars
Skills プロンプト予算のエージェントごとのオーバーライドです。
agents.defaults.imageMaxDimensionPx
プロバイダー呼び出し前に、トランスクリプト/ツール画像ブロック内の画像の最長辺に適用される最大ピクセルサイズ。
デフォルト: 1200。
値を小さくすると、通常、スクリーンショットが多い実行での vision-token 使用量とリクエストペイロードサイズを削減できます。
値を大きくすると、より多くの視覚的ディテールを保持できます。
agents.defaults.userTimezone
システムプロンプトコンテキストのタイムゾーン(メッセージのタイムスタンプではありません)。ホストのタイムゾーンにフォールバックします。
agents.defaults.timeFormat
システムプロンプト内の時刻形式。デフォルト: auto(OS 設定)。
agents.defaults.model
model: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。- 文字列形式は primary モデルのみを設定します。
- オブジェクト形式は primary と順序付きのフェイルオーバーモデルを設定します。
imageModel: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。imageツールパスで、その vision-model 設定として使用されます。- 選択済みまたはデフォルトのモデルが画像入力を受け付けられない場合のフォールバックルーティングにも使用されます。
- 明示的な
provider/model参照を推奨します。裸の ID は互換性のために受け付けられます。裸の ID がmodels.providers.*.models内の設定済み画像対応エントリに一意に一致する場合、OpenClaw はその provider に修飾します。設定済みの一致があいまいな場合は、明示的な provider プレフィックスが必要です。
imageGenerationModel: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。- 共有の画像生成 capability、および画像を生成する将来の tool/Plugin サーフェスで使用されます。
- 代表的な値: Gemini ネイティブ画像生成には
google/gemini-3.1-flash-image-preview、fal にはfal/fal-ai/flux/dev、OpenAI Images にはopenai/gpt-image-2、透明背景の OpenAI PNG/WebP 出力にはopenai/gpt-image-1.5。 - provider/model を直接選択する場合は、一致する provider 認証も設定してください(例:
google/*にはGEMINI_API_KEYまたはGOOGLE_API_KEY、openai/gpt-image-2/openai/gpt-image-1.5にはOPENAI_API_KEYまたは OpenAI Codex OAuth、fal/*にはFAL_KEY)。 - 省略した場合でも、
image_generateは認証に裏付けられた provider デフォルトを推論できます。現在のデフォルト provider を最初に試し、その後、登録済みの残りの画像生成 provider を provider-id 順に試します。
musicGenerationModel: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。- 共有の音楽生成 capability と組み込みの
music_generateツールで使用されます。 - 代表的な値:
google/lyria-3-clip-preview、google/lyria-3-pro-preview、またはminimax/music-2.6。 - 省略した場合でも、
music_generateは認証に裏付けられた provider デフォルトを推論できます。現在のデフォルト provider を最初に試し、その後、登録済みの残りの音楽生成 provider を provider-id 順に試します。 - provider/model を直接選択する場合は、一致する provider 認証/API キーも設定してください。
- 共有の音楽生成 capability と組み込みの
videoGenerationModel: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。- 共有の動画生成 capability と組み込みの
video_generateツールで使用されます。 - 代表的な値:
qwen/wan2.6-t2v、qwen/wan2.6-i2v、qwen/wan2.6-r2v、qwen/wan2.6-r2v-flash、またはqwen/wan2.7-r2v。 - 省略した場合でも、
video_generateは認証に裏付けられた provider デフォルトを推論できます。現在のデフォルト provider を最初に試し、その後、登録済みの残りの動画生成 provider を provider-id 順に試します。 - provider/model を直接選択する場合は、一致する provider 認証/API キーも設定してください。
- バンドルされた Qwen 動画生成 provider は、最大 1 本の出力動画、1 枚の入力画像、4 本の入力動画、10 秒の duration、および provider レベルの
size、aspectRatio、resolution、audio、watermarkオプションをサポートします。
- 共有の動画生成 capability と組み込みの
pdfModel: 文字列 ("provider/model") またはオブジェクト ({ primary, fallbacks }) のいずれかを受け付けます。pdfツールによるモデルルーティングで使用されます。- 省略した場合、PDF ツールは
imageModelにフォールバックし、その後、解決済みのセッション/デフォルトモデルにフォールバックします。
pdfMaxBytesMb: 呼び出し時にmaxBytesMbが渡されない場合の、pdfツールのデフォルト PDF サイズ上限です。pdfMaxPages:pdfツールの抽出フォールバックモードで考慮されるデフォルト最大ページ数です。verboseDefault: エージェントのデフォルト verbose レベルです。値:"off"、"on"、"full"。デフォルト:"off"。toolProgressDetail:/verboseツール要約と進行状況ドラフトのツール行に対する詳細モードです。値:"explain"(デフォルト、コンパクトな人間向けラベル)または"raw"(利用可能な場合は生のコマンド/詳細を付加)。エージェントごとのagents.list[].toolProgressDetailはこのデフォルトを上書きします。reasoningDefault: エージェントのデフォルト reasoning 可視性です。値:"off"、"on"、"stream"。エージェントごとのagents.list[].reasoningDefaultはこのデフォルトを上書きします。設定済みの reasoning デフォルトは、メッセージごとまたはセッションの reasoning 上書きが設定されていない場合に限り、所有者、承認済み送信者、または operator-admin gateway コンテキストにだけ適用されます。elevatedDefault: エージェントのデフォルト elevated-output レベルです。値:"off"、"on"、"ask"、"full"。デフォルト:"on"。model.primary: 形式はprovider/model(例: OpenAI API キーまたは Codex OAuth アクセスではopenai/gpt-5.5)。provider を省略した場合、OpenClaw はまず alias を試し、次にその正確な model id に対する一意の設定済み provider 一致を試し、その後にのみ設定済みのデフォルト provider にフォールバックします(非推奨の互換動作のため、明示的なprovider/modelを推奨)。その provider が設定済みのデフォルトモデルを公開しなくなった場合、OpenClaw は削除済み provider の古いデフォルトを表示する代わりに、最初の設定済み provider/model にフォールバックします。models:/model用に設定されたモデルカタログと許可リストです。各エントリにはalias(ショートカット)とparams(provider 固有、例:temperature、maxTokens、cacheRetention、context1m、responsesServerCompaction、responsesCompactThreshold、chat_template_kwargs、extra_body/extraBody)を含められます。"openai-codex/*": {}や"vllm/*": {}のようなprovider/*エントリを使うと、すべての model id を手作業で列挙しなくても、選択した provider の検出済みモデルをすべて表示できます。- 安全な編集: エントリを追加するには
openclaw config set agents.defaults.models '<json>' --strict-json --mergeを使用します。config setは、既存の許可リストエントリを削除する置換を、--replaceを渡さない限り拒否します。 - provider スコープの configure/オンボーディングフローは、選択した provider モデルをこの map にマージし、すでに設定済みの無関係な provider を保持します。
- 直接の OpenAI Responses モデルでは、サーバー側 Compaction が自動的に有効になります。
context_managementの注入を停止するにはparams.responsesServerCompaction: falseを使用し、しきい値を上書きするにはparams.responsesCompactThresholdを使用します。OpenAI サーバー側 Compaction を参照してください。
params: すべてのモデルに適用されるグローバルなデフォルト provider パラメータです。agents.defaults.paramsに設定します(例:{ cacheRetention: "long" })。paramsのマージ優先順位(config):agents.defaults.params(グローバルベース)はagents.defaults.models["provider/model"].params(モデルごと)で上書きされ、その後agents.list[].params(一致する agent id)がキー単位で上書きします。詳細は Prompt Caching を参照してください。params.extra_body/params.extraBody: OpenAI 互換プロキシ向けにapi: "openai-completions"リクエスト本文へマージされる高度なパススルー JSON です。生成されたリクエストキーと衝突した場合、extra body が優先されます。非ネイティブ completions ルートでは、その後も OpenAI 専用のstoreが削除されます。params.chat_template_kwargs: vLLM/OpenAI 互換の chat-template 引数で、トップレベルのapi: "openai-completions"リクエスト本文にマージされます。thinking が off のvllm/nemotron-3-*では、バンドルされた vLLM Plugin が自動的にenable_thinking: falseとforce_nonempty_content: trueを送信します。明示的なchat_template_kwargsは生成されたデフォルトを上書きし、extra_body.chat_template_kwargsが引き続き最終優先となります。vLLM Qwen thinking 制御では、そのモデルエントリのparams.qwenThinkingFormatを"chat-template"または"top-level"に設定します。compat.thinkingFormat: OpenAI 互換の thinking ペイロード形式です。Qwen 形式のトップレベルenable_thinkingには"qwen"を使用し、vLLM など、リクエストレベルの chat-template kwargs をサポートする Qwen-family backend でのchat_template_kwargs.enable_thinkingには"qwen-chat-template"を使用します。OpenClaw は無効化された thinking をfalseに、有効化された thinking をtrueにマップします。compat.supportedReasoningEfforts: モデルごとの OpenAI 互換 reasoning effort リストです。"xhigh"を本当に受け付けるカスタムエンドポイントには含めてください。すると OpenClaw は、その設定済み provider/model について、コマンドメニュー、Gateway セッション行、セッションパッチ検証、エージェント CLI 検証、llm-task検証で/think xhighを公開します。backend が canonical level に対して provider 固有の値を必要とする場合はcompat.reasoningEffortMapを使用します。params.preserveThinking: preserved thinking 用の Z.AI 限定 opt-in です。有効で thinking が on の場合、OpenClaw はthinking.clear_thinking: falseを送信し、以前のreasoning_contentを再生します。Z.AI thinking と preserved thinking を参照してください。localService: ローカル/セルフホストのモデルサーバー用の、任意の provider レベルプロセスマネージャーです。選択されたモデルがその provider に属する場合、OpenClaw はhealthUrl(またはbaseUrl + "/models")をプローブし、エンドポイントが down の場合はargs付きでcommandを開始し、最大readyTimeoutMsまで待ってからモデルリクエストを送信します。commandは絶対パスでなければなりません。idleStopMs: 0は OpenClaw が終了するまでプロセスを存続させます。正の値は、そのミリ秒数だけ idle 状態が続いた後、OpenClaw が生成したプロセスを停止します。ローカルモデルサービス を参照してください。- ランタイムポリシーは
agents.defaultsではなく、provider または model に属します。provider 全体のルールにはmodels.providers.<provider>.agentRuntimeを使用し、モデル固有のルールにはagents.defaults.models["provider/model"].agentRuntime/agents.list[].models["provider/model"].agentRuntimeを使用します。公式 OpenAI provider の OpenAI agent モデルは、デフォルトで Codex を選択します。 - これらのフィールドを変更する config writer(例:
/models set、/models set-image、fallback add/remove コマンド)は、canonical なオブジェクト形式で保存し、可能な場合は既存の fallback リストを保持します。 maxConcurrent: セッションをまたいだエージェント実行の最大並列数です(各セッションは引き続き直列化されます)。デフォルト: 4。
ランタイムポリシー
id:"auto"、"pi"、登録済み Plugin harness id、またはサポートされている CLI backend alias です。バンドルされた Codex Plugin はcodexを登録し、バンドルされた Anthropic Plugin はclaude-cliCLI backend を提供します。id: "auto"は、登録済み Plugin harness にサポート対象の turn を claim させ、一致する harness がない場合は PI を使用します。id: "codex"のような明示的な Plugin runtime は、その harness を必要とし、利用できないか失敗した場合は fail closed します。- エージェント全体の runtime key は legacy です。
agents.defaults.agentRuntime、agents.list[].agentRuntime、セッション runtime pin、OPENCLAW_AGENT_RUNTIMEは runtime selection で無視されます。古い値を削除するにはopenclaw doctor --fixを実行してください。 - OpenAI agent モデルはデフォルトで Codex harness を使用します。明示したい場合、provider/model の
agentRuntime.id: "codex"は引き続き有効です。 - Claude CLI デプロイメントでは、
model: "anthropic/claude-opus-4-7"とモデルスコープのagentRuntime.id: "claude-cli"の併用を推奨します。legacy のclaude-cli/claude-opus-4-7モデル参照は互換性のために引き続き機能しますが、新しい config では provider/model selection を canonical に保ち、実行 backend を provider/model runtime policy に置く必要があります。 - これは text agent-turn execution のみを制御します。メディア生成、vision、PDF、音楽、動画、TTS は引き続きそれぞれの provider/model 設定を使用します。
agents.defaults.models にある場合にのみ適用):
| エイリアス | モデル |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.5 |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite-preview |
--thinking off を設定するか、agents.defaults.models["zai/<model>"].params.thinking を自分で定義しない限り、思考モードを自動的に有効にします。
Z.AI モデルは、ツール呼び出しストリーミング用にデフォルトで tool_stream を有効にします。無効にするには agents.defaults.models["zai/<model>"].params.tool_stream を false に設定します。
Anthropic Claude 4.6 モデルは、明示的な思考レベルが設定されていない場合、デフォルトで adaptive 思考になります。
agents.defaults.cliBackends
テキストのみのフォールバック実行用の任意の CLI バックエンド(ツール呼び出しなし)。API プロバイダーが失敗したときのバックアップとして有用です。
- CLI バックエンドはテキスト優先です。ツールは常に無効になります。
sessionArgが設定されている場合、セッションがサポートされます。imageArgがファイルパスを受け付ける場合、画像のパススルーがサポートされます。reseedFromRawTranscriptWhenUncompacted: trueを指定すると、最初の Compaction 要約が存在する前に、境界付けられた生の OpenClaw トランスクリプト末尾から、安全に無効化されたセッションをバックエンドが復旧できます。認証プロファイルまたは認証情報エポックの変更では、依然として生の再シードは行われません。
agents.defaults.systemPromptOverride
OpenClaw が組み立てたシステムプロンプト全体を固定文字列で置き換えます。デフォルトレベル(agents.defaults.systemPromptOverride)またはエージェントごと(agents.list[].systemPromptOverride)に設定します。エージェントごとの値が優先されます。空または空白のみの値は無視されます。制御されたプロンプト実験に有用です。
agents.defaults.promptOverlays
モデルファミリーごとに適用される、プロバイダーに依存しないプロンプトオーバーレイ。GPT-5 ファミリーのモデル ID は、プロバイダー全体で共有される動作契約を受け取ります。personality は親しみやすい対話スタイル層のみを制御します。
"friendly"(デフォルト)と"on"は、親しみやすい対話スタイル層を有効にします。"off"は親しみやすい層のみを無効にします。タグ付けされた GPT-5 動作契約は引き続き有効です。- この共有設定が未設定の場合、従来の
plugins.entries.openai.config.personalityは引き続き読み取られます。
agents.defaults.heartbeat
定期的な Heartbeat 実行。
every: 期間文字列(ms/s/m/h)。デフォルト:30m(API キー認証)または1h(OAuth 認証)。無効にするには0mに設定します。includeSystemPromptSection: false の場合、システムプロンプトから Heartbeat セクションを省略し、ブートストラップコンテキストへのHEARTBEAT.md注入をスキップします。デフォルト:true。suppressToolErrorWarnings: true の場合、Heartbeat 実行中のツールエラー警告ペイロードを抑制します。timeoutSeconds: Heartbeat エージェントターンが中止されるまでに許可される最大秒数。未設定のままにするとagents.defaults.timeoutSecondsを使用します。directPolicy: ダイレクト/DM 配信ポリシー。allow(デフォルト)はダイレクトターゲット配信を許可します。blockはダイレクトターゲット配信を抑制し、reason=dm-blockedを出力します。lightContext: true の場合、Heartbeat 実行は軽量ブートストラップコンテキストを使用し、ワークスペースのブートストラップファイルからHEARTBEAT.mdのみを保持します。isolatedSession: true の場合、各 Heartbeat は以前の会話履歴なしの新しいセッションで実行されます。cronsessionTarget: "isolated"と同じ分離パターンです。Heartbeat ごとのトークンコストを約 100K から約 2-5K トークンに削減します。skipWhenBusy: true の場合、Heartbeat 実行は、そのエージェントの追加のビジーレーン、つまり自身のセッションキー付きサブエージェントまたはネストされたコマンド作業に対して延期されます。このフラグがなくても、Cron レーンは常に Heartbeat を延期します。- エージェントごと:
agents.list[].heartbeatを設定します。いずれかのエージェントがheartbeatを定義している場合、それらのエージェントのみが Heartbeat を実行します。 - Heartbeat は完全なエージェントターンを実行します。間隔が短いほど、より多くのトークンを消費します。
agents.defaults.compaction
mode:defaultまたはsafeguard(長い履歴向けのチャンク化要約)。Compaction を参照してください。provider: 登録済み Compaction プロバイダー Plugin の ID。設定すると、組み込み LLM 要約の代わりにプロバイダーのsummarize()が呼び出されます。失敗時は組み込みにフォールバックします。プロバイダーを設定するとmode: "safeguard"が強制されます。Compaction を参照してください。timeoutSeconds: OpenClaw が単一の Compaction 操作を中止するまでに許可される最大秒数。デフォルト:900。keepRecentTokens: 最新のトランスクリプト末尾をそのまま保持するための Pi カットポイント予算。手動/compactは明示的に設定されている場合これを尊重します。それ以外の場合、手動 Compaction はハードチェックポイントです。identifierPolicy:strict(デフォルト)、off、またはcustom。strictは、Compaction 要約時に組み込みの不透明識別子保持ガイダンスを前置します。identifierInstructions:identifierPolicy=customの場合に使用される、任意のカスタム識別子保持テキスト。qualityGuard: safeguard 要約用の、不正形式出力に対する再試行チェック。safeguard モードではデフォルトで有効です。監査をスキップするにはenabled: falseを設定します。midTurnPrecheck: 任意の Pi ツールループ圧力チェック。enabled: trueの場合、OpenClaw はツール結果が追加された後、次のモデル呼び出しの前にコンテキスト圧力をチェックします。コンテキストが収まらなくなっている場合、プロンプトを送信する前に現在の試行を中止し、既存の事前チェック復旧パスを再利用してツール結果を切り詰めるか、Compaction して再試行します。defaultとsafeguardの両方の Compaction モードで動作します。デフォルト: 無効。postCompactionSections: Compaction 後に再注入する、任意の AGENTS.md H2/H3 セクション名。デフォルトは["Session Startup", "Red Lines"]です。再注入を無効にするには[]を設定します。未設定、またはそのデフォルトペアが明示的に設定されている場合、古いEvery Session/Safety見出しもレガシーフォールバックとして受け入れられます。model: Compaction 要約専用の任意のprovider/model-idオーバーライド。メインセッションは 1 つのモデルを維持しつつ、Compaction 要約は別のモデルで実行したい場合に使用します。未設定の場合、Compaction はセッションのプライマリモデルを使用します。maxActiveTranscriptBytes: アクティブな JSONL がしきい値を超えたときに実行前の通常のローカル Compaction をトリガーする、任意のバイトしきい値(numberまたは"20mb"のような文字列)。Compaction 成功後により小さい後続トランスクリプトへローテーションできるよう、truncateAfterCompactionが必要です。未設定または0の場合は無効です。notifyUser:trueの場合、Compaction の開始時と完了時に短い通知をユーザーへ送信します(例: 「Compacting context…」と「Compaction complete」)。Compaction をサイレントに保つため、デフォルトでは無効です。memoryFlush: 自動 Compaction の前に永続メモリを保存するためのサイレントなエージェントターン。この保守ターンをローカルモデルに留める必要がある場合は、modelをollama/qwen3:8bのような正確なプロバイダー/モデルに設定します。このオーバーライドはアクティブセッションのフォールバックチェーンを継承しません。ワークスペースが読み取り専用の場合はスキップされます。
agents.defaults.runRetries
失敗復旧中の無限実行ループを防ぐための、埋め込み Pi ランナー向け外側実行ループ再試行反復境界。この設定は現在、埋め込みエージェントランタイムにのみ適用され、ACP または CLI ランタイムには適用されない点に注意してください。
base: 外側実行ループの実行再試行反復の基本数。デフォルト:24。perProfile: フォールバックプロファイル候補ごとに付与される追加の実行再試行反復数。デフォルト:8。min: 実行再試行反復の絶対最小制限。デフォルト:32。max: 暴走実行を防ぐための実行再試行反復の絶対最大制限。デフォルト:160。
agents.defaults.contextPruning
LLM に送信する前に、メモリ内コンテキストから古いツール結果を刈り込みます。ディスク上のセッション履歴は変更しません。
cache-ttl モードの動作
cache-ttl モードの動作
mode: "cache-ttl"はプルーニングパスを有効にします。ttlは、プルーニングを再度実行できる頻度を制御します(最後にキャッシュへ触れた後)。- プルーニングはまずサイズが大きすぎるツール結果をソフトトリムし、必要に応じて古いツール結果をハードクリアします。
... を挿入します。ハードクリアはツール結果全体をプレースホルダーに置き換えます。注記:- 画像ブロックはトリムまたはクリアされません。
- 比率は文字ベース(概算)であり、正確なトークン数ではありません。
keepLastAssistantsより少ない assistant メッセージしか存在しない場合、プルーニングはスキップされます。
ブロックストリーミング
- Telegram 以外のチャネルでブロック返信を有効にするには、明示的な
*.blockStreaming: trueが必要です。 - チャネルの上書き:
channels.<channel>.blockStreamingCoalesce(およびアカウントごとのバリアント)。Signal/Slack/Discord/Google Chat のデフォルトはminChars: 1500です。 humanDelay: ブロック返信間のランダムな一時停止です。natural= 800–2500ms。エージェントごとの上書き:agents.list[].humanDelay。
入力インジケーター
- デフォルト: ダイレクトチャット/メンションでは
instant、メンションされていないグループチャットではmessage。 - セッションごとの上書き:
session.typingMode、session.typingIntervalSeconds。
agents.defaults.sandbox
組み込みエージェント向けの任意のサンドボックス化です。完全なガイドは サンドボックス化 を参照してください。
サンドボックスの詳細
サンドボックスの詳細
sandbox.docker.binds は Docker 専用です。
イメージをビルドします(ソースチェックアウトから):
docker build コマンドについて サンドボックス化 § イメージとセットアップ を参照してください。
agents.list(エージェントごとの上書き)
agents.list[].ttsを使用して、エージェントに独自の TTS プロバイダー、音声、モデル、
スタイル、または自動 TTS モードを指定します。エージェントブロックはグローバルな
messages.ttsにディープマージされるため、共有認証情報を1か所に保持しながら、個別の
エージェントは必要な音声フィールドまたはプロバイダーフィールドだけを上書きできます。アクティブなエージェントの
上書きは、自動音声返信、/tts audio、/tts status、および
ttsエージェントツールに適用されます。プロバイダーの例と優先順位については、テキスト読み上げ
を参照してください。
id: 安定したエージェント id(必須)。default: 複数設定されている場合は、最初のものが優先されます(警告がログに記録されます)。何も設定されていない場合は、リストの最初のエントリがデフォルトです。model: 文字列形式は、モデルフォールバックなしの厳密なエージェント単位のプライマリを設定します。オブジェクト形式の{ primary }も、fallbacksを追加しない限り厳密です。{ primary, fallbacks: [...] }を使用すると、そのエージェントでフォールバックを有効にできます。また、{ primary, fallbacks: [] }を使用すると、厳密な動作を明示できます。primaryだけを上書きする Cron ジョブは、fallbacks: []を設定しない限り、引き続きデフォルトのフォールバックを継承します。params:agents.defaults.modelsで選択されたモデルエントリにマージされる、エージェント単位のストリームパラメーターです。モデルカタログ全体を複製せずに、cacheRetention、temperature、maxTokensなどのエージェント固有の上書きに使用します。tts: エージェント単位のテキスト読み上げ上書き(任意)。このブロックはmessages.ttsにディープマージされるため、共有プロバイダー認証情報とフォールバックポリシーはmessages.ttsに保持し、プロバイダー、音声、モデル、スタイル、自動モードなどのペルソナ固有の値だけをここで設定します。skills: エージェント単位の Skills 許可リスト(任意)。省略した場合、設定されていればエージェントはagents.defaults.skillsを継承します。明示的なリストはデフォルトとマージされずに置き換えられ、[]は Skills なしを意味します。thinkingDefault: エージェント単位のデフォルト思考レベル(任意)(off | minimal | low | medium | high | xhigh | adaptive | max)。メッセージ単位またはセッション単位の上書きが設定されていない場合、このエージェントのagents.defaults.thinkingDefaultを上書きします。選択されたプロバイダー/モデルプロファイルが、有効な値を制御します。Google Gemini では、adaptiveはプロバイダー所有の動的思考を維持します(Gemini 3/3.1 ではthinkingLevelを省略、Gemini 2.5 ではthinkingBudget: -1)。reasoningDefault: エージェント単位のデフォルト推論可視性(任意)(on | off | stream)。メッセージ単位またはセッション単位の推論上書きが設定されていない場合、このエージェントのagents.defaults.reasoningDefaultを上書きします。fastModeDefault: エージェント単位の fast mode のデフォルト(任意)(true | false)。メッセージ単位またはセッション単位の fast-mode 上書きが設定されていない場合に適用されます。models: 完全なprovider/modelid をキーにした、エージェント単位のモデルカタログ/ランタイム上書き(任意)。エージェント単位のランタイム例外にはmodels["provider/model"].agentRuntimeを使用します。runtime: エージェント単位のランタイム記述子(任意)。エージェントがデフォルトで ACP ハーネスセッションを使用する必要がある場合は、runtime.acpデフォルト(agent、backend、mode、cwd)とともにtype: "acp"を使用します。identity.avatar: ワークスペース相対パス、http(s)URL、またはdata:URI。identityはデフォルトを派生します:emojiからackReaction、name/emojiからmentionPatterns。subagents.allowAgents: 明示的なsessions_spawn.agentIdターゲット用のエージェント id 許可リスト(["*"]= 任意、デフォルト: 同じエージェントのみ)。自己ターゲットのagentId呼び出しを許可する必要がある場合は、リクエスト元 id を含めます。- サンドボックス継承ガード: リクエスト元セッションがサンドボックス化されている場合、
sessions_spawnはサンドボックスなしで実行されるターゲットを拒否します。 subagents.requireAgentId: true の場合、agentIdを省略したsessions_spawn呼び出しをブロックします(明示的なプロファイル選択を強制、デフォルト: false)。
マルチエージェントルーティング
1つの Gateway 内で、複数の分離されたエージェントを実行します。マルチエージェントを参照してください。バインディングのマッチフィールド
type(任意): 通常ルーティングの場合はroute(type がない場合のデフォルトは route)、永続 ACP 会話バインディングの場合はacp。match.channel(必須)match.accountId(任意。*= 任意のアカウント、省略 = デフォルトアカウント)match.peer(任意。{ kind: direct|group|channel, id })match.guildId/match.teamId(任意。チャネル固有)acp(任意。type: "acp"の場合のみ):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(完全一致、peer/guild/team なし)match.accountId: "*"(チャネル全体)- デフォルトエージェント
bindingsエントリが優先されます。
type: "acp"エントリでは、OpenClaw は完全な会話識別子(match.channel + アカウント + match.peer.id)で解決し、上記の route バインディング階層順序は使用しません。
エージェント単位のアクセスプロファイル
フルアクセス(サンドボックスなし)
フルアクセス(サンドボックスなし)
読み取り専用ツール + ワークスペース
読み取り専用ツール + ワークスペース
ファイルシステムアクセスなし(メッセージングのみ)
ファイルシステムアクセスなし(メッセージングのみ)
セッション
セッションフィールドの詳細
セッションフィールドの詳細
scope: グループチャットのコンテキスト向けの基本セッショングループ化戦略。per-sender(デフォルト): 各送信者はチャネルコンテキスト内で分離されたセッションを取得します。global: チャネルコンテキスト内のすべての参加者が単一のセッションを共有します(共有コンテキストを意図している場合にのみ使用)。
dmScope: DM のグループ化方法。main: すべての DM がメインセッションを共有します。per-peer: チャネルをまたいで送信者 ID ごとに分離します。per-channel-peer: チャネル + 送信者ごとに分離します(複数ユーザーの受信箱に推奨)。per-account-channel-peer: アカウント + チャネル + 送信者ごとに分離します(複数アカウントに推奨)。
identityLinks: クロスチャネルのセッション共有のために、正規 ID をプロバイダー接頭辞付きのピアにマップします。/dock_discordなどのドックコマンドは同じマップを使って、アクティブセッションの返信経路を別のリンク済みチャネルピアへ切り替えます。詳しくは チャネルドッキング を参照してください。reset: 主要なリセットポリシー。dailyはatHourのローカル時刻でリセットします。idleはidleMinutesの経過後にリセットします。両方が設定されている場合、先に期限切れになった方が優先されます。日次リセットの鮮度はセッション行のsessionStartedAtを使用します。アイドルリセットの鮮度はlastInteractionAtを使用します。Heartbeat、Cron のウェイクアップ、exec 通知、Gateway の管理処理などのバックグラウンド/システムイベント書き込みはupdatedAtを更新する場合がありますが、日次/アイドルセッションを新鮮な状態には保ちません。resetByType: タイプ別の上書き(direct、group、thread)。レガシーのdmはdirectのエイリアスとして受け付けられます。mainKey: レガシーフィールド。ランタイムはメインのダイレクトチャットバケットに常に"main"を使用します。agentToAgent.maxPingPongTurns: エージェント間のやり取りで、エージェント同士が返信を返し合う最大ターン数(整数、範囲:0-20、デフォルト:5)。0はピンポン連鎖を無効にします。sendPolicy:channel、chatType(direct|group|channel、レガシーのdmエイリアスあり)、keyPrefix、またはrawKeyPrefixで一致させます。最初の拒否が優先されます。maintenance: セッションストアのクリーンアップ + 保持制御。mode:warnは警告のみを出します。enforceはクリーンアップを適用します。pruneAfter: 古いエントリの経過時間しきい値(デフォルト30d)。maxEntries:sessions.json内の最大エントリ数(デフォルト500)。ランタイムは本番規模の上限向けに小さな高水位バッファを使ってバッチクリーンアップを書き込みます。openclaw sessions cleanup --enforceは上限を即座に適用します。rotateBytes: 非推奨で無視されます。openclaw doctor --fixは古い設定からこれを削除します。resetArchiveRetention:*.reset.<timestamp>トランスクリプトアーカイブの保持期間。デフォルトはpruneAfterです。無効化するにはfalseを設定します。maxDiskBytes: 任意のセッションディレクトリのディスク予算。warnモードでは警告をログに記録します。enforceモードでは最も古いアーティファクト/セッションから削除します。highWaterBytes: 予算クリーンアップ後の任意の目標値。デフォルトはmaxDiskBytesの80%です。
threadBindings: スレッド紐付けセッション機能のグローバルデフォルト。enabled: マスターのデフォルトスイッチ(プロバイダーは上書き可能。Discord はchannels.discord.threadBindings.enabledを使用)idleHours: デフォルトの非アクティブ自動フォーカス解除時間(時間単位、0で無効化。プロバイダーは上書き可能)maxAgeHours: デフォルトの厳格な最大経過時間(時間単位、0で無効化。プロバイダーは上書き可能)spawnSessions:sessions_spawnと ACP スレッド生成からスレッド紐付けワークセッションを作成するためのデフォルトゲート。スレッド紐付けが有効な場合、デフォルトはtrueです。プロバイダー/アカウントは上書き可能です。defaultSpawnContext: スレッド紐付け生成のデフォルトのネイティブサブエージェントコンテキスト("fork"または"isolated")。デフォルトは"fork"です。
メッセージ
応答接頭辞
チャネル/アカウントごとの上書き:channels.<channel>.responsePrefix、channels.<channel>.accounts.<id>.responsePrefix。
解決順(最も具体的なものが優先): アカウント → チャネル → グローバル。"" は無効化し、カスケードを停止します。"auto" は [{identity.name}] を派生します。
テンプレート変数:
| 変数 | 説明 | 例 |
|---|---|---|
{model} | 短いモデル名 | claude-opus-4-6 |
{modelFull} | 完全なモデル識別子 | anthropic/claude-opus-4-6 |
{provider} | プロバイダー名 | anthropic |
{thinkingLevel} | 現在の思考レベル | high, low, off |
{identity.name} | エージェント ID 名 | ("auto" と同じ) |
{think} は {thinkingLevel} のエイリアスです。
確認リアクション
- デフォルトはアクティブエージェントの
identity.emoji、それ以外は"👀"です。無効化するには""を設定します。 - チャネルごとの上書き:
channels.<channel>.ackReaction、channels.<channel>.accounts.<id>.ackReaction。 - 解決順: アカウント → チャネル →
messages.ackReaction→ ID フォールバック。 - スコープ:
group-mentions(デフォルト)、group-all、direct、all。 removeAckAfterReply: Slack、Discord、Telegram、WhatsApp、iMessage などリアクション対応チャネルで、返信後に確認リアクションを削除します。messages.statusReactions.enabled: Slack、Discord、Telegram でライフサイクルステータスリアクションを有効にします。 Slack と Discord では、未設定の場合、確認リアクションがアクティブならステータスリアクションも有効なままです。 Telegram では、ライフサイクルステータスリアクションを有効にするには明示的にtrueを設定します。
受信デバウンス
同じ送信者からの短時間に連続するテキストのみのメッセージを、単一のエージェントターンにまとめます。メディア/添付ファイルは即座にフラッシュします。制御コマンドはデバウンスを迂回します。TTS(テキスト読み上げ)
autoはデフォルトの自動 TTS モードを制御します:off、always、inbound、またはtagged。/tts on|offはローカル設定を上書きでき、/tts statusは有効な状態を表示します。summaryModelは自動要約用にagents.defaults.model.primaryを上書きします。modelOverridesはデフォルトで有効です。modelOverrides.allowProviderのデフォルトはfalse(オプトイン)です。- API キーは
ELEVENLABS_API_KEY/XI_API_KEYとOPENAI_API_KEYにフォールバックします。 - バンドルされた音声プロバイダーは Plugin が所有します。
plugins.allowが設定されている場合、使用したい各 TTS プロバイダー Plugin を含めてください。たとえば Edge TTS にはmicrosoftを含めます。レガシーのedgeプロバイダー ID はmicrosoftのエイリアスとして受け付けられます。 providers.openai.baseUrlは OpenAI TTS エンドポイントを上書きします。解決順は設定、次にOPENAI_TTS_BASE_URL、次にhttps://api.openai.com/v1です。providers.openai.baseUrlが OpenAI 以外のエンドポイントを指す場合、OpenClaw はそれを OpenAI 互換 TTS サーバーとして扱い、モデル/音声の検証を緩和します。
Talk
Talk モード(macOS/iOS/Android)のデフォルト。- 複数の Talk プロバイダーが設定されている場合、
talk.providerはtalk.providers内のキーと一致する必要があります。 - レガシーのフラットな Talk キー(
talk.voiceId、talk.voiceAliases、talk.modelId、talk.outputFormat、talk.apiKey)は互換性のためだけのものです。永続化された設定をtalk.providers.<provider>に書き換えるにはopenclaw doctor --fixを実行します。 - 音声 ID は
ELEVENLABS_VOICE_IDまたはSAG_VOICE_IDにフォールバックします。 providers.*.apiKeyはプレーンテキスト文字列または SecretRef オブジェクトを受け付けます。ELEVENLABS_API_KEYフォールバックは、Talk API キーが設定されていない場合にのみ適用されます。providers.*.voiceAliasesにより、Talk ディレクティブでわかりやすい名前を使用できます。providers.mlx.modelIdは、macOS のローカル MLX ヘルパーが使用する Hugging Face リポジトリを選択します。省略した場合、macOS はmlx-community/Soprano-80M-bf16を使用します。- macOS の MLX 再生は、存在する場合はバンドルされた
openclaw-mlx-ttsヘルパー、またはPATH上の実行可能ファイルを通じて実行されます。OPENCLAW_MLX_TTS_BINは開発用にヘルパーパスを上書きします。 consultThinkingLevelは、Control UI Talk リアルタイムのopenclaw_agent_consult呼び出しの背後で実行される完全な OpenClaw エージェント実行の思考レベルを制御します。通常のセッション/モデル動作を維持するには未設定のままにします。consultFastModeは、セッションの通常の高速モード設定を変更せずに、Control UI Talk リアルタイム相談に対して一回限りの高速モード上書きを設定します。speechLocaleは、iOS/macOS Talk 音声認識で使用する BCP 47 ロケール ID を設定します。デバイスのデフォルトを使用するには未設定のままにします。silenceTimeoutMsは、Talk モードがユーザーの無音後にトランスクリプトを送信するまで待機する時間を制御します。未設定の場合、プラットフォームのデフォルト一時停止ウィンドウ(macOS と Android では 700 ms、iOS では 900 ms)を維持します。realtime.instructionsは、プロバイダー向けのシステム指示を OpenClaw の組み込みリアルタイムプロンプトに追加するため、デフォルトのopenclaw_agent_consultガイダンスを失わずに音声スタイルを設定できます。