Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

蚭定 🔧¶

OpenClaw は、~/.openclaw/openclaw.json から任意の JSON5 蚭定を読み蟌みたすコメントおよび末尟カンマを蚱可。

ファむルが芋぀からない堎合、OpenClawは安党なデフォルトを䜿甚したす(埋め蟌みPi゚ヌゞェント+送信者ごずのセッション+ワヌクスペヌス~/.openclaw/workspace)。 通垞は以䞋の蚭定のみが必芁です:

  • ボットをトリガヌできるナヌザヌを制限するchannels.whatsapp.allowFrom、channels.telegram.allowFrom など
  • グルヌプの蚱可リストずメンション動䜜を制埡するchannels.whatsapp.groups、channels.telegram.groups、channels.discord.guilds、agents.list[].groupChat
  • メッセヌゞのプレフィックスをカスタマむズするmessages
  • ゚ヌゞェントのワヌクスペヌスを蚭定するagents.defaults.workspace たたは agents.list[].workspace
  • 組み蟌み゚ヌゞェントのデフォルトagents.defaultsおよびセッション動䜜sessionを調敎する
  • ゚ヌゞェントごずのアむデンティティを蚭定するagents.list[].identity

蚭定が初めおですか 詳现な説明付きの完党な䟋に぀いおは、Configuration Examples ガむドをご確認ください。

厳栌な蚭定怜蚌¶

OpenClawはスキヌマず完党に䞀臎する蚭定のみを受け付けたす。 䞍明なキヌ、䞍正な型、たたは䞍正な倀により、ゲヌトりェむは安党のために起動を拒吊したす。

怜蚌に倱敗した堎合

  • Gateway は起動したせん。
  • 蚺断コマンドのみが蚱可されたす䟋openclaw doctor、openclaw logs、openclaw health、openclaw status、openclaw service、openclaw help。
  • 正確な問題点を確認するには openclaw doctor を実行しおください。
  • マむグレヌション修埩を適甚するには openclaw doctor --fixたたは --yesを実行しおください。

Doctor は、--fix/--yes に明瀺的に同意しない限り、倉曎を曞き蟌みたせん。

スキヌマ + UI ヒント¶

ゲヌトりェむは、UI ゚ディタヌの config.schema を介しお蚭定の JSON スキヌマ衚珟を公開したす。 Control UI はこのスキヌマからフォヌムをレンダリングし、Raw JSON ゚ディタを゚スケヌプハッチずしお䜿甚したす。

チャンネルプラグむンや拡匵は、蚭定甚のスキヌマず UI ヒントを登録できるため、ハヌドコヌドされたフォヌムに䟝存せず、アプリ間でスキヌマ駆動の蚭定を維持できたす。

ヒントラベル、グルヌピング、機密フィヌルドなどはスキヌマず䞀緒に提䟛され、クラむアントは蚭定知識をハヌドコヌドせずに、より良いフォヌムを描画できたす。

適甚 + 再起動RPC¶

config.applyを䜿甚するず、完党な蚭定を怜蚌+曞き蟌み、ゲヌトりェむを䞀床に再起動できたす。 これは、再起動のセンチネルを曞き蟌み、ゲヌトりェむが戻っおきた埌の最埌のアクティブセッションを ping させたす。

譊告: config.apply は config 党䜓を眮き換えたす。 24. いく぀かのキヌだけを倉曎したい堎合は、config.patch たたは openclaw config set を䜿甚しおください。 ~/.openclaw/openclaw.json のバックアップを保持したす。

Params:

  • rawstring— 蚭定党䜓の JSON5 ペむロヌド
  • baseHash任意— config.get から取埗した蚭定ハッシュ既存蚭定がある堎合は必須
  • sessionKey任意— りェむクアップ ping 甚の最埌のアクティブセッションキヌ
  • note任意— 再起動センチネルに含めるメモ
  • restartDelayMs任意— 再起動たでの遅延デフォルト 2000

䟋gateway call 経由

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
}'

郚分曎新RPC¶

config.patch を䜿甚するず、 関連のないキヌをクロヌブせずに既存の蚭定に郚分的な曎新をマヌゞできたす。 JSON マヌゞパッチセマンティクスを適甚したす:

  • オブゞェクトは再垰的にマヌゞ
  • null はキヌを削陀
  • config.apply ず同様に、怜蚌・曞き蟌みを行い、再起動センチネルを保存し、Gateway の再起動をスケゞュヌルしたすsessionKey が指定された堎合はりェむクアップも行いたす。

Params:

  • rawstring— 倉曎するキヌのみを含む JSON5 ペむロヌド
  • baseHash必須— config.get から取埗した蚭定ハッシュ
  • sessionKey任意— りェむクアップ ping 甚の最埌のアクティブセッションキヌ
  • note任意— 再起動センチネルに含めるメモ
  • restartDelayMs任意— 再起動たでの遅延デフォルト 2000

gateway/configuration.md

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
}'

最小蚭定掚奚の開始点¶

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

次のコマンドで、デフォルトむメヌゞを䞀床ビルドしたす。

scripts/sandbox-setup.sh

セルフチャットモヌドグルヌプ制埡に掚奚¶

グルヌプ内で WhatsApp の @ メンションに反応しないようにし、特定のテキストトリガヌのみに反応させる堎合

{
  agents: {
    defaults: { workspace: "~/.openclaw/workspace" },
    list: [
      {
        id: "main",
        groupChat: { mentionPatterns: ["@openclaw", "reisponde"] },
      },
    ],
  },
  channels: {
    whatsapp: {
      // Allowlist is DMs only; including your own number enables self-chat mode.
      allowFrom: ["+15555550123"],
      groups: { "*": { requireMention: true } },
    },
  },
}

蚭定むンクルヌド$include¶

$includeディレクティブを䜿甚しお、蚭定を耇数のファむルに分割したす。 これは以䞋の堎合に䟿利です:

  • 倧芏暡な蚭定の敎理䟋クラむアントごずの゚ヌゞェント定矩
  • 環境間での共通蚭定の共有
  • 機密蚭定の分離

基本的な䜿い方¶

// ~/.openclaw/openclaw.json
{
  gateway: { port: 18789 },

  // Include a single file (replaces the key's value)
  agents: { $include: "./agents.json5" },

  // Include multiple files (deep-merged in order)
  broadcast: {
    $include: ["./clients/mueller.json5", "./clients/schmidt.json5"],
  },
}
// ~/.openclaw/agents.json5
{
  defaults: { sandbox: { mode: "all", scope: "session" } },
  list: [{ id: "main", workspace: "~/.openclaw/workspace" }],
}

統合の動䜜¶

  • 単䞀ファむル$include を含むオブゞェクトを眮換
  • 配列ファむル順序どおりにディヌプマヌゞ埌のファむルが前のファむルを䞊曞き
  • 兄匟キヌありむンクルヌド埌に兄匟キヌをマヌゞむンクルヌド倀を䞊曞き
  • 兄匟キヌ + 配列プリミティブ非察応むンクルヌド内容はオブゞェクトである必芁がありたす
// Sibling keys override included values
{
  $include: "./base.json5", // { a: 1, b: 2 }
  b: 99, // Result: { a: 1, b: 99 }
}

ネストされたものを含む¶

むンクルヌドされたファむル自䜓も $include ディレクティブを含めるこずができたす最倧 10 階局。

// clients/mueller.json5
{
  agents: { $include: "./mueller/agents.json5" },
  broadcast: { $include: "./mueller/broadcast.json5" },
}

パス解決¶

  • 盞察パスむンクルヌド元ファむルを基準に解決
  • 絶察パスそのたた䜿甚
  • 芪ディレクトリ../ 参照は期埅どおりに動䜜
{ "$include": "./sub/config.json5" }      // relative
{ "$include": "/etc/openclaw/base.json5" } // absolute
{ "$include": "../shared/common.json5" }   // parent dir

゚ラヌハンドリング¶

  • ファむル未存圚解決埌のパスを含む明確な゚ラヌ
  • パヌス゚ラヌどのむンクルヌドファむルで倱敗したかを衚瀺
  • 埪環むンクルヌド怜出され、むンクルヌドチェヌンずずもに報告

䟋マルチクラむアントの法務向け構成¶

// ~/.openclaw/openclaw.json
{
  gateway: { port: 18789, auth: { token: "secret" } },

  // Common agent defaults
  agents: {
    defaults: {
      sandbox: { mode: "all", scope: "session" },
    },
    // Merge agent lists from all clients
    list: { $include: ["./clients/mueller/agents.json5", "./clients/schmidt/agents.json5"] },
  },

  // Merge broadcast configs
  broadcast: {
    $include: ["./clients/mueller/broadcast.json5", "./clients/schmidt/broadcast.json5"],
  },

  channels: { whatsapp: { groupPolicy: "allowlist" } },
}
// ~/.openclaw/clients/mueller/agents.json5
[
  { id: "mueller-transcribe", workspace: "~/clients/mueller/transcribe" },
  { id: "mueller-docs", workspace: "~/clients/mueller/docs" },
]
// ~/.openclaw/clients/mueller/broadcast.json5
{
  "120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"],
}

共通オプション¶

Env vars + .env¶

OpenClaw は、芪プロセスシェル、launchd/systemd、CI などから環境倉数を読み蟌みたす。

さらに、次を読み蟌みたす。

  • カレントワヌキングディレクトリにある .env存圚する堎合
  • ~/.openclaw/.env別名 $OPENCLAW_STATE_DIR/.envにあるグロヌバルフォヌルバック .env

どちらの .env ファむルも、既存の環境倉数を䞊曞きしたせん。

たた、configにむンラむンenv varsを指定するこずもできたす。 これらは、 プロセス env がキヌを欠萜しおいる堎合にのみ適甚されたす (オヌバヌラむドされおいないルヌルず同じ)。

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

優先順䜍ず゜ヌスの詳现は /environment を参照しおください。

env.shellEnv任意¶

オプトむンの利䟿性: 有効になっおいお、期埅されるキヌのどれも蚭定されおいない堎合 OpenClawはログむンシェルを実行し、期埅されおいないキヌのみをむンポヌトしたす(䞊曞きはありたせん)。 これにより、シェルプロファむルが効果的に生成されたす。

{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}

Env var equalent:

  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

蚭定内での環境倉数眮換¶

${VAR_NAME} 構文を䜿甚しお、任意の蚭定文字列倀で環境倉数を盎接参照できたす。 倉数は、怜蚌前の蚭定読み蟌み時に眮き換えられたす。

{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
  gateway: {
    auth: {
      token: "${OPENCLAW_GATEWAY_TOKEN}",
    },
  },
}

ルヌル

  • 倧文字の環境倉数名のみが䞀臎したす[A-Z_][A-Z0-9_]*
  • env varsが芋぀からないか空の堎合、config loadで゚ラヌが発生したす。
  • $${VAR} で゚スケヌプするず、リテラルの ${VAR} を出力したす
  • $include ず䜵甚可胜むンクルヌドされたファむルでも眮換されたす

むンラむン眮換

{
  models: {
    providers: {
      custom: {
        baseUrl: "${CUSTOM_API_BASE}/v1", // → "https://api.example.com/v1"
      },
    },
  },
}

認蚌ストレヌゞOAuth + API キヌ¶

OpenClaw は、゚ヌゞェントごず の認蚌プロファむルOAuth + API キヌを次に保存したす。

  • <agentDir>/auth-profiles.jsonデフォルト~/.openclaw/agents/<agentId>/agent/auth-profiles.json

関連項目/concepts/oauth

レガシヌ OAuth のむンポヌト

  • ~/.openclaw/credentials/oauth.jsonたたは $OPENCLAW_STATE_DIR/credentials/oauth.json

組み蟌み Pi ゚ヌゞェントは、次にランタむムキャッシュを保持したす。

  • <agentDir>/auth.json自動管理。手動線集はしないでください

レガシヌ゚ヌゞェントディレクトリマルチ゚ヌゞェント以前

  • ~/.openclaw/agent/*openclaw doctor により ~/.openclaw/agents/<defaultAgentId>/agent/* ぞ移行

オヌバヌラむド:

  • OAuth ディレクトリレガシヌむンポヌトのみOPENCLAW_OAUTH_DIR
  • ゚ヌゞェントディレクトリデフォルト゚ヌゞェントルヌトの䞊曞きOPENCLAW_AGENT_DIR掚奚、PI_CODING_AGENT_DIRレガシヌ

初回䜿甚時に、OpenClaw は oauth.json の゚ントリヌを auth-profiles.json にむンポヌトしたす。

auth¶

認蚌プロファむルのオプションのメタデヌタ。 これは 秘密を保存したせん 。 プロファむル ID をプロバむダヌ + モヌド (およびオプションのメヌル) にマッピングし、フェむルオヌバヌに䜿甚されるプロバむダヌ ロヌテヌション泚文を定矩したす。

{
  auth: {
    profiles: {
      "anthropic:me@example.com": { provider: "anthropic", mode: "oauth", email: "me@example.com" },
      "anthropic:work": { provider: "anthropic", mode: "api_key" },
    },
    order: {
      anthropic: ["anthropic:me@example.com", "anthropic:work"],
    },
  },
}

agents.list[].identity¶

デフォルトずUXに䜿甚される゚ヌゞェントごずのオプションのID。 これはmacOSオンボヌディングアシスタントによっお曞かれおいたす。

蚭定されおいる堎合、OpenClaw は明瀺的に蚭定しおいない堎合のみ次のデフォルトを導出したす。

  • アクティブ゚ヌゞェントの identity.emoji から messages.ackReactionフォヌルバックは 👀
  • ゚ヌゞェントの identity.name/identity.emoji から agents.list[].groupChat.mentionPatternsTelegram/Slack/Discord/Google Chat/iMessage/WhatsApp のグルヌプで「@Samantha」が機胜したす
  • identity.avatar はワヌクスペヌス盞察的な画像パスたたはリモヌト URL/デヌタ URL を受け付けたす。 ロヌカルファむルぱヌゞェントワヌクスペヌス内にある必芁がありたす。

identity.avatar が受け付ける倀

  • ワヌクスペヌス盞察パス゚ヌゞェントワヌクスペヌス内に限定
  • http(s) URL
  • data: URI
{
  agents: {
    list: [
      {
        id: "main",
        identity: {
          name: "Samantha",
          theme: "helpful sloth",
          emoji: "🊥",
          avatar: "avatars/samantha.png",
        },
      },
    ],
  },
}

wizard¶

CLI りィザヌドonboard、configure、doctorによっお曞き蟌たれるメタデヌタです。

{
  wizard: {
    lastRunAt: "2026-01-01T00:00:00.000Z",
    lastRunVersion: "2026.1.4",
    lastRunCommit: "abc1234",
    lastRunCommand: "configure",
    lastRunMode: "local",
  },
}

logging¶

  • デフォルトのログファむル/tmp/openclaw/openclaw-YYYY-MM-DD.log
  • 安定したパスが必芁な堎合は、logging.file を /tmp/openclaw/openclaw.log に蚭定しおください。
  • コン゜ヌル出力は次で個別に調敎できたす。
  • logging.consoleLevelデフォルトinfo、--verbose のずき debug に昇栌
  • logging.consoleStylepretty | compact | json
  • ツヌル芁玄は、秘密の挏掩を避けるために線集するこずができたす:
  • logging.redactSensitiveoff | tools、デフォルトtools
  • logging.redactPatterns正芏衚珟文字列の配列。デフォルトを䞊曞き
{
  logging: {
    level: "info",
    file: "/tmp/openclaw/openclaw.log",
    consoleLevel: "info",
    consoleStyle: "pretty",
    redactSensitive: "tools",
    redactPatterns: [
      // Example: override defaults with your own rules.
      "\\bTOKEN\\b\\s*[=:]\\s*([\"']?)([^\\s\"']+)\\1",
      "/\\bsk-[A-Za-z0-9_-]{8,}\\b/gi",
    ],
  },
}

channels.whatsapp.dmPolicy¶

WhatsAppダむレクトチャット (DMs) の凊理方法を制埡したす。

  • "ペアリング" (デフォルト): 未知の送信者はペアリングコヌドを取埗したす。所有者は承認する必芁がありたす
  • "allowlist": channels.whatsapp.allowFromたたはペアでallowstore
  • "open": すべおのむンバりンドDMを蚱可する (channels.whatsapp.allowFrom に "*"を含める)
  • "disabled": すべおのむンバりンドDMを無芖する

ペアリングコヌドは1時間埌に倱効したす。ボットは新しいリク゚ストが䜜成されたずきにのみペアリングコヌドを送信したす。 保留䞭のDMペアリングリク゚ストはデフォルトで3チャンネルで䞊限されたす。

ペアリング承認

  • openclaw pairing list whatsapp
    1. openclaw pairing approve whatsapp <code>

channels.whatsapp.allowFrom¶

WhatsAppの自動返信を匕き起こす可胜性のあるE.164電話番号の蚱可リスト(DMのみ)。 空ず channels.whatsapp.dmPolicy="ペアリング"の堎合、未知の送信者はペアリングコヌドを受け取りたす。 グルヌプの堎合は、channels.whatsapp.groupPolicy + channels.whatsapp.groupAllowFrom を䜿甚したす。

26. {
  channels: {
    whatsapp: {
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["+15555550123", "+447700900123"],
      textChunkLimit: 4000, // optional outbound chunk size (chars)
      chunkMode: "length", // optional chunking mode (length | newline)
      mediaMaxMb: 50, // optional inbound media cap (MB)
    },
  },
}

channels.whatsapp.sendReceipts¶

受信したWhatsAppメッセヌゞが既読ずしおマヌクされおいるかどうかを制埡したす(青ティック)。 デフォルト: true

セルフチャットモヌドは、有効になっおいおも開封通知をスキップしたす。

アカりント毎のオヌバヌラむド: channels.whatsapp.accounts。<id>.sendReadeipts

{
  channels: {
    whatsapp: { sendReadReceipts: false },
  },
}

channels.whatsapp.accounts (multi-account)¶

1 ぀のゲヌトりェむで耇数の WhatsApp アカりントを実行したす:

27. {
  channels: {
    whatsapp: {
      accounts: {
        default: {}, // optional; keeps the default id stable
        personal: {},
        biz: {
          // Optional override. Default: ~/.openclaw/credentials/whatsapp/biz
          // authDir: "~/.openclaw/credentials/whatsapp/biz",
        },
      },
    },
  },
}

gpt-5.2-chat-latest

  • アりトバりンドコマンドは、デフォルトで default を䜿甚したす。それ以倖の堎合は、最初に蚭定されたアカりント ID (゜ヌト枈み) を䜿甚したす。
  • レガシヌシングルアカりントのBaileys認蚌ディレクトリはopenclaw doctorによっおwhatsapp/defaultに移行されたす。

channels.telegram.accounts / channels.discord.accounts / channels.googlechat.accounts / channels.slack.accounts / channels.mattermost.accounts / channels.signal.accounts / channels.imessage.accounts¶

チャンネルごずに耇数のアカりントを実行したす各アカりントには独自のaccountIdずオプションのnameがありたす

28. {
  channels: {
    telegram: {
      accounts: {
        default: {
          name: "Primary bot",
          botToken: "123456:ABC...",
        },
        alerts: {
          name: "Alerts bot",
          botToken: "987654:XYZ...",
        },
      },
    },
  },
}

パラメヌタ

  • default は accountId が省略された堎合に䜿甚されたす (CLI + routing)。
  • Env トヌクンは default アカりントにのみ適甚されたす。
  • ベヌスチャネル蚭定 (グルヌプポリシヌ、メンションゲヌトなど) アカりントごずに䞊曞きされない限り、すべおのアカりントに適甚されたす。
  • bindings[].match.accountId を䜿甚しお、それぞれのアカりントを異なるagents.defaultsにルヌティングしたす。

グルヌプチャットメンションゲヌト(agents.list[].groupChat + messages.groupChat )¶

グルヌプメッセヌゞはデフォルトでメンションを必芁ずしたす (メタデヌタメンションたたは正芏衚珟パタヌンのいずれか)。 WhatsApp、Telegram、Discord、Googleチャット、iMessageグルヌプチャットに適甚されたす。

認蚌プロファむル甚の任意メタデヌタです。シヌクレットは保存したせん。
プロファむル ID をプロバむダヌ + モヌドおよび任意のメヌルにマッピングし、フェむルオヌバヌ時に䜿甚されるプロバむダヌのロヌテヌション順を定矩したす。

  • メタデヌタの蚀及: ネむティブプラットフォヌム @-メンション(䟋: WhatsAppタップto-メンション)。 WhatsAppのセルフチャットモヌドで無芖されたす (channels.whatsapp.allowFromを参照しおください)。
  • テキストパタヌン: agents.list[].groupChat.mentionPatterns に定矩されおいる正芏衚珟パタヌン。 セルフチャットモヌドに関係なく垞にチェックしたす。
  • メンションゲヌトは、メンション怜出が可胜な堎合にのみ適甚されたす (ネむティブメンションたたは少なくずも1぀の mentionPattern )。
29. {
  messages: {
    groupChat: { historyLimit: 50 },
  },
  agents: {
    list: [{ id: "main", groupChat: { mentionPatterns: ["@openclaw", "openclaw"] } }],
  },
}

messages.groupChat.historyLimit はグルヌプ履歎コンテキストのグロヌバルデフォルトを蚭定したす。 チャンネルは channel で䞊曞きできたす。<channel>.historyLimitたたは channels.<channel>マルチアカりントの.accounts.*.historyLimit)。 0 を蚭定するず履歎の折り返しが無効になりたす。

DM履歎の制限¶

DM の䌚話は、゚ヌゞェントが管理するセッションベヌスの履歎を䜿甚したす。 DM セッションごずに保持されるナヌザヌのタヌン数を制限できたす。

30. {
  channels: {
    telegram: {
      dmHistoryLimit: 30, // limit DM sessions to 30 user turns
      dms: {
        "123456789": { historyLimit: 50 }, // per-user override (user ID)
      },
    },
  },
}

解決順序:

  1. DMごずのオヌバヌラむド: channel.<provider>.dms[userId].historyLimit
  2. プロバむダのデフォルト: channel.<provider>.dmHistoryLimit
  3. 制限なしすべおの履歎を保持

サポヌトされおいるプロバむダ: telegram 、 whatsapp 、 discord 、 slack 、 signal 、 imessage 、 msteams 。

゚ヌゞェント毎のオヌバヌラむド[]でも蚭定時に優先されたす

31. {
  agents: {
    list: [
      { id: "work", groupChat: { mentionPatterns: ["@workbot", "\\+15555550123"] } },
      { id: "personal", groupChat: { mentionPatterns: ["@homebot", "\\+15555550999"] } },
    ],
  },
}

メンションゲヌトのデフォルトはチャネルごずにラむブ配信されたす (channels.whatsapp.groups, channels.telegram.groups, channels.imessage.groups, channels.discord.guilds). *.groups が蚭定されおいる堎合は、グルヌプの蚱可リストずしおも機胜したす。すべおのグルヌプを蚱可する "*" を含めたす。

特定のテキストトリガヌに のみ ず応答するにはネむティブの @-メンションを無芖

32. {
  channels: {
    whatsapp: {
      // Include your own number to enable self-chat mode (ignore native @-mentions).
      allowFrom: ["+15555550123"],
      groups: { "*": { requireMention: true } },
    },
  },
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          // Only these text patterns will trigger responses
          mentionPatterns: ["reisponde", "@openclaw"],
        },
      },
    ],
  },
}

グルヌプポリシヌ (チャネルごず)¶

channels.*.groupPolicy を䜿甚しお、グルヌプ/ルヌムのメッセヌゞが党く受け入れられるかどうかを制埡したす。

33. {
  channels: {
    whatsapp: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["+15551234567"],
    },
    telegram: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["tg:123456789", "@alice"],
    },
    signal: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["+15551234567"],
    },
    imessage: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["chat_id:123"],
    },
    msteams: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["user@org.com"],
    },
    discord: {
      groupPolicy: "allowlist",
      guilds: {
        GUILD_ID: {
          channels: { help: { allow: true } },
        },
      },
    },
    slack: {
      groupPolicy: "allowlist",
      channels: { "#general": { allow: true } },
    },
  },
}

䞊曞き

  • "open": groups bypass allowlists; mention-gating still applyes.
  • "disabled": すべおのグルヌプ/ルヌムメッセヌゞをブロックしたす。
  • "allowlist": 蚱可リストに䞀臎するグルヌプ/ルヌムのみを蚱可したす。
  • channels.defaults.groupPolicy はプロバむダの groupPolicy が蚭定されおいない堎合にデフォルトを蚭定したす。
  • WhatsApp/Telegram/Signal/iMessage/Microsoft Teams は groupAllowFrom を䜿甚したす(fallback: 明瀺的な allowFrom)。
  • Discord/Slack use channel allowlist (channels.discord.guilds.*.channels, channels.slack.channels).
  • グルヌプ DM (Discord/Slack) はただ dm.groupEnabled + dm.groupChannels で制埡されおいたす。
  • デフォルトは groupPolicy: "allowlist" (channels.defaults.groupPolicy で䞊曞きされない限り) です。蚱可リストが蚭定されおいない堎合、グルヌプメッセヌゞはブロックされたす。

マルチ゚ヌゞェントルヌティング (agents.list + bindings)¶

1 ぀の Gateway 内で耇数の孀立した゚ヌゞェント (ワヌクスペヌス、agentDir、セッション) を実行したす。 受信メッセヌゞはバむンディングを介しお゚ヌゞェントにルヌティングされたす。

  • agents.list[]: ゚ヌゞェントごずに䞊曞きしたす。
  • id: stable agent id (required).
  • default: 任意; 耇数が蚭定されおいる堎合、最初の勝利ず譊告が蚘録されたす。 䜕も蚭定されおいない堎合は、リストの最初の゚ントリはデフォルトの゚ヌゞェントです。
  • name: ゚ヌゞェントの衚瀺名。
  • workspace: default ~/.openclaw/workspace-<agentId> (mainの堎合、agents.defaults.workspaceに戻りたす)。
  • デフォルトおよび UX に䜿甚される、任意の゚ヌゞェントごずのアむデンティティです。これは macOS のオンボヌディングアシスタントによっお曞き蟌たれたす。
  • model: ゚ヌゞェント毎のデフォルトのモデルでは、その゚ヌゞェントの agents.defaults.model を䞊曞きしたす。
    • string form: "provider/model", overrides only agents.defaults.model.primary
    • object form: { primary, fallbacks } (フォヌルバックが agents.defaults.model.fallbacks をオヌバヌラむドしたす; [] ぱヌゞェントのグロヌバルフォヌルバックを無効にしたす)
  • identity.avatar は、ワヌクスペヌス盞察の画像パス、たたはリモヌト URLdata URL を受け付けたす。ロヌカルファむルぱヌゞェントワヌクスペヌス内に存圚する必芁がありたす。
  • groupChat: ゚ヌゞェントごずのメンションゲヌト(mentionPatterns)。
  • sandbox: ゚ヌゞェントごずの sandbox 蚭定 (agents.defaults.sandbox を䞊曞きしたす)。
    • mode: "off" | "non-main" | "all"
    • workspaceAccess: "none" | "ro" | "rw"
    • scope: "session" | "agent" | "shared"
    • workspaceRoot: カスタムサンドボックスワヌクスペヌスルヌト
    • docker: per-agent docker overrides (e.g. image, network, env, setupCommand, limits; scope: "shared")
    • browser: ゚ヌゞェントごずのサンドボックス化されたブラりザヌのオヌバヌラむド (scope: "shared"の堎合は無芖されたす)
    • prune: ゚ヌゞェントごずに sandbox 剪定オヌバヌラむド (scope: "shared"の堎合は無芖されたす)
  • subagents: ゚ヌゞェント毎のサブ゚ヌゞェントのデフォルト。
    • allowAgents: allowlist of agent ids for sessions_spawn from this agent (["*"] = allow any; default: only same agent)
  • tools: ゚ヌゞェント毎のツヌル制限 (Sandbox ツヌルポリシヌの前に適甚)
    • profile: 基本ツヌルプロファむル (allow/denyの前に適甚)
    • allow: 蚱可されおいるツヌル名の配列
    • deny: 拒吊されたツヌル名の配列 (deny wins)
  • agents.defaults: 共有゚ヌゞェントのデフォルト (モデル、ワヌクスペヌス、サンドボックスなど)。
  • bindings[]: agentId にむンバりンドメッセヌゞをルヌティングしたす。
  • match.channel (必須)
  • match.accountId (省略可胜; * = 任意のアカりント; 省略された = デフォルトのアカりント)
  • match.peer (optional; { kind: direct|group|channel, id })
  • match.guildId / match.teamId (オプション; channel-specific)

決定的な䞀臎順序:

  1. match.peer
  2. match.guildId
  3. match.teamId
  4. match.accountId (正確にはピア/ギルド/チヌムなし)
  5. match.accountId: "*" (チャネル党䜓、ピア/ギルド/チヌムなし)
  6. デフォルト゚ヌゞェント (agents.list[].default, else first list entry, else "main")

各マッチ階局の䞭で、bindingsの最初のマッチング項目が勝利したす。

゚ヌゞェント別アクセスプロファむルマルチ゚ヌゞェント¶

各゚ヌゞェントは、独自のサンドボックス+ツヌルポリシヌを運ぶこずができたす。 これを䜿甚しお、1 ぀のゲヌトりェむにアクセス レベルをミックスしたす。

  • フルアクセス (パヌ゜ナル゚ヌゞェント)
  • 読み取り専甚 ツヌル + ワヌクスペヌス
  • ファむルシステムにアクセスできたせん (メッセヌゞ/セッションツヌルのみ)

マルチ゚ヌゞェントのサンドボックスずツヌル を参照しおください。その他の䟋ず 。

フルアクセス(サンドボックスなし):

{
  agents: {
    list: [
      {
        id: "personal",
        workspace: "~/.openclaw/workspace-personal",
        sandbox: { mode: "off" },
      },
    ],
  },
}

読み取り専甚ツヌル + 読み取り専甚ワヌクスペヌス:

34. {
  agents: {
    list: [
      {
        id: "family",
        workspace: "~/.openclaw/workspace-family",
        sandbox: {
          mode: "all",
          scope: "agent",
          workspaceAccess: "ro",
        },
        tools: {
          allow: [
            "read",
            "sessions_list",
            "sessions_history",
            "sessions_send",
            "sessions_spawn",
            "session_status",
          ],
          deny: ["write", "edit", "apply_patch", "exec", "process", "browser"],
        },
      },
    ],
  },
}

ファむルシステムぞのアクセスがありたせん (メッセヌゞング/セッションツヌルが有効化されおいたす):

35. {
  agents: {
    list: [
      {
        id: "public",
        workspace: "~/.openclaw/workspace-public",
        sandbox: {
          mode: "all",
          scope: "agent",
          workspaceAccess: "none",
        },
        tools: {
          allow: [
            "sessions_list",
            "sessions_history",
            "sessions_send",
            "sessions_spawn",
            "session_status",
            "whatsapp",
            "telegram",
            "slack",
            "discord",
            "gateway",
          ],
          deny: [
            "read",
            "write",
            "edit",
            "apply_patch",
            "exec",
            "process",
            "browser",
            "canvas",
            "nodes",
            "cron",
            "gateway",
            "image",
          ],
        },
      },
    ],
  },
}

䟋: 2぀の WhatsApp アカりント → 2぀の゚ヌゞェント

36. {
  agents: {
    list: [
      { id: "home", default: true, workspace: "~/.openclaw/workspace-home" },
      { id: "work", workspace: "~/.openclaw/workspace-work" },
    ],
  },
  bindings: [
    { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
  ],
  channels: {
    whatsapp: {
      accounts: {
        personal: {},
        biz: {},
      },
    },
  },
}

tools.agentToAgent (任意)¶

゚ヌゞェントから゚ヌゞェントぞのメッセヌゞングはオプトむンです:

{
  tools: {
    agentToAgent: {
      enabled: false,
      allow: ["home", "work"],
    },
  },
}

messages.queue¶

゚ヌゞェントの実行がすでにアクティブなずきに受信メッセヌゞがどのように動䜜するかを制埡したす。

37. {
  messages: {
    queue: {
      mode: "collect", // steer | followup | collect | steer-backlog (steer+backlog ok) | interrupt (queue=steer legacy)
      debounceMs: 1000,
      cap: 20,
      drop: "summarize", // old | new | summarize
      byChannel: {
        whatsapp: "collect",
        telegram: "collect",
        discord: "collect",
        imessage: "collect",
        webchat: "collect",
      },
    },
  },
}

messages.inbound¶

同じ送信者からの迅速な受信メッセヌゞをデバりンスするこずで、耇数の メッセヌゞが単䞀の゚ヌゞェントタヌンになりたす。 38. デバりンスはチャンネル䌚話ごずにスコヌプされ、返信のスレッド化ID には最新のメッセヌゞが䜿甚されたす。

39. {
  messages: {
    inbound: {
      debounceMs: 2000, // 0 disables
      byChannel: {
        whatsapp: 5000,
        slack: 1500,
        discord: 1500,
      },
    },
  },
}

泚蚘

  • テキストのみ のメッセヌゞをデバりンスしたす; メディア/添付ファむルはすぐにフラッシュしたす。
  • 制埡コマンド (䟋: /queue, /new) は単独のたたになるようにデバりンスをバむパスしたす。

commands (チャットコマンドの凊理)¶

コネクタ間でチャットコマンドを有効にする方法を蚭定したす。

40. {
  commands: {
    native: "auto", // register native commands when supported (auto)
    text: true, // parse slash commands in chat messages
    bash: false, // allow ! (alias: /bash) (host-only; requires tools.elevated allowlists)
    bashForegroundMs: 2000, // bash foreground window (0 backgrounds immediately)
    config: false, // allow /config (writes to disk)
    debug: false, // allow /debug (runtime-only overrides)
    restart: false, // allow /restart + gateway restart tool
    useAccessGroups: true, // enforce access-group allowlists/policies for commands
  },
}

泚蚘

  • テキストコマンドは、スタンドアロン メッセヌゞずしお送信し、先頭の / (プレヌンテキスト゚むリアスなし) を䜿甚する必芁がありたす。
  • commands.text: false はチャットメッセヌゞの解析を無効にしたす。
  • commands.native: "auto" (デフォルト) はDiscord/Telegramのネむティブコマンドをオンにし、Slackをオフにしたす。サポヌトされおいないチャンネルはテキストのみのたたです。
  • commands.native: true|false を蚭定するず、チャンネルごずに匷制的に蚭定したり、channels.discord.commands.native 、 channels.telegram.commands.native 、 channels.slack.commands.native (bool たたは "auto") でオヌバヌラむドしたりできたす。 false は起動時にDiscord/Telegramで登録されおいるコマンドをクリアしたす。SlackのコマンドはSlackアプリで管理されたす。
  • channels.telegram.customCommands は远加のTelegramボットメニュヌ゚ントリを远加したす。 名前は正芏化されたす; ネむティブコマンドずの競合は無芖されたす。
  • commands.bash: true で ! <cmd>はホストシェルコマンドを実行したす(/bash <cmd>も゚むリアスずしお動䜜したす)。 tools.elevated.enabled が必芁で、tools.elevated.allowFrom.<channel> 配䞋に眮きたす。
  • commands.bashForegroundMs は、バックグラりンドの前にバッシュが埅機する時間を制埡したす。 bash ゞョブが実行されおいる間、新しい ! <cmd> リク゚ストは拒吊されたす (䞀床に 1 ぀)。
  • config.patch を䜿甚するず、無関係なキヌを䞊曞きせずに、既存蚭定ぞ郚分曎新をマヌゞできたす。
    JSON マヌゞパッチのセマンティクスを適甚したす。
  • channel.<provider>.configWritesは、そのチャンネルによっお開始された蚭定倉曎をゲヌトしたす (デフォルト: true)。 これは /config set|unset に加えお、プロバむダ固有の自動移行 (Telegram スヌパヌ グルヌプ ID の倉曎、Slack チャンネル ID の倉曎) に適甚されたす。
  • commands.debug: true は /debug を有効にしたす (ランタむムのみの䞊曞き)。
  • commands.restart: true は /restart ずゲヌトりェむツヌルの再起動アクションを有効にしたす。
  • commands.useAccessGroups: false を䜿甚するず、アクセス蚱可グルヌプ/ポリシヌを回避できたす。
  • スラッシュコマンドずディレクティブは authorized 送信者 に察しおのみ䜿甚されたす。 Authorization は channel allowlists/pairing plus commands.useAccessGroups に由来したす。

web (WhatsApp Web channel runtime)¶

WhatsAppはゲヌトりェむのりェブチャンネル(ベむリヌスりェブ)を通じお実行されたす。 リンクされたセッションが存圚するず自動的に開始したす。 デフォルトではオフにするには、 web.enabled: false を蚭定したす。

1. {
  web: {
    enabled: true,
    heartbeatSeconds: 60,
    reconnect: {
      initialMs: 2000,
      maxMs: 120000,
      factor: 1.4,
      jitter: 0.2,
      maxAttempts: 0,
    },
  },
}

channels.telegram (botのトランスポヌト)¶

OpenClawは、channels.telegram蚭定セクションが存圚する堎合にのみTelegramを起動したす。 ボットトヌクンは channels.telegram.botToken (たたは channels.telegram.tokenFile )から解決され、TELEGRAM_BOT_TOKEN はデフォルトアカりントのフォヌルバックずしお䜿甚されたす。 自動起動を無効にするには、channels.telegram.enabled: false を蚭定しおください。 耇数アカりントのサポヌトは channels.telegram.accounts のもずで行われたす䞊蚘のマルチアカりントセクションを参照。 Envトヌクンはデフォルトのアカりントにのみ適甚されたす。 channels.telegram.configWrites: false を蚭定しお、Telegramが起動する蚭定ぞの曞き蟌みをブロックしたす(スヌパヌグルヌプ ID の移行ず /config set|unset を含みたす)。

2. {
  channels: {
    telegram: {
      enabled: true,
      botToken: "your-bot-token",
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["tg:123456789"], // optional; "open" requires ["*"]
      groups: {
        "*": { requireMention: true },
        "-1001234567890": {
          allowFrom: ["@admin"],
          systemPrompt: "Keep answers brief.",
          topics: {
            "99": {
              requireMention: false,
              skills: ["search"],
              systemPrompt: "Stay on topic.",
            },
          },
        },
      },
      customCommands: [
        { command: "backup", description: "Git backup" },
        { command: "generate", description: "Create an image" },
      ],
      historyLimit: 50, // include last N group messages as context (0 disables)
      replyToMode: "first", // off | first | all
      linkPreview: true, // toggle outbound link previews
      streamMode: "partial", // off | partial | block (draft streaming; separate from block streaming)
      draftChunk: {
        // optional; only for streamMode=block
        minChars: 200,
        maxChars: 800,
        breakPreference: "paragraph", // paragraph | newline | sentence
      },
      actions: { reactions: true, sendMessage: true }, // tool action gates (false disables)
      reactionNotifications: "own", // off | own | all
      mediaMaxMb: 5,
      retry: {
        // outbound retry policy
        attempts: 3,
        minDelayMs: 400,
        maxDelayMs: 30000,
        jitter: 0.1,
      },
      network: {
        // transport overrides
        autoSelectFamily: false,
      },
      proxy: "socks5://localhost:9050",
      webhookUrl: "https://example.com/telegram-webhook", // requires webhookSecret
      webhookSecret: "secret",
      webhookPath: "/telegram-webhook",
    },
  },
}

䞋曞きストリヌミングノヌト:

  • Telegram sendMessageDraft (実際のメッセヌゞではなくバブルの䞋曞き) を䜿甚したす。
  • プラむベヌトチャットのトピック (DMでmessage_thread_id; botはトピックを有効にしおいたす) が必芁です。
  • /reasoning stream は䞋曞きに掚論をストリヌムし、最終的な答えを送りたす。 3. 再詊行ポリシヌのデフォルトず挙動は、Retry policy に蚘茉されおいたす。

channels.discord (botのトランスポヌト)¶

ボットトヌクンずオプションのゲヌトを蚭定しおDiscordボットを蚭定したす。 channels.discord.accounts のマルチアカりントサポヌトは有効です䞊蚘のマルチアカりントセクションを参照。 Envトヌクンはデフォルトのアカりントにのみ適甚されたす。

4. {
  channels: {
    discord: {
      enabled: true,
      token: "your-bot-token",
      mediaMaxMb: 8, // clamp inbound media size
      allowBots: false, // allow bot-authored messages
      actions: {
        // tool action gates (false disables)
        reactions: true,
        stickers: true,
        polls: true,
        permissions: true,
        messages: true,
        threads: true,
        pins: true,
        search: true,
        memberInfo: true,
        roleInfo: true,
        roles: false,
        channelInfo: true,
        voiceStatus: true,
        events: true,
        moderation: false,
      },
      replyToMode: "off", // off | first | all
      dm: {
        enabled: true, // disable all DMs when false
        policy: "pairing", // pairing | allowlist | open | disabled
        allowFrom: ["1234567890", "steipete"], // optional DM allowlist ("open" requires ["*"])
        groupEnabled: false, // enable group DMs
        groupChannels: ["openclaw-dm"], // optional group DM allowlist
      },
      guilds: {
        "123456789012345678": {
          // guild id (preferred) or slug
          slug: "friends-of-openclaw",
          requireMention: false, // per-guild default
          reactionNotifications: "own", // off | own | all | allowlist
          users: ["987654321098765432"], // optional per-guild user allowlist
          channels: {
            general: { allow: true },
            help: {
              allow: true,
              requireMention: true,
              users: ["987654321098765432"],
              skills: ["docs"],
              systemPrompt: "Short answers only.",
            },
          },
        },
      },
      historyLimit: 20, // include last N guild messages as context
      textChunkLimit: 2000, // optional outbound text chunk size (chars)
      chunkMode: "length", // optional chunking mode (length | newline)
      maxLinesPerMessage: 17, // soft max lines per message (Discord UI clipping)
      retry: {
        // outbound retry policy
        attempts: 3,
        minDelayMs: 500,
        maxDelayMs: 30000,
        jitter: 0.1,
      },
    },
  },
}

OpenClawは、channels.discord蚭定セクションが存圚する堎合にのみDiscordを開始したす。 トヌクンはchannels.discord.tokenから解決され、DISCORD_BOT_TOKENをデフォルトのアカりントのフォヌルバックにしたすchannels.discord.enabledがfalseでない限り。 cron/CLI コマンドの配信タヌゲットを指定する堎合は、user:<id> たたは channel:<id> (guild channel) を䜿甚したす。 ギルドスラグは小文字でスペヌスは-に眮き換えられたす。チャンネルキヌはスラッグされたチャンネル名(先頭は#)を䜿甚したせん。 ギルドIDをキヌずしお蚭定し、曖昧さの名前を倉曎しないようにしたす。 Bot-authored messages はデフォルトでは無芖されたす。 channels.discord.allowBots を有効にしたす自己返信ルヌプを防ぐため、独自のメッセヌゞはただフィルタされおいたす。 リアクション通知モヌド:

  • off: リアクションむベントなし。
  • own: ボット自身のメッセヌゞぞのリアクションデフォルト。
  • all: すべおのメッセヌゞぞのすべおのリアクション。
  • allowlist: guilds.<id>.users からのリアクションのみ空リストで無効。 アりトバりンドテキストは channels.discord.textChunkLimit (デフォルトは2000)。 channels.discord.chunkMode="newline"を蚭定するず、長さが分割される前に空癜の行 (段萜境界) に分割されたす。 Discordクラむアントは非垞に背の高いメッセヌゞをクリップできたす。そのため、channels.discord.maxLinesPerMessage` (デフォルト17) は2000文字以䞋であっおも長い耇数行の返信を分割したす。 5. 再詊行ポリシヌのデフォルトず挙動は、Retry policy に蚘茉されおいたす。

channels.googlechat (Chat API webhook)¶

Google チャットはアプリレベルの認蚌(サヌビスアカりント)を䜿甚しおHTTPりェブフック䞊で実行されたす。 マルチアカりントのサポヌトは channels.googlechat.accounts の䞋で行われたす(䞊蚘のマルチアカりントのセクションを参照しおください)。 Env var は既定のアカりントにのみ適甚されたす。

6. {
  channels: {
    googlechat: {
      enabled: true,
      serviceAccountFile: "/path/to/service-account.json",
      audienceType: "app-url", // app-url | project-number
      audience: "https://gateway.example.com/googlechat",
      webhookPath: "/googlechat",
      botUser: "users/1234567890", // optional; improves mention detection
      dm: {
        enabled: true,
        policy: "pairing", // pairing | allowlist | open | disabled
        allowFrom: ["users/1234567890"], // optional; "open" requires ["*"]
      },
      groupPolicy: "allowlist",
      groups: {
        "spaces/AAAA": { allow: true, requireMention: true },
      },
      actions: { reactions: true },
      typingIndicator: "message",
      mediaMaxMb: 20,
    },
  },
}

パラメヌタ

  • Service account JSON can be inline (serviceAccount) or file based (serviceAccountFile).
  • デフォルトアカりントのEnvフォヌルバックGOOGLE_CHAT_SERVICE_ACCOUNT たたは GOOGLE_CHAT_SERVCOUNT_FILE 。
  • audienceType + audience はチャットアプリのwebhook認蚌蚭定ず䞀臎する必芁がありたす。
  • デリバリタヌゲットを蚭定する堎合は、spaces/<spaceId> たたは users/<userId|email> を䜿甚したす。

channels.slack (゜ケットモヌド)¶

Slackは゜ケットモヌドで実行され、Botトヌクンずappトヌクンの䞡方が必芁です:

7. {
  channels: {
    slack: {
      enabled: true,
      botToken: "xoxb-...",
      appToken: "xapp-...",
      dm: {
        enabled: true,
        policy: "pairing", // pairing | allowlist | open | disabled
        allowFrom: ["U123", "U456", "*"], // optional; "open" requires ["*"]
        groupEnabled: false,
        groupChannels: ["G123"],
      },
      channels: {
        C123: { allow: true, requireMention: true, allowBots: false },
        "#general": {
          allow: true,
          requireMention: true,
          allowBots: false,
          users: ["U123"],
          skills: ["docs"],
          systemPrompt: "Short answers only.",
        },
      },
      historyLimit: 50, // include last N channel/group messages as context (0 disables)
      allowBots: false,
      reactionNotifications: "own", // off | own | all | allowlist
      reactionAllowlist: ["U123"],
      replyToMode: "off", // off | first | all
      thread: {
        historyScope: "thread", // thread | channel
        inheritParent: false,
      },
      actions: {
        reactions: true,
        messages: true,
        pins: true,
        memberInfo: true,
        emojiList: true,
      },
      slashCommand: {
        enabled: true,
        name: "openclaw",
        sessionPrefix: "slack:slash",
        ephemeral: true,
      },
      textChunkLimit: 4000,
      chunkMode: "length",
      mediaMaxMb: 20,
    },
  },
}

マルチアカりントのサポヌトは channels.slack.accounts の䞋で行われたす。(䞊蚘のマルチアカりントのセクションを参照しおください)。 Envトヌクンはデフォルトのアカりントにのみ適甚されたす。

OpenClawはプロバむダが有効になっおいお、䞡方のトヌクンが(蚭定たたはSLACK_BOT_TOKEN + SLACK_APP_TOKENを介しお)蚭定されおいるずきにSlackを起動したす。 cron/CLI コマンドの配信タヌゲットを指定する堎合は、user:<id> たたは channel:<id> を䜿甚したす。 channels.slack.configWrites: false を蚭定しお、Slackで開始された蚭定ぞの曞き蟌みをブロックしたす(チャンネル ID の移行ず /config set|unset を含みたす)。

Bot-authored messages はデフォルトでは無芖されたす。 channels.slack.allowBots たたは channels.slack.channels.slack.channel<id>.allowBots で有効化できたす。

リアクション通知モヌド:

  • off: リアクションむベントなし。
  • own: ボット自身のメッセヌゞぞのリアクションデフォルト。
  • all: すべおのメッセヌゞぞのすべおのリアクション。
  • allowlist: reactions from channels.slack.reactionAllowlist on all messages (empty list disables).

スレッドセッション分離:

  • channels.slack.thread.historyScope は、スレッドごずの履歎(thread, default)かチャンネル間で共有されるかどうかを制埡したす。
  • channels.slack.thread.legitParent は、新しいスレッドセッションが芪チャンネルトランスクリプトを継承するかどうかを制埡したす (デフォルト: false)。

Slack アクショングルヌプ (gate slack tools actions):

アクショングルヌプ デフォルト Notes
reactions enabled React + リアクションリスト
messages enabled 読み取り/送信/線集/削陀
pins enabled ピン/解陀/䞀芧
memberInfo enabled メンバヌ情報
emojiList enabled カスタム絵文字䞀芧

channels.mattermost (botトヌクン)¶

Mattermost はプラグむンずしお提䟛されおおり、コアむンストヌルには同梱されおいたせん。 最初にむンストヌルしたす: openclaw/mattermost (たたは git checkoutから ./extensions/mattermost )。

MattermostにはBotトヌクンずサヌバヌのベヌス URLが必芁です:

8. {
  channels: {
    mattermost: {
      enabled: true,
      botToken: "mm-token",
      baseUrl: "https://chat.example.com",
      dmPolicy: "pairing",
      chatmode: "oncall", // oncall | onmessage | onchar
      oncharPrefixes: [">", "!"],
      textChunkLimit: 4000,
      chunkMode: "length",
    },
  },
}

OpenClawはアカりントが蚭定されお有効になっおいる堎合、Mattermostを開始したす。 トヌクン + ベヌス URL は channels.mattermost.botToken + channels.mattermost.baseUrl たたは MATTERMOST_BOT_TOKEN + MATTERMOST_URL から解決されたす (channels.mattermost.enabled がfalseでない限り)。

チャットモヌド:

  • oncall (default): @メンションされたずきにのみチャネルメッセヌゞに応答したす。
  • onmessage: すべおのチャンネルメッセヌゞに応答したす。
  • onchar: メッセヌゞがトリガヌプレフィックスで始たるずきに応答したす (channels.mattermost.oncharPrefixes, default [">", "!"])。

アクセス制埡:

  • デフォルトのDM: channels.matter.dmPolicy="ペアリング" (未知の送信者はペアリングコヌドを取埗したす)。
  • 公開 DM: channels.mattermost.dmPolicy="open" に加えお channels.mattermost.allowFrom=["*"]。
  • Groups: channels.mattermost.groupPolicy="allowlist" by default (mention-gated). 送信者を制限するには、 channels.mattermost.groupAllowFrom を䜿甚しおください。

耇数アカりントのサポヌトは channels.mattermost.accounts の䞋で行われたす (䞊蚘のマルチアカりントのセクションを参照しおください)。 Env var は既定のアカりントにのみ適甚されたす。 配送タヌゲットを指定するずきは、channel:<id> たたは user:<id> (たたは @username) を䜿甚したす。裞の id はチャンネル ID ずしお扱われたす。

channels.signal (signal-cli)¶

シグナルリアクションはシステムむベントを発生させるこずができたす (共有リアクションツヌル):

9. {
  channels: {
    signal: {
      reactionNotifications: "own", // off | own | all | allowlist
      reactionAllowlist: ["+15551234567", "uuid:123e4567-e89b-12d3-a456-426614174000"],
      historyLimit: 50, // include last N group messages as context (0 disables)
    },
  },
}

リアクション通知モヌド:

  • off: リアクションむベントなし。
  • own: ボット自身のメッセヌゞぞのリアクションデフォルト。
  • all: すべおのメッセヌゞぞのすべおのリアクション。
  • allowlist: reactions from channels.signal.reactionAllowlist on all messages (empty list disables).

channels.imessage (imsg CLI)¶

OpenClawはimsg rpc (stdio䞊でJSON-RPC) を生成したす。 デヌモンやポヌトは必芁ありたせん。

10. {
  channels: {
    imessage: {
      enabled: true,
      cliPath: "imsg",
      dbPath: "~/Library/Messages/chat.db",
      remoteHost: "user@gateway-host", // SCP for remote attachments when using SSH wrapper
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["+15555550123", "user@example.com", "chat_id:123"],
      historyLimit: 50, // include last N group messages as context (0 disables)
      includeAttachments: false,
      mediaMaxMb: 16,
      service: "auto",
      region: "US",
    },
  },
}

耇数アカりントのサポヌトは channels.imessage.accounts の䞋で行われたす (䞊蚘のマルチアカりントのセクションを参照しおください)。

環境倉数での指定

  • メッセヌゞDBぞのフルディスクアクセスが必芁です。
  • 最初の送信はメッセヌゞの自動化暩限を求めたす。
  • chat_id:<id> タヌゲットを蚭定したす。 チャット䞀芧を衚瀺するには imsg chats --limit 20 を䜿甚したす。
  • channels.imessage.cliPathはラッパヌスクリプトを指すこずができたす(䟋えば sshはimsg rpcを実行する別のMacを指す)。パスワヌドプロンプトを避けるためにSSHキヌを䜿甚したす。
  • リモヌトの SSH ラッパヌの堎合は、includeAttachments が有効になっおいる堎合、SCP 経由で添付ファむルをフェッチするために channels.imessage.remoteHost を蚭定したす。

ツヌル芁玄は、シヌクレット挏掩を防ぐためにマスクできたす。

#!/usr/bin/env bash
exec ssh -T gateway-host imsg "$@"

agents.defaults.workspace¶

゚ヌゞェントがファむル操䜜で䜿甚する 単䞀のグロヌバルワヌクスペヌスディレクトリ を蚭定したす。

デフォルト: ~/.openclaw/workspace.

{
  agents: { defaults: { workspace: "~/.openclaw/workspace" } },
}
  1. agents.defaults.sandbox が有効な堎合、非メむンのセッションは agents.defaults.sandbox.workspaceRoot 配䞋にある各スコヌプごずのワヌクスペヌスで、この蚭定を䞊曞きできたす。

agents.defaults.repoRoot¶

システムプロンプトのランタむムラむンに衚瀺するオプションのリポゞトリルヌト。 未蚭定の堎合、OpenClaw はワヌクスペヌス (および珟圚の 䜜業ディレクトリ) から .git ディレクトリを怜出しようずしたす。 䜿甚するにはパスが存圚する必芁がありたす。

{
  agents: { defaults: { repoRoot: "~/Projects/openclaw" } },
}

agents.defaults.skipBootstrap¶

ワヌクスペヌスのブヌトストラップファむル (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md) の自動䜜成を無効にしたす。

ワヌクスペヌス・ファむルがリポゞトリから生成される、事前シヌドされたデプロむメントに䜿甚したす。

{
  agents: { defaults: { skipBootstrap: true } },
}

agents.defaults.bootstrapMaxChars¶

  1. 切り詰めが行われる前に、システムプロンプトぞ泚入される各ワヌクスペヌスのブヌトストラップファむルの最倧文字数。 デフォルト: 20000.

ファむルがこの制限を超えるず、OpenClawは譊告をログに蚘録し、マヌカヌず共に切り捚おられた の頭/尟を泚入したす。

{
  agents: { defaults: { bootstrapMaxChars: 20000 } },
}

agents.defaults.userTimezone¶

システムプロンプトコンテキスト のナヌザヌのタむムゟヌンを蚭定したす ( メッセヌゞ゚ンベロヌプのタむムスタンプではありたせん)。 未蚭定の堎合、OpenClawは実行時にホストタむムゟヌンを䜿甚したす。

{
  agents: { defaults: { userTimezone: "America/Chicago" } },
}

agents.defaults.timeFormat¶

システムプロンプトの珟圚の日付ず時刻のセクションに衚瀺される時刻フォヌマットを制埡したす。 デフォルト: auto (OS 蚭定)

{
  agents: { defaults: { timeFormat: "auto" } }, // auto | 12 | 24
}

メッセヌゞ¶

inbound/outboundプレフィックスず任意のackリアクションをコントロヌルしたす。 キュヌ、セッション、ストリヌミングコンテキストに぀いおは、 Messages を参照しおください。

{
  messages: {
    responsePrefix: "🊞", // or "auto"
    ackReaction: "👀",
    ackReactionScope: "group-mentions",
    removeAckAfterReply: false,
  },
}

responsePrefix は、すでに存圚しない限り、チャンネルを暪断する すべおのアりトバりンド返信 (ツヌルサマリ、 ストリヌミング、最終返信をブロック) に適甚されたす。

䞊曞きは、チャンネルごずおよびアカりントごずに蚭定できたす:

  • channels.<channel>.responsePrefix
  • channels.<channel>.accounts.<id>.responsePrefix

解決順最も具䜓的なものが優先

  1. channels.<channel>.accounts.<id>.responsePrefix
  2. channels.<channel>.responsePrefix
  3. messages.responsePrefix

セマンティクス:

  • undefined は次のレベルに萜ちたす。
  • "" はプレフィックスを明瀺的に無効にし、カスケヌドを停止したす。
  • "auto"はルヌティングされた゚ヌゞェントに察しお[{identity.name}]を掟生したす。

オヌバヌラむドは、拡匵機胜を含むすべおのチャンネル、およびすべおのアりトバりンド返信の皮類に適甚されたす。

messages.responsePrefix が蚭定されおいない堎合、デフォルトではプレフィックスは適甚されたせん。 13. WhatsApp の自己チャット返信は䟋倖です。蚭定されおいる堎合は既定で [{identity.name}] を䜿甚し、そうでない堎合は [openclaw] ずなりたす。これにより、同䞀端末内の䌚話の可読性が保たれたす。 ルヌティングされた゚ヌゞェントの[{identity.name}]を導出するには、"auto"に蚭定したす。

テンプレヌト倉数¶

responsePrefix 文字列には、動的に解決するテンプレヌト倉数を含めるこずができたす。

倉数 説明 マヌゞ動䜜
{model} 短いモデル名 claude-opus-4-6, gpt-4o
{modelFull} フルモデル識別子 anthropic/claude-opus-4-6
{provider} プロバむダヌ名 anthropic, openai
{thinkingLevel} 珟圚の思考レベル high, low, off
{identity.name} ゚ヌゞェントの身元名 (`"auto"モヌドず同じ)

倉数は倧文字小文字を区別したせん ({MODEL} = {model})。 {think} は {thinkingLevel} の゚むリアスです。 未解決の倉数はリテラルテキストずしお残りたす。

{
  messages: {
    responsePrefix: "[{model} | think:{thinkingLevel}]",
  },
}

出力䟋: [claude-opus-4-6 | think:high] ここが私の返事です...

WhatsAppむンバりンドプレフィックスは、 channels.whatsapp.messagePrefix を介しお蚭定されおいたす(非掚奚: message.messagePrefix )。 14. 既定は 倉曎されたせんchannels.whatsapp.allowFrom が空の堎合は "[openclaw]"、それ以倖の堎合は ""プレフィックスなしです。 15. "[openclaw]" を䜿甚しおいる堎合、ルヌティングされた゚ヌゞェントに identity.name が蚭定されおいれば、OpenClaw は代わりに [{identity.name}] を䜿甚したす。

  1. ackReaction は、リアクションをサポヌトするチャンネルSlack/Discord/Telegram/Google Chatで、受信メッセヌゞの受領を瀺すためにベスト゚フォヌトで絵文字リアクションを送信したす。 デフォルトでは、 アクティブ゚ヌゞェントの identity.emoji が蚭定されおいたす。蚭定されおいない堎合は "👀" です。 無効にするには "" に蚭定したす。

ackReactionScope はリアクションが発生したずきに制埡したす。

  • group-mentions (デフォルト): グルヌプ/ルヌムでメンションが必芁な堎合のみ and Botがメンションされおいたす
  • group-all: すべおのグルヌプ/ルヌムメッセヌゞ
  • direct: ダむレクトメッセヌゞのみ
  • all: すべおのメッセヌゞ

removeAckAfterReplyは、返信を Slack/Discord/Telegram/Google チャットのみした埌、ボットのリアクションを削陀したす。 デフォルト: false

messages.tts¶

発信返信のテキスト読み䞊げを有効にしたす。 17. 有効にするず、OpenClaw は ElevenLabs たたは OpenAI を䜿甚しお音声を生成し、返信に添付したす。 TelegramはOpus 音声ノヌトを䜿甚したす。他のチャンネルはMP3オヌディオを送信したす。

18. {
  messages: {
    tts: {
      auto: "always", // off | always | inbound | tagged
      mode: "final", // final | all (include tool/block replies)
      provider: "elevenlabs",
      summaryModel: "openai/gpt-4.1-mini",
      modelOverrides: {
        enabled: true,
      },
      maxTextLength: 4000,
      timeoutMs: 30000,
      prefsPath: "~/.openclaw/settings/tts.json",
      elevenlabs: {
        apiKey: "elevenlabs_api_key",
        baseUrl: "https://api.elevenlabs.io",
        voiceId: "voice_id",
        modelId: "eleven_multilingual_v2",
        seed: 42,
        applyTextNormalization: "auto",
        languageCode: "en",
        voiceSettings: {
          stability: 0.5,
          similarityBoost: 0.75,
          style: 0.0,
          useSpeakerBoost: true,
          speed: 1.0,
        },
      },
      openai: {
        apiKey: "openai_api_key",
        model: "gpt-4o-mini-tts",
        voice: "alloy",
      },
    },
  },
}

利䟿性のためのオプトむン機胜です。有効で、か぀期埅されるキヌがただ蚭定されおいない堎合、OpenClaw はログむンシェルを実行し、欠萜しおいる期埅キヌのみを取り蟌みたす䞊曞きはしたせん。
これは実質的にシェルプロファむルを source する動䜜です。

  • messages.tts.auto は、auto‐TTS(off、always、inbound、tagged)を制埡したす。
  • /tts off|always|inbound|tagged はセッションごずの自動モヌドを蚭定したす (蚭定を䞊曞きしたす)。
  • messages.tts.enabled はレガシヌです。医垫は messages.tts.auto に移行したす。
  • prefsPath はロヌカルのオヌバヌラむドを栌玍したす(provider/limit/summarize)。
  • maxTextLengthはTTS入力のハヌドキャップです。芁玄は収たるように省略されたす。
  • summaryModel は agents.defaults.model.primary を䞊曞きしたす。
  • provider/model たたは agents.defaults.models の゚むリアスを受け付けたす。
  • modelOverrides は、 [[tts:...]] タグのようなモデル駆動のオヌバヌラむドを有効にしたす(デフォルト)。
  • /tts limit ず /tts summary はナヌザ毎のサマリヌ蚭定を制埡したす。
  • apiKey の倀は ELEVENLABS_API_KEY/XI_API_KEY ず OPENAI_API_KEY に戻りたす。
  • elevenlabs.baseUrl はElevenLabs APIベヌスのURLを䞊曞きしたす。
  • elevenlabs.voiceSettings は stability/similarityBoost/style (0..1), useSpeakerBoost, そしお speed (0.5..2.0) をサポヌトしおいたす。

talk¶

デフォルトはトヌクモヌド(macOS/iOS/Android)です。 音声IDはオフにするず「ELEVENLABS_VOICE_ID」たたは「SAG_VOICE_ID」に戻りたす。 apiKey は蚭定を解陀したずきに ELEVENLABS_API_KEY (たたはゲヌトりェむのシェルプロファむル) に戻りたす。 voiceAliases を䜿甚するず、トヌクディレクティブはフレンドリヌな名前を䜿甚するこずができたす(䟋: "voice":"Clawd")。

19. {
  talk: {
    voiceId: "elevenlabs_voice_id",
    voiceAliases: {
      Clawd: "EXAVITQu4vr4xnSDxMaL",
      Roger: "CwhRBWXzGAHq8TQ4Fs17",
    },
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    interruptOnSpeech: true,
  },
}

agents.defaults¶

埋め蟌たれた゚ヌゞェントランタむムを制埡したす (モデル/思考/verbose/timeout)。 agents.defaults.models は蚭定されたモデルカタログを定矩したす (/model の蚱容リストずしお機胜したす)。 agents.defaults.model.primary はデフォルトのモデルを蚭定したす。agents.defaults.model.fallbacks はグロヌバルフェむルオヌバヌです。 agents.defaults.imageModel はオプションで、メむンモデルに画像入力がない堎合にのみ䜿甚されたす。 各 agents.defaults.models ゚ントリには以䞋のものがありたす。

  • alias (オプションのモデルショヌトカット、䟋えば/opus)。
  • params (オプションのプロバむダ固有の API パラメヌタがモデル芁求に枡されたす)。

params はストリヌミング実行にも適甚されたす(埋め蟌み゚ヌゞェント + 圧瞮)。 珟圚サポヌトされおいるキヌはtemperature、maxTokensです。 これらはコヌルタむムオプションずマヌゞされたす。呌び出し元の倀が勝利したす。 temperature は高床なノブです。モデルのデフォルトがわかっおいお、倉曎が必芁ない限り、蚭定を解陀しおください。

未定矩たたは空の環境倉数は、蚭定読み蟌み時に゚ラヌずなりたす

20. {
  agents: {
    defaults: {
      models: {
        "anthropic/claude-sonnet-4-5-20250929": {
          params: { temperature: 0.6 },
        },
        "openai/gpt-5.2": {
          params: { maxTokens: 8192 },
        },
      },
    },
  },
}

Z.AI GLM-4.x モデルは自動的に思考モヌドを有効にしたす。

  • --thinking off たたは
  • agents.defaults.models["zai/<model>"].params.thinking を自分で定矩したす。

OpenClawはたた、いく぀かの組み蟌み゚むリアス短瞮を出荷したす。 デフォルトは、モデル が agents.defaults.modelsに既に存圚する堎合にのみ適甚されたす。

  • opus -> anthropic/claude-opus-4-6
  • sonnet -> anthropic/claude-sonnet-4-5
  • gpt -> openai/gpt-5.2
  • gpt-mini -> openai/gpt-5-mini
  • gemini -> google/gemini-3-pro-preview
  • gemini-flash -> google/gemini-3-flash-preview

自分で同じ゚むリアス名(倧文字ず小文字を区別しない)を蚭定するず、その倀は勝利したす (デフォルトでは䞊曞きされたせん)。

䟋: Opus 4.6 primary with MiniMax M2.1 fallback (hosted MiniMax):

21. {
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": { alias: "opus" },
        "minimax/MiniMax-M2.1": { alias: "minimax" },
      },
      model: {
        primary: "anthropic/claude-opus-4-6",
        fallbacks: ["minimax/MiniMax-M2.1"],
      },
    },
  },
}

MiniMax auth: MINIMAX_API_KEY (env) を蚭定するか、models.providers.minimax を蚭定したす。

agents.defaults.cliBackends (CLI フォヌルバック)¶

テキストのみのフォヌルバックラン(ツヌルコヌルなし)のためのオプションの CLI バック゚ンド。 これらは、API プロバむダが倱敗した堎合の バックアップパスずしお有甚です。 ファむルパスを受け入れるimageArg を蚭定するず、むメヌゞパススルヌがサポヌトされたす。

利䟿性のためのオプトむン機胜です。有効で、か぀期埅されるキヌがただ蚭定されおいない堎合、OpenClaw はログむンシェルを実行し、欠萜しおいる期埅キヌのみを取り蟌みたす䞊曞きはしたせん。
これは実質的にシェルプロファむルを source する動䜜です。

  • CLI バック゚ンドは text-first です。ツヌルは垞に無効です。
  • セッションは sessionArg が蚭定されおいる堎合にサポヌトされたす。セッションIDはバック゚ンドごずに持続したす。
  • claude-cliの堎合、デフォルトは配線されおいたす。 PATH が最小の (launchd/systemd) の堎合、コマンドパスを䞊曞きしたす。

2026-02-08T09:22:13Z

22. {
  agents: {
    defaults: {
      cliBackends: {
        "claude-cli": {
          command: "/opt/homebrew/bin/claude",
        },
        "my-cli": {
          command: "my-cli",
          args: ["--json"],
          output: "json",
          modelArg: "--model",
          sessionArg: "--session",
          sessionMode: "existing",
          systemPromptArg: "--system",
          systemPromptWhen: "first",
          imageArg: "--image",
          imageMode: "repeat",
        },
      },
    },
  },
}
23. {
  agents: {
    defaults: {
      models: {
        "anthropic/claude-opus-4-6": { alias: "Opus" },
        "anthropic/claude-sonnet-4-1": { alias: "Sonnet" },
        "openrouter/deepseek/deepseek-r1:free": {},
        "zai/glm-4.7": {
          alias: "GLM",
          params: {
            thinking: {
              type: "enabled",
              clear_thinking: false,
            },
          },
        },
      },
      model: {
        primary: "anthropic/claude-opus-4-6",
        fallbacks: [
          "openrouter/deepseek/deepseek-r1:free",
          "openrouter/meta-llama/llama-3.3-70b-instruct:free",
        ],
      },
      imageModel: {
        primary: "openrouter/qwen/qwen-2.5-vl-72b-instruct:free",
        fallbacks: ["openrouter/google/gemini-2.0-flash-vision:free"],
      },
      thinkingDefault: "low",
      verboseDefault: "off",
      elevatedDefault: "on",
      timeoutSeconds: 600,
      mediaMaxMb: 5,
      heartbeat: {
        every: "30m",
        target: "last",
      },
      maxConcurrent: 3,
      subagents: {
        model: "minimax/MiniMax-M2.1",
        maxConcurrent: 1,
        archiveAfterMinutes: 60,
      },
      exec: {
        backgroundMs: 10000,
        timeoutSec: 1800,
        cleanupMs: 1800000,
      },
      contextTokens: 200000,
    },
  },
}

agents.defaults.contextPruning (tool-result pruning)¶

agents.defaults.contextPruning は、リク゚ストが LLM に送信される盎前のメモリ内コンテキストから 叀いツヌルの結果 を削陀したす。 ディスク䞊のセッション履歎を倉曎したせん** (*.jsonlはただ完了しおいたす)。

これは、時間の経過ずずもに倧きなツヌル出力を蓄積するチャット゚ヌゞェントのトヌクン䜿甚を枛らすこずを目的ずしおいたす。

ハむレベル:

  • ナヌザヌ/アシスタントメッセヌゞをタッチしないでください。
  • 最埌の keepLastAssistants アシスタントメッセヌゞを保護したす。削陀埌のツヌル結果はありたせん。
  • ブヌトストラップのプレフィックスを保護したす (最初のナヌザヌメッセヌゞが削陀される前には䜕もありたせん)。
  • モヌド:
  • adaptive: 掚定されたコンテキスト比が softTrimRatio を暪切ったずきに、゜フトトリムが特倧のツヌル結果を衚瀺したす(ヘッド/テヌルを維持したす)。
    1. 掚定コンテキスト比率が hardClearRatio を超え、か぀剪定可胜なツヌル結果の量minPrunableToolCharsが十分にある堎合、最も叀い察象ツヌル結果をハヌドクリアしたす。
  • アグレッシブ: カットオフの前に適切なツヌル結果を垞にhardClear.placeholderに眮き換えたす(比率チェックはありたせん)。

゜フト察ハヌド剪定LLMに送信されるコンテキスト内の倉曎

  • ゜フトトリム: oversized ツヌル結果のみ。 開始䜍眮ず終了䜍眮を維持し、䞭倮に ... を挿入したす。
  • 以前: toolResult(" 非垞に長い出力 ")
  • After: toolResult("HEAD
\n...\n
TAIL\n\n[Tool result trimed: 
]")
  • Hard-clear: ツヌル党䜓の結果をプレヌスホルダに眮き換えたす。
  • 以前: toolResult(" 非垞に長い出力 ")
  • After: toolResult("format@@0")

ノヌト/珟圚の制限

  • 画像ブロックを含むツヌルの結果はスキップされたす (トリミングや削陀はありたせん)
  • 掚定される「コンテキスト比」は、正確なトヌクンではなく文字 (近䌌) に基づいおいたす。
  • セッションに keepLastAssistants アシスタントメッセヌゞが含たれおいない堎合は、剪定はスキップされたす。
  • アグレッシブモヌドでは、hardClear.enabledは無芖されたす適栌なツヌル結果は垞にhardClear.placeholderに眮き換えられたす。

デフォルト (アダプティブ):

{
  agents: { defaults: { contextPruning: { mode: "adaptive" } },
}

無効にするには:

{
  agents: { defaults: { contextPruning: { mode: "off" } },
}

デフォルト(modeがadaptive"たたは"アグレッシブ"の堎合):

  • keepLastAssistants: 3
  • softTrimRatio: 0.3 (アダプティブのみ)
  • hardClearRatio: 0.5 (アダプティブのみ)
  • minPrunableToolChars: 50000 (アダプティブのみ)
  • softTrim: { maxChars: 4000, headChars: 1500, tailChars: 1500 } (アダプティブのみ)
  • hardClear: { enabled: true, placeholder: "[Old tool result content cleared]" }

䟋 (攻撃的、最小倀):

{
  agents: { defaults: { contextPruning: { mode: "agrossive" } },
}

䟋 (アダプティブチュヌニング):

25. {
  agents: {
    defaults: {
      contextPruning: {
        mode: "adaptive",
        keepLastAssistants: 3,
        softTrimRatio: 0.3,
        hardClearRatio: 0.5,
        minPrunableToolChars: 50000,
        softTrim: { maxChars: 4000, headChars: 1500, tailChars: 1500 },
        hardClear: { enabled: true, placeholder: "[Old tool result content cleared]" },
        // Optional: restrict pruning to specific tools (deny wins; supports "*" wildcards)
        tools: { deny: ["browser", "canvas"] },
      },
    },
  },
}

挙動の詳现は /concepts/session-pruning を参照しおください。

agents.defaults.compaction (headroom + memory flushを予玄)¶

agents.defaults.compaction.mode は圧瞮芁玄戊略を遞択したす。 デフォルトは default です。safeguard を蚭定するず、非垞に長い歎史のためにたずめられた芁玄が有効になりたす。 /concepts/compaction を参照しおください。

agents.defaults.compaction.reserveTokensFloor は、Pi compaction の最小倀 reserveTokens を匷制したす(デフォルト: 20000)。 床を無効にするには、0 に蚭定したす。

agents.defaults.compaction.memoryFlush は、 自動圧瞮する前にサむレント のagenticticタヌンを実行したす。モデルにディスクに耐久性のあるメモリヌを栌玍するように指瀺したす (䟋: memory/YYYY-MM-DD.md )。 これは、セッション・トヌクンが圧瞮限床を䞋回る 柔らかいしきい倀を掚定するず発生したす。

埓来のデフォルト:

  • memoryFlush.enabled: true
  • memoryFlush.softThresholdTokens: 4000
  • memoryFlush.prompt / memoryFlush.systemPrompt: NO_REPLYの組み蟌みデフォルト
  • 泚意: セッション ワヌクスペヌスが読み取り専甚の (agents.defaults.sandbox.workspaceAccess: "ro" or "none")の堎合、メモリ フラッシュはスキップされたす。

任意の蚭定文字列倀で、${VAR_NAME} 構文を䜿甚しお環境倉数を盎接参照できたす。
倉数は、怜蚌前の蚭定読み蟌み時に眮換されたす。

26. {
  agents: {
    defaults: {
      compaction: {
        mode: "safeguard",
        reserveTokensFloor: 24000,
        memoryFlush: {
          enabled: true,
          softThresholdTokens: 6000,
          systemPrompt: "Session nearing compaction. Store durable memories now.",
          prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.",
        },
      },
    },
  },
}

ブロックストリヌミング:

  • agents.defaults.blockStreamingDefault: "on"/"off"デフォルトはオフ。

  • チャンネルのオヌバヌラむド: *.blockStreaming (ずアカりントごずのバリアント) は、ストリヌミングのオン/オフをブロックするこずを匷制したす。 Telegram以倖のチャンネルでは、ブロックの返信を有効にするには明瀺的な*.blockStreaming: trueが必芁です。

  • agents.defaults.blockStreamingBreak: "text_end" たたは "message_end" (デフォルト: text_end)。

  • agents.defaults.blockStreamingChunk: ストリヌミングされたブロックの゜フトチャンキング。 デフォルトは 800–1200 文字です。段萜区切り\n\n、次に改行、次に文章を奜みたす。 2026-02-08T09:22:13Z

json5 { agents: { defaults: { blockStreamingChunk: { minChars: 800, maxChars: 1200 } } }, }

  • agents.defaults.blockStreamingCoalesce: 送信前にストリヌミングされたブロックをマヌゞしたす。 デフォルトは { idleMs: 1000 } で、blockStreamingChunk から minChars を継承し、maxChars はチャンネルテキストの䞊限に䞊限を蚭定したす。 シグナル/Slack/Discord/Googleチャットのデフォルト は、オヌバヌラむドしない限り、minChars: 1500になりたす。 27. チャンネルごずの䞊曞き蚭定channels.whatsapp.blockStreamingCoalesce、channels.telegram.blockStreamingCoalesce、 channels.discord.blockStreamingCoalesce、channels.slack.blockStreamingCoalesce、channels.mattermost.blockStreamingCoalesce、 channels.signal.blockStreamingCoalesce、channels.imessage.blockStreamingCoalesce、channels.msteams.blockStreamingCoalesce、 channels.googlechat.blockStreamingCoalesce およびアカりントごずのバリアント。

  • agents.defaults.humanDelay: 最初のブロックの埌にランダムに䞀時停止したす。 モヌド: off (デフォルト)、natural (800-2500ms)、custom (minMs/maxMsを䜿甚)。 ゚ヌゞェント毎のオヌバヌラむド: agents.list[].humanDelay 。 2026-02-08T09:22:13Z

json5 { agents: { defaults: { humanDelay: { mode: "natural" } }, }

動䜜 + チャンキングの詳现に぀いおは、/concepts/streaming を参照しおください。

入力むンゞケヌタヌ:

  • agents.defaults.typingMode: "never" | "instant" | "thinking" | "message" 。 デフォルトは instant で盎接チャット/メンション、未メンションのグルヌプチャットの message です。
  • session.typingMode: セッションごずのオヌバヌラむド。
  • agents.defaults.typingIntervalSeconds: タむピング信号がリフレッシュされる頻床(デフォルト: 6s)。
  • session.typingIntervalSeconds: リフレッシュ間隔のセッションごずのオヌバヌラむド。 挙動の詳现は /concepts/typing-indicators を参照しおください。

agents.defaults.model.primary は provider/model ずしお蚭定する必芁がありたす。䟋: anthropic/claude-opus-4-6 ゚むリアスはagents.defaults.models.*.alias䟋Opusから来おいたす。 プロバむダを省略した堎合、OpenClawは珟圚䞀時的な 非掚奚のフォヌルバックずしおanthropicを想定しおいたす。 Z.AI モデルは zai/<model> (䟋: zai/glm-4.7) ずしお利甚でき、環境で ZAI_API_KEY (たたはレガシヌの Z_AI_API_KEY )が必芁です。

agents.defaults.heartbeat は定期的なハヌトビヌトの実行を構成したす。

  • every: duration string (ms, s, m, h); デフォルトの単䜍分。 デフォルト: 30m 。 0m を無効にしたす。
  • model: ハヌトビヌトラン(provider/model)のオプションのオヌバヌラむドモデル。
  • includeReasoning: trueのずき、ハヌトビヌトは利甚可胜なずき Reasoningメッセヌゞを別々に送信したす/reasoning onず同じ圢です。 デフォルト: false
  • session: ハヌトビヌトがどのセッションを実行するかを制埡するオプションのセッションキヌ。 デフォルト: main 。
  • to: オプションの受信者オヌバヌラむドチャンネル固有のID、䟋えばWhatsAppのE.164、TelegramのチャットID。
  • target: オプションのデリバリチャンネル (last, whatsapp, telegram, discord, slack, msteams, signal, imessage, none). デフォルト: last
  • prompt: ハヌトビヌトボディのオプションオヌバヌラむド(デフォルト: 存圚する堎合はHEARTBEAT.md を読む(ワヌクスペヌスコンテキスト)。 Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). オヌバヌラむドはverbatimに送られたす。ファむルを読みたい堎合は、Read HEARTBEAT.md行を含みたす。
  • ackMaxChars: 配送前に HEARTBEAT_OK の埌に蚱可された最倧文字数デフォルト300。

゚ヌゞェントごずのハヌトビヌト:

  • 特定の゚ヌゞェントのハヌトビヌト蚭定を有効たたは䞊曞きするには、agents.list[].heartbeat を蚭定したす。
  • ゚ヌゞェントの゚ントリで heartbeat が定矩されおいる堎合、これらの゚ヌゞェントのみがハヌトビヌトを実行したす。デフォルトでは、 ぱヌゞェントの共有ベヌスラむンずなりたす。

ハヌトビヌトはフル゚ヌゞェントタヌンを実行したす。 短い間隔では、より倚くのトヌクンを燃やしたす。every の に留意しお、HEARTBEAT.md を小さくしお、より安いmodel を遞んでください。

tools.exec はバックグラりンド実行のデフォルトを蚭定したす。

  • backgroundMs: 自動背景たでの時間 (ms, default 10000)
  • timeoutSec: このランタむムの埌に自動キルをする (秒、デフォルト1800)
  • cleanupMs: 終了したセッションをメモリに保存する期間 (ms, default 1800000)
  • notifyOnExit: enqueue a system event + request heartbeat backgrounded exec exits (default true)
  • applyPatch.enabled: 実隓的な apply_patch を有効にしたす (OpenAI/OpenAI Codex のみ、デフォルトは false)
  • applyPatch.allowModels: optional allowlist of model ids(䟋: gpt-5.2 or openai/gpt-5.2) Note: applyPatch は tools.exec の䞋にありたす。

tools.web はりェブ怜玢+fetch toolsを蚭定したす。

  • tools.web.search.enabled (デフォルト: キヌが存圚する堎合は true )
  • tools.web.search.apiKey (openclaw-configure --section webを介しお蚭定するか、BRAVE_API_KEY envarを䜿甚するこずを掚奚)
  • tools.web.search.maxResults (1–10, default 5)
  • tools.web.search.timeoutSecondsデフォルト 30
  • tools.web.search.cacheTtlMinutesデフォルト 15
  • tools.web.fetch.enabled (デフォルトは true)
  • tools.web.fetch.maxCharsデフォルト 50000
  • tools.web.fetch.maxCharsCap (デフォルト50000; clumps maxChars from config/tool calls)
  • tools.web.fetch.timeoutSecondsデフォルト 30
  • tools.web.fetch.cacheTtlMinutesデフォルト 15
  • tools.web.fetch.userAgent任意の䞊曞き。
  • tools.web.fetch.readability (デフォルトは true; 基本的な HTML クリヌンアップの䜿甚を無効にする)
  • tools.web.fetch.firecrawl.enabled (API キヌが蚭定されおいる堎合はデフォルトでtrue)
  • tools.web.fetch.firecrawl.apiKey (オプション; デフォルトは FIRECRAWL_API_KEY)
  • tools.web.fetch.firecrawl.baseUrl (デフォルト https://api.firecrawl.dev)
  • tools.web.fetch.firecrawl.onlyMainContent (デフォルトは true)
  • tools.web.fetch.firecrawl.maxAgeMs任意
  • tools.web.fetch.firecrawl.timeoutSeconds任意

tools.media はむンバりンドメディア理解を蚭定したす画像/オヌディオ/ビデオ。

  • tools.media.models: 共有モデルリスト (capability-tagged; per-cap listsの埌に䜿甚)。
  • tools.media.concurrency: 最倧同時実行機胜 (デフォルト2)。
  • tools.media.image / tools.media.audio / tools.media.video:
  • enabled: opt-out switch (モデルが蚭定されおいる堎合はデフォルトでは true)。
  • prompt: オプションのプロンプトのオヌバヌラむド画像/ビデオは maxChars ヒントを自動的に远加。
  • maxChars: 最倧出力文字数画像/ビデオの堎合はデフォルト500、オヌディオの堎合はオフ。
  • maxBytes: 送信するメディアの最倧サむズデフォルト画像10MB、音声20MB、動画50MB。
  • timeoutSeconds: リク゚ストタむムアりト (デフォルト: 画像60、音声60、動画120)。
  • language: 音声ヒントのオプション。
  • attachments: attachment policy (mode, maxAttachments, prefer).
  • scope: オプション gating (first match wins) with match.channel , match.chatType , たたは match.keyPrefix .
  • models: ordered list of model entries; failure or oversize media fall back to the next entry.
  • それぞれの models[] ゚ントリ:
  • プロバむダ゚ントリ(type: "provider"たたは省略):
    • provider: API プロバむダヌ id (openai, anthropic, google/gemini, groq, etc).
    • model: モデル id オヌバヌラむド画像には必須。デフォルトは gpt-4o-mini-transscribe/wisper-large v3-turbo、ビデオに gemini-3-flash-preview。
    • profile / preferredProfile: authプロファむルの遞択。
  • CLI ゚ントリ (type: "cli"):
    • command: 実行する実行ファむル。
    • args: templated args (support {{MediaPath}}, {{Prompt}}, {{MaxChars}}など).
  • capabilities: オプションのリスト(image, audio, video)を共有゚ントリにゲヌトしたす。 省略時のデフォルト: openai/anthropic/minimax → 画像、google → image+audio+video、groq → audio。
  • prompt 、 maxChars 、 maxBytes 、 timeoutSeconds 、 language ぱントリごずに䞊曞きするこずができたす。

モデルが蚭定されおいない堎合 (たたは enabled: false )、理解はスキップされたす。モデルは元の添付ファむルを受け取りたす。

プロバむダ認蚌は暙準モデルの認蚌順序に埓いたす(認蚌プロファむル、OPENAI_API_KEY/GROQ_API_KEY/GEMINI_API_KEY、models.providers.*.apiKeyなど)。

e226e24422c05e7e

28. {
  tools: {
    media: {
      audio: {
        enabled: true,
        maxBytes: 20971520,
        scope: {
          default: "deny",
          rules: [{ action: "allow", match: { chatType: "direct" } }],
        },
        models: [
          { provider: "openai", model: "gpt-4o-mini-transcribe" },
          { type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] },
        ],
      },
      video: {
        enabled: true,
        maxBytes: 52428800,
        models: [{ provider: "google", model: "gemini-3-flash-preview" }],
      },
    },
  },
}

agents.defaults.subagents はサブ゚ヌゞェントのデフォルトを蚭定したす。

  • model: spawn されたサブ゚ヌゞェントのデフォルトモデル (string or { primary, fallbacks }). 省略された堎合、サブ゚ヌゞェントぱヌゞェントごずたたは呌び出しごずに䞊曞きされない限り、呌び出し元のモデルを継承したす。
  • maxConcurrent: max concurrent sub-agent runs (default 1)
  • archiveAfterMinutes: サブ゚ヌゞェントセッションをN分埌に自動アヌカむブしたすデフォルトでは60分、0を無効にしたす
  • サブ゚ヌゞェント毎のツヌルポリシヌ: tools.subagents.tools.allow / tools.subagents.tools.deny (deny wins)

tools.profile は tools.allow/tools.denyの前に base tools allowlist を蚭定したす。

  • minimal: session_status のみ
  • coding: group:fs, group:runtime, group:sessions, group:memory, image
  • messaging: group:messaging, sessions_list, sessions_history, sessions_send, session_status
  • full: 制限なし未蚭定ず同等

゚ヌゞェント毎のオヌバヌラむド: agents.list[].tools.profile 。

䟋既定はメッセヌゞングのみ、Slack + Discord ツヌルも蚱可:

{
  tools: {
    profile: "messaging",
    allow: ["slack", "discord"],
  },
}

䟋コヌディングプロファむルだが、exec/process をすべお拒吊:

{
  tools: {
    profile: "coding",
    deny: ["group:runtime"],
  },
}

tools.byProvider を䜿甚するず、特定のプロバむダヌ (たたは単䞀の provider/model ) に察しお、 さらなる制限 ツヌルを䜿甚できたす。 ゚ヌゞェント毎のオヌバヌラむド: agents.list[].tools.byProvider

泚文: ベヌスプロファむル → プロバむダプロファむル → ポリシヌの蚱可/拒吊。 プロバむダのキヌは provider (䟋: google-antigubity) たたは provider/model (䟋: openai/gpt-5.2) のいずれかを受け付けたす。

䟋グロヌバルはコヌディングプロファむルを維持し぀぀、Google Antigravity では最小限のツヌル:

{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}

䟋 (provider/model-specific allowlist):

{
  tools: {
    allow: ["group:fs", "group:runtime", "sessions_list"],
    byProvider: {
      "openai/gpt-5.2": { allow: ["group:fs", "sessions_list"] },
    },
  },
}

tools.allow / tools.deny はグロヌバルツヌルのallow/denyポリシヌを蚭定したすdeny wins。 マッチングは倧文字ず小文字を区別せず、* ワむルドカヌド"*"はすべおのツヌルを意味したすをサポヌトしおいたす。 これは、Docker Sandbox が off の堎合でも適甚されたす。

䟋 (ブラりザ/キャンバスをどこでも無効にできたす):

{
  tools: { deny: ["browser", "canvas"] },
}

ツヌルグルヌプ (略) は global ず per-agent ツヌルポリシヌで動䜜したす。

  • group:runtime: exec, bash, process
  • group:fs: read, write, edit, apply_patch
  • group:sessions: sessions_list, sessions_history, sessions_send, sessions_spawn, session_status
  • group:memory: memory_search, memory_get
  • group:web: web_search, web_fetch
  • group:ui: browser, canvas
  • group:automation: cron, gateway
  • group:messaging: message
  • group:nodes: nodes
  • group:openclaw: すべおの組み蟌み OpenClaw ツヌルプロバむダヌプラグむンを陀く

tools.elevated controls righted (host) exec access:

  • enabled: 昇栌モヌドを蚱可する (デフォルトは true)
  • allowFrom: per-channel allowlist (empty = disabled)
  • whatsapp: E.164 numbers
  • telegram: チャット IDたたはナヌザヌ名
  • discord: ナヌザヌ IDたたはナヌザヌ名 (省略した堎合は channels.discord.dm.allowFrom に戻りたす)
  • シグナル: E.164 numbers
  • imessage: handles/chat id
  • webchat: セッションIDたたはナヌザヌ名

v1

29. {
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        whatsapp: ["+15555550123"],
        discord: ["steipete", "1234567890123"],
      },
    },
  },
}

゚ヌゞェント毎のオヌバヌラむド(さらなる制限):

30. {
  agents: {
    list: [
      {
        id: "family",
        tools: {
          elevated: { enabled: false },
        },
      },
    ],
  },
}

蚭定内でむンラむン環境倉数を指定するこずもできたす。これらは、プロセス環境にキヌが存圚しない堎合にのみ適甚されたす同じく䞊曞きしたせん。

  • tools.elevated はグロヌバルベヌスラむンです。 agents.list[].tools.elevated は、さらに制限するこずができたす (䞡方ずも蚱可する必芁がありたす)。
  • /䞊に昇栌|オフ|ask|full はセッションごずの状態を保存したす。むンラむンディレクティブは単䞀のメッセヌゞに適甚されたす。
  • execが高くなっおホスト䞊で実行され、サンドボックス化がバむパスされたす。
  • ツヌルポリシヌが適甚されたす; execが拒吊された堎合、昇栌は䜿甚できたせん。

agents.defaults.maxConcurrent は、セッション間で䞊列に 実行できる埋め蟌み゚ヌゞェントの実行数を蚭定したす。 各セッションはただシリアル化されおいたす(䞀床に1぀のセッションキヌに぀き1぀の実行 )。 デフォルト: 1.

agents.defaults.sandbox¶

埋め蟌み゚ヌゞェント甚のオプションの Docker サンドボックス です。 メむン以倖の セッションを察象ずしおいないため、ホストシステムにアクセスできたせん。

詳现: Sandboxing

デフォルト (有効な堎合):

  • scope: "agent" (1 container + workspace per agent)
  • Debian bookworm-slim based image
  • ファむルが存圚しない堎合、OpenClaw は安党寄りのデフォルト組み蟌み Pi ゚ヌゞェント + 送信者ごずのセッション + ワヌクスペヌス ~/.openclaw/workspaceを䜿甚したす。通垞、蚭定が必芁になるのは次の堎合です。
  • "none": ~/.openclaw/sandboxesの䞋でスコヌプごずのサンドボックスワヌクスペヌスを䜿甚したす
  • "ro": サンドボックスのワヌクスペヌスを/workspaceに保ち、/agentで゚ヌゞェントワヌクスペヌスを読み取り専甚にマりントしたす (write/edit/apply_patch)
  • "rw": /workspace で゚ヌゞェントワヌクスペヌスを読み曞きする
  • 自動プルヌンアむドル > 24 時間 たたは 経過 > 7 日
  • tool policy: allow only exec, process, read, write, edit, apply_patch, sessions_list, sessions_history, sessions_send, sessions_spawn, session_status (deny wins)
  • tools.sandbox.tools を䜿甚しお蚭定し、agents.list[].tools.sandbox.tools を䜿甚しお゚ヌゞェントごずに䞊曞きする
  • sandbox ポリシヌでサポヌトされおいるツヌルグルヌプの短瞮圢: group:runtime, group:fs, group:sessions, group:memory (Sandbox vs Tool Policy vs Elevated) を参照しおください。
  • オプションのサンドボックス化ブラりザ (Chromium + CDP, noVNC observer)
  • ノブを硬化させる: network, user, pidsLimit, memory, cpus, ulimits, seccompProfile, apparmorProfile

譊告: scope: "shared"は共有コンテナず共有ワヌクスペヌスを意味したす。 セッション間隔離はありたせん。 セッションごずの分離にはscope: "session"` を䜿甚したす。

レガシヌ: perSession はただサポヌトされおいたす (true → scope: "session", false → scope: "shared").

setupCommand はコンテナが䜜成された埌に 1回 実行されたす (sh -lcを介しおコンテナの䞭に入りたす)。 パッケヌゞをむンストヌルする堎合は、ネットワヌク egress、曞き蟌み可胜なルヌト FS 、および root ナヌザヌを確認しおください。

31. {
  agents: {
    defaults: {
      sandbox: {
        mode: "non-main", // off | non-main | all
        scope: "agent", // session | agent | shared (agent is default)
        workspaceAccess: "none", // none | ro | rw
        workspaceRoot: "~/.openclaw/sandboxes",
        docker: {
          image: "openclaw-sandbox:bookworm-slim",
          containerPrefix: "openclaw-sbx-",
          workdir: "/workspace",
          readOnlyRoot: true,
          tmpfs: ["/tmp", "/var/tmp", "/run"],
          network: "none",
          user: "1000:1000",
          capDrop: ["ALL"],
          env: { LANG: "C.UTF-8" },
          setupCommand: "apt-get update && apt-get install -y git curl jq",
          // Per-agent override (multi-agent): agents.list[].sandbox.docker.*
          pidsLimit: 256,
          memory: "1g",
          memorySwap: "2g",
          cpus: 1,
          ulimits: {
            nofile: { soft: 1024, hard: 2048 },
            nproc: 256,
          },
          seccompProfile: "/path/to/seccomp.json",
          apparmorProfile: "openclaw-sandbox",
          dns: ["1.1.1.1", "8.8.8.8"],
          extraHosts: ["internal.service:10.0.0.5"],
          binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"],
        },
        browser: {
          enabled: false,
          image: "openclaw-sandbox-browser:bookworm-slim",
          containerPrefix: "openclaw-sbx-browser-",
          cdpPort: 9222,
          vncPort: 5900,
          noVncPort: 6080,
          headless: false,
          enableNoVnc: true,
          allowHostControl: false,
          allowedControlUrls: ["http://10.0.0.42:18791"],
          allowedControlHosts: ["browser.lab.local", "10.0.0.42"],
          allowedControlPorts: [18791],
          autoStart: true,
          autoStartTimeoutMs: 12000,
        },
        prune: {
          idleHours: 24, // 0 disables idle pruning
          maxAgeDays: 7, // 0 disables max-age pruning
        },
      },
    },
  },
  tools: {
    sandbox: {
      tools: {
        allow: [
          "exec",
          "process",
          "read",
          "write",
          "edit",
          "apply_patch",
          "sessions_list",
          "sessions_history",
          "sessions_send",
          "sessions_spawn",
          "session_status",
        ],
        deny: ["browser", "canvas", "nodes", "cron", "discord", "gateway"],
      },
    },
  },
}

$include ディレクティブを䜿甚しお、蚭定を耇数ファむルに分割できたす。これは次の甚途に䟿利です。

scripts/sandbox-setup.sh

泚意: Sandbox コンテナはデフォルトで network: "none" に蚭定したす。゚ヌゞェントのアりトバりンドアクセスが必芁な堎合は、agents.defaults.sandbox.docker.network に `bridge" (たたはカスタムネットワヌク) を蚭定したす。

泚意: 受信添付ファむルは media/inbound/* のアクティブなワヌクスペヌスにステヌゞされたす。 workspaceAccess: "rw"では、ファむルが゚ヌゞェントのワヌクスペヌスに曞き蟌たれるこずを意味したす。

泚意: docker.binds は、远加のホストディレクトリをマりントしたす。グロヌバルず゚ヌゞェントごずのバむンディングはマヌゞされたす。

オプションのブラりザヌ画像を以䞋で䜜成したす。

scripts/sandbox-browser-setup.sh

agents.defaults.sandbox.browser.enabled=true の堎合、ブラりザツヌルはサンドボックス化された Chromium むンスタンス (CDP) を䜿甚したす。 noVNC が有効になっおいる堎合 (headless=falseの堎合のデフォルト)、 noVNC URL ぱヌゞェントが参照できるようにシステムプロンプトに泚入されたす。 メむン蚭定で browser.enabled は必芁ありたせん。sandbox control URL はセッションごずに泚入されたす。

  1. agents.defaults.sandbox.browser.allowHostControl既定倀: falseを有効にするず、サンドボックス化されたセッションが、ブラりザツヌルtarget: "host"を介しお ホスト のブラりザ制埡サヌバヌを明瀺的に察象にできるようになりたす。 厳栌な サンドボックスの分離が必芁な堎合は、これをオフにしおください。

リモヌトコントロヌルの蚱可リスト:

  • allowedControlUrls: target: "custom"で蚱可されおいる正確な制埡URL。
  • allowedControlHosts: 蚱可されたホスト名(ホスト名のみ、ポヌトなし)。
  • allowedControlPorts: ポヌト蚱可 (デフォルト: http=80, https=443)。 デフォルト: すべおの蚱可リストが未蚭定制限なしです。 allowHostControl のデフォルトは false です。

models (カスタム プロバむダヌ + ベヌス URL)¶

OpenClawはpi-coding-agentモデルカタログを䜿甚しおいたす。 カスタム プロバむダヌ (LiteLLM、ロヌカル OpenAI 互換サヌバヌ、Anthropic プロキシなど) を远加できたす。 ~/.openclaw/agents/<agentId>/agent/models.json を曞くか、 models.providers の䞋にある OpenClaw蚭定内で同じスキヌマを定矩するこずによっお。 プロバむダごずのプロバむダの抂芁 + 䟋: /concepts/model-providers

Gateway は、UI ゚ディタヌ向けに蚭定の JSON Schema 衚珟を config.schema 経由で公開したす。
Control UI はこのスキヌマからフォヌムを生成し、゚スケヌプハッチずしお Raw JSON ゚ディタヌを提䟛したす。

  • デフォルトの動䜜: マヌゞ (既存のプロバむダを保持し、名前を䞊曞きしたす)
  • models.mode: "replace"を蚭定しおファむルの内容を䞊曞きする

agents.defaults.model.primary (provider/model) でモデルを遞択したす。

33. {
  agents: {
    defaults: {
      model: { primary: "custom-proxy/llama-3.1-8b" },
      models: {
        "custom-proxy/llama-3.1-8b": {},
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      "custom-proxy": {
        baseUrl: "http://localhost:4000/v1",
        apiKey: "LITELLM_KEY",
        api: "openai-completions",
        models: [
          {
            id: "llama-3.1-8b",
            name: "Llama 3.1 8B",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 32000,
          },
        ],
      },
    },
  },
}

OpenCode Zen (マルチモデル プロキシ)¶

OpenCode Zenは、モデルごずの゚ンドポむントを備えたマルチモデルゲヌトりェむです。 34. OpenClaw は pi-ai の組み蟌み opencode プロバむダヌを䜿甚したす。https://opencode.ai/auth から OPENCODE_API_KEYたたは OPENCODE_ZEN_API_KEYを蚭定しおください。

パラメヌタ

  • model refs は opencode/<modelId> を䜿甚したす(䟋: opencode/claude-opus-4-6)。
  • agents.defaults.models で蚱可リストを有効にする堎合は、䜿甚予定の各モデルを远加したす。
  • ショヌトカット: openclawオン --auth-choice opencode-zen。
35. {
  agents: {
    defaults: {
      model: { primary: "opencode/claude-opus-4-6" },
      models: { "opencode/claude-opus-4-6": { alias: "Opus" } },
    },
  },
}

Z.AI (GLM-4.7) — プロバむダ゚むリアスのサポヌト¶

Z.AI モデルは、組み蟌みの zai プロバむダヌ経由で利甚できたす。 環境で ZAI_API_KEY を蚭定し、プロバむダ/モデルでモデルを参照したす。

ショヌトカット: openclawon --auth-choice zai-api-key

{
  agents: {
    defaults: {
      model: { primary: "zai/glm-4.7" },
      models: { "zai/glm-4.7": {} },
    },
  },
}

ネストされたむンクルヌド

  • z.ai/* ず z-ai/* ぱむリアスずしお受け入れられ、zai/* に正芏化されたす。
  • ZAI_API_KEY が芋぀からない堎合、 zai/* ぞのリク゚ストは実行時に認蚌゚ラヌで倱敗したす。
  • 䟋゚ラヌ: プロバむダヌ "zai" の API キヌが芋぀かりたせん。
  • Z.AI の䞀般的な API ゚ンドポむントは https://api.z.ai/api/paas/v4 です。 GLMコヌディング リク゚ストは専甚のコヌディング゚ンドポむント https://api.zai/api/coding/paas/v4 を䜿甚したす。 組み蟌みの zai プロバむダはコヌディング゚ンドポむントを䜿甚したす。 䞀般的な ゚ンドポむントが必芁な堎合は、ベヌス URL をオヌバヌラむドする models.providers のカスタムプロバむダを定矩したす (䞊のカスタムプロバむダセクションを参照しおください)。
  • docs/configsで停のプレヌスホルダを䜿甚しおください。実際のAPIキヌはコミットしないでください。

Moonshot AIKimi¶

Moonshot の OpenAI 互換゚ンドポむントを䜿甚:

36. {
  env: { MOONSHOT_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "moonshot/kimi-k2.5" },
      models: { "moonshot/kimi-k2.5": { alias: "Kimi K2.5" } },
    },
  },
  models: {
    mode: "merge",
    providers: {
      moonshot: {
        baseUrl: "https://api.moonshot.ai/v1",
        apiKey: "${MOONSHOT_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "kimi-k2.5",
            name: "Kimi K2.5",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

配列は眮換

  • 環境で MOONSHOT_API_KEY を蚭定するか、openclawオン --auth-choice moonshot-api-key を䜿甚したす。
  • Model ref: moonshot/kimi-k2.5
  • 䞭囜の゚ンドポむントのいずれか:
  • openclawオン --auth-choice moonshot-api-key-cn を実行したす (りィザヌドはhttps://api.moonshot.cn/v1を蚭定したす)。
  • models.providers.moonshot に baseUrl: "https://api.moonshot.cn/v1" を手動で蚭定したす。

Kimi Coding¶

Moonshot AIのキミコヌディング゚ンドポむントを䜿甚アントロピヌ互換、組み蟌みプロバむダヌ

{
  env: { KIMI_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "kimi-coding/k2p5" },
      models: { "kimi-coding/k2p5": { alias: "Kimi K2.5" } },
    },
  },
}

泚蚘

  • 環境で KIMI_API_KEY を蚭定するか、openclawオン --auth-choice kimi-code-api-key を䜿甚したす。
  • Model ref: kimi-coding/k2p5

合成Anthropic互換¶

SyntheticのAnthropic互換゚ンドポむントを䜿甚しおください:

{
  env: { SYNTHETIC_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.1" },
      models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.1": { alias: "MiniMax M2.1" } },
    },
  },
  models: {
    mode: "merge",
    providers: {
      synthetic: {
        baseUrl: "https://api.synthetic.new/anthropic",
        apiKey: "${SYNTHETIC_API_KEY}",
        api: "anthropic-messages",
        models: [
          {
            id: "hf:MiniMaxAI/MiniMax-M2.1",
            name: "MiniMax M2.1",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 192000,
            maxTokens: 65536,
          },
        ],
      },
    },
  },
}

gpt-5.2-chat-latest

  • SYNTHETIC_API_KEY を蚭定するか、 openclawオン --auth-choice synthetic-api-key を䜿甚しおください。
  • Model ref: synthetic/hf:MiniMaxAI/MiniMax-M2.1
  • Anthropic クラむアントが远加するため、Base URL は /v1 を省略しおください。

ロヌカルモデル (LMスタゞオ) — 掚奚蚭定¶

珟圚のロヌカルガむダンスに぀いおは、/gateway/local-models を参照しおください。 TL;DR: LM Studio Responses API を介しお MiniMax M2.1 を深刻なハヌドりェア䞊で実行し、ホストされたモデルをフォヌルバックのためにマヌゞし続けたす。

MiniMax M2.1¶

LMスタゞオなしでMiniMax M2.1を盎接䜿甚:

37. {
  agent: {
    model: { primary: "minimax/MiniMax-M2.1" },
    models: {
      "anthropic/claude-opus-4-6": { alias: "Opus" },
      "minimax/MiniMax-M2.1": { alias: "Minimax" },
    },
  },
  models: {
    mode: "merge",
    providers: {
      minimax: {
        baseUrl: "https://api.minimax.io/anthropic",
        apiKey: "${MINIMAX_API_KEY}",
        api: "anthropic-messages",
        models: [
          {
            id: "MiniMax-M2.1",
            name: "MiniMax M2.1",
            reasoning: false,
            input: ["text"],
            // Pricing: update in models.json if you need exact cost tracking.
            cost: { input: 15, output: 60, cacheRead: 2, cacheWrite: 10 },
            contextWindow: 200000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

䞊曞き

  • MINIMAX_API_KEY環境倉数を蚭定するか、openclawオン --auth-choice minimax-apiを䜿甚しおください。
  • 利甚可胜なモデル: MiniMax-M2.1 (デフォルト)。
  • 正確なコストトラッキングが必芁な堎合は、 models.json で䟡栌を曎新しおください。

Cerebras (GLM 4.6 / 4.7)¶

OpenAI察応゚ンドポむント経由でCerebraを䜿甚:

38. {
  env: { CEREBRAS_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: {
        primary: "cerebras/zai-glm-4.7",
        fallbacks: ["cerebras/zai-glm-4.6"],
      },
      models: {
        "cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" },
        "cerebras/zai-glm-4.6": { alias: "GLM 4.6 (Cerebras)" },
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      cerebras: {
        baseUrl: "https://api.cerebras.ai/v1",
        apiKey: "${CEREBRAS_API_KEY}",
        api: "openai-completions",
        models: [
          { id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" },
          { id: "zai-glm-4.6", name: "GLM 4.6 (Cerebras)" },
        ],
      },
    },
  },
}

config.apply を䜿甚するず、蚭定党䜓を怜蚌・曞き蟌みし、1 ステップで Gateway を再起動できたす。
再起動センチネルを曞き蟌み、Gateway 埩垰埌に最埌にアクティブだったセッションぞ ping を送信したす。

  • Cerebrasには倧脳/zai-glm-4.7を䜿甚したす。Z.AIダむレクトにはzai/glm-4.7を䜿甚したす。
  • 環境たたは config で CEREBRAS_API_KEY を蚭定したす。

蚭定内でむンラむン環境倉数を指定するこずもできたす。これらは、プロセス環境にキヌが存圚しない堎合にのみ適甚されたす同じく䞊曞きしたせん。

  • サポヌトされおいるAPI: openai-completions 、 openai-responses 、 anthropic-messages 、 google-generative-ai
  • カスタム認蚌には、 authHeader: true + headers を䜿甚したす。
  • 譊告config.apply は 蚭定党䜓 を眮き換えたす。
    䞀郚のキヌのみを倉曎したい堎合は、config.patch たたは openclaw config set を䜿甚しおください。
    ~/.openclaw/openclaw.json のバックアップを保持しおください。

セッション¶

セッションスコヌプ、リセットポリシヌ、リセットトリガヌ、およびセッションストアが曞き蟌たれる堎所を制埡したす。

{
  session: {
    scope: "per-sender",
    dmScope: "main",
    identityLinks: {
      alice: ["telegram:123456789", "discord:987654321012345678"],
    },
    reset: {
      mode: "daily",
      atHour: 4,
      idleMinutes: 60,
    },
    resetByType: {
      thread: { mode: "daily", atHour: 4 },
      direct: { mode: "idle", idleMinutes: 240 },
      group: { mode: "idle", idleMinutes: 120 },
    },
    resetTriggers: ["/new", "/reset"],
    // 既定では ~/.openclaw/agents/<agentId>/sessions/sessions.json の゚ヌゞェント単䜍
    // {agentId} テンプレヌトで䞊曞きできたす:
    store: "~/.openclaw/agents/{agentId}/sessions/sessions.json",
    // ダむレクトチャットは agent:<agentId>:<mainKey> に集玄されたす既定: "main"。
    mainKey: "main",
    agentToAgent: {
      // リク゚スタヌタヌゲット間の最倧ピンポン返信タヌン数0–5。
      maxPingPongTurns: 5,
    },
    sendPolicy: {
      rules: [{ action: "deny", match: { channel: "discord", chatType: "group" } }],
      default: "allow",
    },
  },
}

フィヌルド

  • mainKey: 盎接チャットバケットキヌ (デフォルト: "main")。 agentIdを倉曎せずにプラむマリDMスレッドを「名前を倉曎」したい堎合に䟿利です。
  • Sandbox note: agents.defaults.sandbox.mode: "non-main" はこのキヌを䜿甚しおメむンセッションを怜出したす。 mainKey (groups/channels) ず䞀臎しないセッションキヌはすべおサンドボックス化されおいたす。
  • dmScope: DM セッションがグルヌプ化される方法 (デフォルト: "main")。
  • main: すべおのDMが継続性のためのメむンセッションを共有したす。
  • per-peer: チャンネル間の送信者IDでDMを分離したす。
  • per-channel-peer: チャンネルごずのDMず送信者を分離したす(マルチナヌザヌ受信ボックスに掚奚)。
  • per-account-channel-peer: アカりント+チャンネル+送信者あたりのDMを隔離したす (マルチアカりント受信ボックスに掚奚)。
  • セキュアDMモヌド(掚奚): session.dmScope: "per-channel-peer" を蚭定したす。耇数の人がBot共有むンボックス、マルチ個人蚱可リスト、たたはdmPolicy: "open"をDMできるようにしたす。
  • identityLinks: per-peer 、 per-channel-peer 、 per-channel-peer 、 per-account-channel-peer を䜿甚するず、同じ人がチャンネル間でDMセッションを共有するようにしたす。
  • 䟋: alice: ["telegram:123456789", "discord:987654321012345678"] 。
  • reset: primary reset policy ゲヌトりェむホストのロヌカル時間午前4時に、デフォルトでは毎日リセットされたす。
  • mode: daily たたは idle (デフォルト: reset が存圚する堎合はdaily )。
  • atHour: 毎日のリセット境界の ロヌカル時間 (0-23) 。
  • idleMinutes: アむドルりィンドりを分単䜍でスラむドする 毎日+アむドルが蚭定されおいる堎合、いずれかの方が最初の勝利に倱効したす。
  • resetByType: direct、group、thread ごずのセッション単䜍の䞊曞き。 レガシヌの dm キヌは direct の゚むリアスずしお受け付けられたす。
  • レガシヌの session.idleMinutes をreset/resetByTypeを蚭定しない堎合、埌方互換性のためにOpenClawはアむドルのみのモヌドに留たりたす。
  • heartbeatIdleMinutes: ハヌトビヌトチェックのアむドルオヌバヌラむドオプション有効にするずデむリヌリセットが適甚されたす。
  • agentToAgent.maxPingPongTurns: requester/target (0–5, default 5) の間で最倧応答が返されたす。
  • sendPolicy.default: ルヌルが䞀臎しない堎合、allow たたは deny フォヌルバック。
  • sendPolicy.rules[]: channel, chatType (direct|group|room), or keyPrefix (䟋: cron:). 最初の拒吊が勝利したす; そうでなければ蚱可したす。

skills (skillsconfig)¶

  1. バンドルされた蚱可リスト、むンストヌル蚭定、远加のスキルフォルダヌ、およびスキルごずの䞊曞きを制埡したす。 バンドルスキルず~/.openclaw/skillsに適甚されたすワヌクスペヌススキル は名前の競合で勝利したす。

フィヌルド

  • allowBundled同梱 skills のみを察象ずした任意の蚱可リスト。蚭定されおいる堎合、リスト内の同梱 skills のみが有効になりたすマネヌゞドワヌクスペヌス skills には圱響したせん。 蚭定されおいる堎合、 バンドルされたスキルのみが察象ずなりたす(管理スキル/ワヌクスペヌススキルは圱響を受けたせん)。
  • load.extraDirs: スキャン察象ずする远加の Skill ディレクトリ優先床は最も䜎い。
  • install.preferBrew: 利甚可胜な堎合に brew むンストヌラヌを優先したすデフォルト: true。
  • install.nodeManager: node installer preference(npm | pnpm | yarn, default: npm).
  • entries.<skillKey>: スキルごずの蚭定が䞊曞きされたす。

Skill ごずのフィヌルド:

  • enabled: false を蚭定するず、同梱むンストヌル枈みであっおも Skill を無効化したす。
  • env: ゚ヌゞェント実行時に泚入される環境倉数未蚭定の堎合のみ。
  • apiKey: プラむマリenvを宣蚀するスキルのオプションの利䟿性䟋: nano-banana-pro → GEMINI_API_KEY。

䟋

{
  skills: {
    allowBundled: ["gemini", "peekaboo"],
    load: {
      extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
    },
    install: {
      preferBrew: true,
      nodeManager: "npm",
    },
    entries: {
      "nano-banana-pro": {
        apiKey: "GEMINI_KEY_HERE",
        env: {
          GEMINI_API_KEY: "GEMINI_KEY_HERE",
        },
      },
      peekaboo: { enabled: true },
      sag: { enabled: false },
    },
  },
}

plugins (extensions)¶

プラグむンの怜出、蚱可/拒吊、およびプラグむンごずの蚭定を制埡したす。 プラグむンは ~/.openclaw/extensions から 読み蟌たれたす。<workspace>/.openclaw/extensions に加えお、 plugins.load.paths ゚ントリがありたす。 蚭定の倉曎にはゲヌトりェむの再起動が必芁です。 完党に䜿甚するには /plugin を参照しおください。

フィヌルド

  • enabled: プラグむンの読み蟌みをマスタヌ切り替えたす (デフォルト: true)。
  • allow: オプションのプラグむンIDのallowlist; 蚭定された堎合、リストされたプラグむンのみがロヌドされたす。
  • deny: オプションのプラグむンIDのdenylist(denylist)です。
  • load.paths: 远加のプラグむンファむルたたはロヌドするディレクトリ (absolute たたは ~) 。
  • entries.<pluginId>: プラグむンごずのオヌバヌラむド。
  • enabled: falseを無効にしたす。
  • config: プラグむン固有の蚭定オブゞェクト (指定された堎合、プラグむンによっお怜蚌されたす)。

環境倉数 + .env

{
  plugins: {
    enabled: true,
    allow: ["voice-call"],
    load: {
      paths: ["~/Projects/oss/voice-call-extension"],
    },
    entries: {
      "voice-call": {
        enabled: true,
        config: {
          provider: "twilio",
        },
      },
    },
  },
}

browser (openclaw-managed browser)¶

OpenClawはオヌプンクロヌのための専甚の、分離された Chrome/Brave/Edge/Chromiumむンスタンスを開始し、小さなルヌプバック制埡サヌビスを公開するこずができたす。 プロファむルは、profilesプロファむルを介しお**リモヌト** Chromiumベヌスのブラりザを指すこずができたす。<name>.cdpUrl。 リモヌト プロファむルはアタッチのみのプロファむルです開始/停止/リセットは無効です。

browser.cdpUrl は、レガシヌ単䞀プロファむルの蚭定で、cdpPortのみを蚭定するプロファむルのベヌス スキヌム/ホストずしお残りたす。

既定

  • 有効: true
  • evaluateEnabled: true (falseを蚭定するずact:evaluateずwait --fn)
  • 制埡サヌビス: loopback only (gateway.portから掟生したポヌト, デフォルト 18791)
  • CDP URL: http://127.0.0.1:18792 (制埡サヌビス + 1、レガシヌシングルプロファむル)
  • profile color: #FF4500 (lobster-orange)
  • 泚意: 制埡サヌバは実行䞭のゲヌトりェむ (OpenClaw.app menubar、たたは openclawゲヌトりェむ) によっお起動されたす。
  • 自動怜出: Chromium ベヌスの堎合は既定のブラりザ; そうでない堎合は Chrome → Brave → Edge → Chromium → Chrome Canary 。
{
  browser: {
    enabled: true,
    evaluateEnabled: true,
    // cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
    defaultProfile: "chrome",
    profiles: {
      openclaw: { cdpPort: 18800, color: "#FF4500" },
      work: { cdpPort: 18801, color: "#0066CC" },
      remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },
    },
    color: "#FF4500",
    // Advanced:
    // headless: false,
    // noSandbox: false,
    // executablePath: "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser",
    // attachOnly: false, // set true when tunneling a remote CDP to localhost
  },
}

ui倖芳¶

UIクロムのネむティブアプリで䜿甚される任意のアクセントカラヌ(䟋:トヌクモヌドバブルの色)。

未蚭定の堎合、クラむアントはミュヌトされたラむトブルヌに戻りたす。

{
  ui: {
    seamColor: "#FF4500", // hex (RRGGBB or #RRGGBB)
    // Optional: Control UI assistant identity override.
    // If unset, the Control UI uses the active agent identity (config or IDENTITY.md).
    assistant: {
      name: "OpenClaw",
      avatar: "CB", // emoji, short text, or image URL/data URI
    },
  },
}

gateway (ゲヌトりェむサヌバヌモヌド + bind)¶

このマシンがGatewayを実行するかどうかを明瀺的に宣蚀するには、 gateway.mode を䜿甚したす。

既定

  • モヌド: unset (「自動起動しない」ずしお扱われたす)
  • bind: loopback
  • port: 18789 (WS + HTTPの単䞀ポヌト)
{
  gateway: {
    mode: "local", // or "remote"
    port: 18789, // WS + HTTP multiplex
    bind: "loopback",
    // controlUi: { enabled: true, basePath: "/openclaw" }
    // auth: { mode: "token", token: "your-token" } // token gates WS + Control UI access
    // tailscale: { mode: "off" | "serve" | "funnel" }
  },
}

UIベヌスパスの制埡:

  • gateway.controlUi.basePath は、Control UI が提䟛されるURLプレフィックスを蚭定したす。
  • 䟋: "/ui", "/openclaw", "/apps/openclaw".
  • デフォルト: root (/) (倉曎なし)。
  • gateway.controlUi.root は Control UI アセットのファむルシステムルヌトを蚭定したす (デフォルト: dist/control-ui)。
  • gateway.controlUi.allowInsecureAuth は、 デバむスIDが省略されたずき(通垞は HTTP 侊)に制埡UIのトヌクン専甚の認蚌を蚱可したす。 デフォルト: false HTTPS (Tailscale Serve) たたは 127.0.0.1 を優先したす。
  • gateway.controlUi.dangerouslyDisableDeviceAuth は Control UI (トヌクン/パスワヌドのみ) のデバむス識別チェックを無効にしたす。 デフォルト: false ブレむクグラスのみ

関連ドキュメント

信頌されたプロキシ:

  • gateway.trustedProxies: ゲヌトりェむの前で TLS を終了させるリバヌスプロキシ IP のリスト。
  • これらのIPのいずれかから接続される堎合 OpenClawはx-forwarded-for(たたはx-real-ip)を䜿甚しお、ロヌカルペアリングチェックずHTTP認蚌/ロヌカルチェックのクラむアントIPを決定したす。
  • プロキシのみを完党に制埡し、x-forwarded-for の着信を䞊曞きしおください。

環境倉数での指定

  • gateway.mode が local に蚭定されおいない限り、 openclawゲヌトりェむ は起動を拒吊したす(たたはオヌバヌラむドフラグを枡したす)。
  • gateway.port は、WebSocket + HTTP (制埡UI、フック、A2UI)に䜿甚される単䞀の倚重化ポヌトを制埡したす。
  • OpenAI チャット完了゚ンドポむント: デフォルトで無効; gateway.http.endpoints.chatCompletions.enabled: true で有効にしたす。
  • 前提: --port > OPENCLAW_GATEWAY_PORT > gateway.port > デフォルトの 18789 。
  • ゲヌトりェむ認蚌はデフォルトで必芁です(token/password たたは Tailscale Serve ID)。 非ルヌプバックバむンディングには共有トヌクン/パスワヌドが必芁です。
  • オンボヌディング りィザヌドは、(ルヌプバック時でも) デフォルトでゲヌトりェむ トヌクンを生成したす。
  • gateway.remote.tokenは、リモヌトCLI呌び出しに察しおのみ**です。ロヌカルゲヌトりェむ認蚌を有効にしたせん。 gateway.token は無芖されたす。

認蚌ずテヌルスケヌル:

  • gateway.auth.mode はハンドシェむク芁件 (token たたは password) を蚭定したす。 未蚭定の堎合、トヌクン認蚌は仮定されたす。
  • gateway.auth.token にはトヌクン認蚌甚の共有トヌクンが栌玍されおいたす (CLIによっお同じマシン䞊で䜿甚されたす)。
  • gateway.auth.mode が蚭定されおいる堎合は、そのメ゜ッドのみが受け付けられたす (オプションの Tailscale ヘッダヌを加えおください)。
  • gateway.auth.password はここに蚭定するか、 OPENCLAW_GATEWAY_PASSWORD 掚奚 を介しお蚭定できたす。
  • gateway.auth.allowTailscale は、リク゚ストがルヌプバックに到達し、x-forwarded-for、x-forwarded-proto、x-forwarded-host が付䞎されおいる堎合に、Tailscale Serve の ID ヘッダヌtailscale-user-loginを認蚌ずしお満たすこずを蚱可したす。 OpenClaw は、 tailscale whois を介しお x-forwarded-for アドレスを解決しお身元を確認したす。 true の堎合、Serve リク゚ストにはトヌクンパスワヌドは䞍芁です。明瀺的な資栌情報を芁求するには false に蚭定しおください。 デフォルトは true で、tailscale.mode = "serve" ず auth モヌドが password ではありたせん。
  • gateway.tailscale.mode: "serve" は Tailscale Serve (tailnet only loopback bind) を䜿甚したす。
  • gateway.tailscale.mode: "funnel" はダッシュボヌドを公開したす。auth が必芁です。
  • gateway.tailscale.resetOnExit シャットダりン時にServe/Funnel蚭定をリセットしたす。

リモヌトクラむアントのデフォルト (CLI):

  • gateway.remote.url は、gateway.mode = "remote"のずきにCLIコヌルのデフォルトのゲヌトりェむWebSocket URLを蚭定したす。
  • gateway.remote.transport はmacOSのリモヌトトランスポヌトを遞択したす (ssh デフォルト、 direct for ws/ws)。 direct の堎合、 gateway.remote.url は ws:// たたは wss:// でなければなりたせん。 ws://host のデフォルトは 18789 です。
  • gateway.remote.token は、リモヌト呌び出しのトヌクンを提䟛したす (認蚌なしで unset のたたにしたす)。
  • gateway.remote.password はリモヌト呌び出しのパスワヌドを提䟛したす (認蚌なしで未蚭定のたたにしおください)。

macOS アプリの動䜜:

  • OpenClaw.app は ~/.openclaw/openclaw.json を監芖し、gateway.mode たたは gateway.remote.url が倉曎されたずきにスむッチモヌドが動䜜したす。
  • gateway.mode が unset されおいお、 gateway.remote.url が蚭定されおいる堎合、macOS アプリはリモヌトモヌドずしお扱いたす。
  • macOS アプリで接続モヌドを倉曎するず、gateway.mode (および gateway.remote.url + gateway.remote.transport )を蚭定ファむルに曞き戻したす。
{
  gateway: {
    mode: "remote",
    remote: {
      url: "ws://gateway.tailnet:18789",
      token: "your-token",
      password: "your-password",
    },
  },
}

ダむレクト転送の䟋 (macOS アプリ)

{
  gateway: {
    mode: "remote",
    remote: {
      transport: "direct",
      url: "wss://gateway.example.ts.net",
      token: "your-token",
    },
  },
}

gateway.reload (Config hot reload)¶

ゲヌトりェむは ~/.openclaw/openclaw.json (たたは OPENCLAW_CONFIG_PATH ) を監芖し、倉曎を自動的に適甚したす。

モヌド:

  • hybrid (default): ホット適甚の安党な倉曎。重芁な倉曎がある堎合はゲヌトりェむを再起動しおください。
  • hot: ホットセヌフな倉曎のみを適甚したす。再起動が必芁な堎合はログに蚘録したす。
  • restart: 蚭定倉曎時にゲヌトりェむを再起動したす。
  • off: ホットリロヌドを無効にする
{
  gateway: {
    reload: {
      mode: "hybrid",
      debounceMs: 300,
    },
  },
}

Hot reload matrix (files + impact)¶

芋られたファむル:

  • OpenClaw は、スキヌマに完党䞀臎する蚭定のみを受け付けたす。
    未知のキヌ、䞍正な型、無効な倀がある堎合、安党のため Gatewayゲヌトりェむは 起動を拒吊 したす。

ホット適甚 (完党なゲヌトりェむの再起動はありたせん):

  • hooks (webhook auth/path/mappings) + hooks.gmail (Gmail りォッチャヌを再起動)
  • browser (ブラりザ制埡サヌバの再起動)
  • cron (cronサヌビスの再起動+同時曎新)
  • agents.defaults.heartbeat (heartbeat runner restart)
  • web (WhatsApp Web チャンネル再起動)
  • telegram 、 discord 、 signal 、 imessage (チャネルの再起動)
  • agent, models, routing, messages, session, whatsapp, logging, skills, ui, talk, identity, wizard(dynamic reads)

完党なゲヌトりェむの再起動が必芁です:

  • gateway (port/bind/auth/control UI/tailscale)
  • bridge (レガシヌ)
  • 怜出
  • canvasHost
  • プラグむン
  • 任意の䞍明/サポヌトされおいない蚭定パスデフォルトでは安党のために再起動

耇数むンスタンスの単離性¶

耇数のゲヌトりェむを1぀のホスト(冗長性たたはレスキュヌボット)で実行するには、むンスタンスごずの状態 + 蚭定を分離し、䞀意のポヌトを䜿甚したす。

  • OPENCLAW_CONFIG_PATH (むンスタンス毎の蚭定)
  • OPENCLAW_STATE_DIR (sessions/creds)
  • agents.defaults.workspace (memores)
  • gateway.port (むンスタンス毎に䞀意)

䟿利フラグCLI

  • openclaw --dev 
 → ~/.openclaw-dev を䜿甚しおください + ベヌスの 19001 からポヌト
  • openclaw --profile <name> 
 → ~/.openclaw-<name> config/env/flags経由のポヌト

掟生したポヌトマッピング(ゲヌトりェむ/ブラりザヌ/キャンバス)に぀いおは、ゲヌトりェむランブックを参照しおください。 ブラりザヌ/CDPポヌトの分離の詳现に぀いおは、Multiple gatewaysを参照しおください。

openai

OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclawゲヌトりェむ ---port 19001

フック (Gateway webhooks)¶

ゲヌトりェむHTTPサヌバヌでシンプルなHTTPWebhook゚ンドポむントを有効にしたす。

既定

  • 有効: false
  • path: /hooks
  • maxBodyBytes: 262144 (256 KB)
{
  hooks: {
    enabled: true,
    token: "shared-secret",
    path: "/hooks",
    presets: ["gmail"],
    transformsDir: "~/.openclaw/hooks",
    mappings: [
      {
        match: { path: "gmail" },
        action: "agent",
        wakeMode: "now",
        name: "Gmail",
        sessionKey: "hook:gmail:{{messages[0].id}}",
        messageTemplate: "From: {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}",
        deliver: true,
        channel: "last",
        model: "openai/gpt-5.2-mini",
      },
    ],
  },
}

芁求にはフックトヌクンを含める必芁がありたす:

  • Authorization: Bearer <token> たたは **
  • x-openclaw-token: <token>

゚ンドポむント:

  • POST /hooks/wake → { text, mode?: "now"|"next-heartbeat" }
  • POST /hooks/agent → { message, name?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? } を返华
  • POST /hooks/<name> → hooks.mappings で解決

/hooks/agent は垞にサマリヌをメむンセッションに投皿したすオプションで、 wakeMode: "now"を介しおハヌトビヌトをトリガヌするこずもできたす。

マッピングノヌト:

  • match.path は /hooks の埌のサブパスにマッチしたす。(䟋: /hooks/gmail → gmail)。
  • match.source はペむロヌドフィヌルドに䞀臎したす(䟋: { source: "gmail" }) ので、䞀般的な /hooks/ingest パスを䜿甚できたす。
  • ペむロヌドから読み蟌んだ「{{messages[0].subject}}」のようなテンプレヌト。
  • transformはフックアクションを返すJS/TSモゞュヌルを指すこずができたす。
  • deliver: true は最終返信をチャンネルに送信したす。channel のデフォルトは last (WhatsAppに戻りたす) です。
  • 事前の配信ルヌトがない堎合は、 channel + to を明瀺的に蚭定しおください(Telegram/Discord/Google Chat/Slack/Signal/iMessage/MS Teamsには必須)。
  • model は、このフック実行のための LLM を䞊曞きしたすprovider/model たたは alias; agents.defaults.models が蚭定されおいる堎合は蚱可しなければなりたせん。

Gmailヘルパヌ蚭定 (openclaw webhooks gmail setup / runで䜿甚):

{
  hooks: {
    gmail: {
      account: "openclaw@gmail.com",
      topic: "projects/<project-id>/topics/gog-gmail-watch",
      subscription: "gog-gmail-watch-push",
      pushToken: "shared-push-token",
      hookUrl: "http://127.0.0.1:18789/hooks/gmail",
      includeBody: true,
      maxBytes: 20000,
      renewEveryMinutes: 720,
      serve: { bind: "127.0.0.1", port: 8788, path: "/" },
      tailscale: { mode: "funnel", path: "/gmail-pubsub" },

      // Optional: use a cheaper model for Gmail hook processing
      // Falls back to agents.defaults.model.fallbacks, then primary, on auth/rate-limit/timeout
      model: "openrouter/meta-llama/llama-3.3-70b-instruct:free",
      // Optional: default thinking level for Gmail hooks
      thinking: "off",
    },
  },
}

Gmail フックのモデルオヌバヌラむド:

  • hooks.gmail.model は Gmail フック凊理に䜿甚するモデルを指定したす (デフォルトは session primary です)。
  • agents.defaults.modelsからprovider/model参照たたぱむリアスを受け付けたす。
  • agents.defaults.model.fallbacksに戻り、agents.defaults.model.primary、auth/rate-limit/timeoutに戻りたす。
  • agents.defaults.models が蚭定されおいる堎合は、蚱可リストにフックモデルを含めたす。
  • 起動時に、蚭定されたモデルがモデル カタログたたは蚱可リストにない堎合に譊告したす。
  • hooks.gmail.thinking はGmailフックのデフォルトの思考レベルを蚭定し、フックあたりの思考`で䞊曞きされたす。

ゲヌトりェむの自動スタヌト:

  • hooks.enabled=true ず hooks.gmail.account が蚭定されおいる堎合、ゲヌトりェむは起動時に gog gmail watch serve を起動し、りォッチを自動的に曎新したす。
  • OPENCLAW_SKIP_GMAIL_WATCHER=1 を蚭定するず、自動起動を無効にしたす。
  • Gateway ず䞊行しお別の gog gmail watch serve を実行しないでください。listen tcp 127.0.0.1:8788: bind: address already in use で倱敗したす。

泚: tailscale.mode が有効な堎合、OpenClaw は Tailscale が /gmail-pubsub を正しくプロキシできるよう、serve.path の既定倀を / に蚭定したす蚭定されたパスプレフィックスは削陀されたす。 接頭蟞付きパスを受け取るバック゚ンドが必芁な堎合は、 hooks.gmail.tailscale.target にフルURLを蚭定しおください (serve.pathを敎列させたす)。

canvasHost (LAN/tailnet Canvas ファむルサヌバヌ + ラむブリロヌド)¶

GatewayはHTTP経由でHTML/CSS/JSのディレクトリを提䟛するため、iOS/Androidノヌドは単にcanvas.navigateを䜿甚できたす。

デフォルトのルヌト: ~/ 。 penclaw/workspace/canvas
デフォルトポヌト: 18793 (openclawブラりザのCDPポヌト18792を避けるために遞択)
サヌバヌはノヌドが到達できるように、ゲヌトりェむバむンドホスト (LANたたはTailnet) 䞊でリッスンしたす。

サヌバヌ:

  • canvasHost.root の䞋にあるファむルを提䟛したす
  • 送信枈みの HTML に小さなラむブリロヌドクラむアントを泚入したす
  • ディレクトリを監芖し、/__openclaw__/wsでWebSocket゚ンドポむントを再ロヌドしたす。
  • ディレクトリが空の堎合はスタヌタヌindex.htmlを自動的に䜜成したすすぐに䜕かが衚瀺されるようになりたす
  • /__openclaw__/a2ui/でもA2UIを提䟛し、ノヌドにcanvasHostUrl (Canvas/A2UIのノヌドで垞に䜿甚) ずしお宣䌝されたす。

ディレクトリが倧きい堎合、たたはEMFILEを抌しおください:

  • config: canvasHost: { liveReload: false }
{
  canvasHost: {
    root: "~/.openclaw/workspace/canvas",
    port: 18793,
    liveReload: true,
  },
}

canvasHost.* ぞの倉曎にはゲヌトりェむの再起動が必芁です蚭定の再読み蟌みは再起動されたす。

無効化するには

  • config: canvasHost: { enabled: false }
  • env: OPENCLAW_SKIP_CANVAS_HOST=1

bridge (レガシヌTCPブリッゞ、削陀)¶

珟圚のビルドには TCP ブリッゞリスナヌが含たれなくなりたした。bridge.* 蚭定キヌは無芖されたす。 ノヌドはゲヌトりェむWebSocketに接続したす。 この項目は歎史的参考ずしお残されおいる。

埓来の動䜜:

  • ゲヌトりェむはノヌド(iOS/Android)の簡単なTCPブリッゞ(通垞はポヌト18790)を公開するこずができたす。

既定

  • 有効: true
  • ポヌト: 18790
  • bind: lan (0.0.0.0にバむンド)

Bind modes:

  • lan: 0.0.0.0 (LAN/Wi-Fiやテヌルスケヌルを含む任意のむンタヌフェヌスに到達可胜)
  • tailnet: マシンの Tailscale IP にのみバむンドするりィヌン Londonに掚奚
  • loopback: 127.0.0.1 (ロヌカルのみ)
  • auto: tailnet IP があれば, else lan

TLS:

  • bridge.tls.enabled: ブリッゞ接続 (有効な堎合は TLS のみ) の TLS を有効にしたす。
  • bridge.tls.autoGenerate: 蚌明曞/キヌが存圚しないずきに自己眲名蚌明曞を生成したす (デフォルト: true)。
  • bridge.tls.certPath / bridge.tls.keyPath: PEM paths for the bridge certificate + private key.
  • bridge.tls.caPath: オプションの PEM CA バンドル (カスタムルヌツたたは future mTLS) 。

TLS が有効な堎合、Gateway は怜出甚 TXT レコヌドに bridgeTls=1 ず bridgeTlsSha256 を広告し、ノヌドが蚌明曞をピン留めできるようにしたす。 手動接続では、 フィンガヌプリントがただ保存されおいない堎合、trust-on-first-useを䜿甚したす。 自動生成された蚌明曞はPATH䞊でopensslを必芁ずしたす。生成に倱敗した堎合、ブリッゞは起動したせん。

{
  bridge: {
    enabled: true,
    port: 18790,
    bind: "tailnet",
    tls: {
      enabled: true,
      // Uses ~/.openclaw/bridge/tls/bridge-{cert,key}.pem when omitted.
      // certPath: "~/.openclaw/bridge/tls/bridge-cert.pem",
      // keyPath: "~/.openclaw/bridge/tls/bridge-key.pem"
    },
  },
}

discovery.mdns (Bonjour / mDNS ブロヌドキャストモヌド)¶

LAN mDNS ディスカバリブロヌドキャストを制埡したす (_openclaw-gw._tcp)。

  • minimal (デフォルト): TXTレコヌドから cliPath + sshPort を省略したす
  • full: TXTレコヌドにcliPath + sshPort を含む
  • off: mDNS ブロヌドキャストを完党に無効にする
  • ホスト名: デフォルトは openclaw (openclaw.localを宣䌝したす)。 OPENCLAW_MDNS_HOSTNAME で䞊曞きしたす。
{
  discovery: { mdns: { mode: "minimal" } },
}

discovery.wideArea (ワむド-Area Bonjour / ナニキャストDNS‐SD)¶

有効にするず、ゲヌトりェむは蚭定されたディスカバリドメむンを䜿甚しお、~/.openclaw/dns/の䞋の_openclaw-gw._tcpにナニキャストDNS-SDゟヌンを曞き蟌みたす(䟋: openclaw.internal.)。

iOS/Androidをネットワヌク(Vienna London)間で発芋するには、以䞋をペアリングしおください

  • 遞択したドメむンを提䟛するゲヌトりェむホスト䞊の DNS サヌバヌ (CoreDNS を掚奚)
  • クラむアントがゲヌトりェむDNSサヌバヌを介しおそのドメむンを解決するために、Tailscale split DNS

ワンタむムセットアップヘルパヌ (ゲヌトりェむホスト):

openclaw dns setup --apply
{
  discovery: { wideArea: { enabled: true } },
}

メディアモデルテンプレヌト倉数¶

テンプレヌトプレヌスホルダは、 tools.media.*.models[].args ず tools.media.models[].args (および将来テンプレヌトされた匕数フィヌルド)で展開されたす。

Variable 説明
{{Body}} 受信メッセヌゞ本文の党文
{{RawBody}} 生の受信メッセヌゞ本文履歎送信者ラッパヌなし。コマンド解析に最適
{{BodyStripped}} グルヌプメンションを陀去した本文゚ヌゞェントの既定に最適
{{From}} 送信者識別子WhatsApp では E.164。チャネルにより異なる堎合あり
{{To}} 宛先識別子
{{MessageSid}} チャネルのメッセヌゞ ID利甚可胜な堎合
{{SessionId}} 珟圚のセッション UUID
{{IsNewSession}} 新しいセッションが䜜成された堎合は "true"
{{MediaUrl}} 受信メディアの疑䌌 URL存圚する堎合
{{MediaPath}} ロヌカルのメディアパスダりンロヌドされた堎合
{{MediaType}} メディア皮別image/audio/document/  {{Transcript}} 音声文字起こし有効時
{{Prompt}} CLI ゚ントリ向けに解決されたメディアプロンプト
{{MaxChars}} CLI ゚ントリ向けに解決された最倧出力文字数
{{ChatType}} "direct" たたは "group"
{{GroupSubject}} グルヌプの件名ベスト゚フォヌト
{{GroupMembers}} グルヌプメンバヌのプレビュヌベスト゚フォヌト
{{SenderName}} 送信者の衚瀺名ベスト゚フォヌト
{{SenderE164}} 送信者の電話番号ベスト゚フォヌト
{{Provider}} プロバむダのヒントwhatsapp telegram discord googlechat slack signal imessage msteams webchat  

Cron (ゲヌトりェむスケゞュヌラ)¶

Cronは、りェむクアップずスケゞュヌルされたゞョブのためのゲヌトりェむ所有のスケゞュヌラです。 機胜の抂芁ず CLI の䟋に぀いおは Cron jobs を参照しおください。

{
  cron: {
    enabled: true,
    maxConcurrentRuns: 2,
  },
}

次ぞAgent Runtime 🊞