Agent Runtime(エージェントランタイム)🤖

OpenClaw は p-mono から派生した単一の埋め込みエージェントランタイムを実行します。

Workspace(ワークスペース)(必須)

OpenClaw は、単一のエージェントワークスペースディレクトリ(agents.defaults.workspace)を、ツールとコンテキストのためのエージェントの唯一の作業ディレクトリ(cwd)として使用します。

推奨:openclaw setup を使用して、欠落している場合は ~/.openclaw/openclaw.json を作成し、ワークスペースファイルを初期化してください。

完全なワークスペースレイアウト + バックアップガイド:Agent workspace

agents.defaults.sandbox が有効な場合、メイン以外のセッションは、agents.defaults.sandbox.workspaceRoot の下のセッションごとのワークスペースでこれをオーバーライドできます(Gateway configuration を参照)。

Bootstrap files(ブートストラップファイル)(注入)

agents.defaults.workspace 内で、OpenClaw は次のユーザー編集可能ファイルを期待します:

  • AGENTS.md — 操作指示 + 「メモリ」
  • SOUL.md — ペルソナ、境界、トーン
  • TOOLS.md — ユーザーメンテナンスのツールメモ(例:imsgsag、規約)
  • BOOTSTRAP.md — 一度限りの初回実行儀式(完了後に削除)
  • IDENTITY.md — エージェント名/雰囲気/絵文字
  • USER.md — ユーザープロファイル + 好みの呼び方

新しいセッションの最初のターンで、OpenClaw はこれらのファイルの内容を直接エージェントコンテキストに注入します。

空白のファイルはスキップされます。大きなファイルはトリミングされ、プロンプトがスリムに保たれるようにマーカーで切り捨てられます(完全な内容についてはファイルを読んでください)。

ファイルが欠落している場合、OpenClaw は単一の「欠落ファイル」マーカー行を注入します(そして openclaw setup は安全なデフォルトテンプレートを作成します)。

BOOTSTRAP.md は、真新しいワークスペース(他のブートストラップファイルが存在しない)に対してのみ作成されます。儀式を完了した後に削除すると、後の再起動時に再作成されるべきではありません。

ブートストラップファイルの作成を完全に無効にするには(事前シードされたワークスペースの場合)、次のように設定します:

{ agent: { skipBootstrap: true } }

組み込みツール

コアツール(read/exec/edit/write および関連するシステムツール)は、ツールポリシー(tool policy)の対象となりますが、常に利用可能です。apply_patch はオプションであり、tools.exec.applyPatch によってゲートされています。TOOLS.md は、どのツールが存在するかを制御しません。それは、それらをどのように使用したいかについてのガイダンスです。

Skills(スキル)

OpenClaw は 3 つの場所からスキルをロードします(名前の衝突ではワークスペースが優先):

  • バンドル(インストールに同梱)
  • 管理/ローカル:~/.openclaw/skills
  • ワークスペース:<workspace>/skills

スキルは設定/環境によってゲートできます(Gateway configurationskills を参照)。

p-mono 統合

OpenClaw は p-mono コードベースの一部(models/tools)を再利用しますが、セッション管理、検出、ツール配線は OpenClaw が所有します

  • p-coding エージェントランタイムはありません。
  • ~/.pi/agent または <workspace>/.pi 設定は参照されません。

Sessions(セッション)

セッショントランスクリプトは JSONL として次の場所に保存されます:

  • ~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl

セッション ID は安定しており、OpenClaw によって選択されます。 レガシー Pi/Tau セッションフォルダは読み込まれません

ストリーミング中のステアリング

キューモード(queue mode)が steer の場合、受信メッセージは現在の実行に注入されます。キューは各ツール呼び出しの後にチェックされます。キューイングされたメッセージが存在する場合、現在の assistant メッセージからの残りのツール呼び出しはスキップされ(「Skipped due to queued user message.」というエラーツール結果)、次の assistant 応答の前にキューイングされたユーザーメッセージが注入されます。

キューモードが followup または collect の場合、受信メッセージは現在のターンが終了するまで保持され、その後、キューイングされたペイロードで新しいエージェントターンが開始されます。モード + デバウンス/キャップ動作については、Queue を参照してください。

ブロックストリーミング(block streaming)は、完了した assistant ブロックを終了次第送信します。デフォルトではオフです(agents.defaults.blockStreamingDefault: "off")。境界は agents.defaults.blockStreamingBreaktext_end vs message_end、デフォルトは text_end)で調整します。ソフトブロックチャンキング(soft block chunking)は agents.defaults.blockStreamingChunk(デフォルトは 800–1200 文字。段落区切り、次に改行を優先。文末を最後)で制御します。ストリームされたチャンクを agents.defaults.blockStreamingCoalesce で結合して、単一行のスパムを減らします(送信前のアイドルベースのマージ)。Telegram 以外のチャネルは、ブロック応答を有効にするために明示的に *.blockStreaming: true が必要です。Verbose ツールサマリーはツール開始時に発行されます(デバウンスなし)。Control UI はエージェントイベントが利用可能な場合にツール出力をストリームします。 詳細:Streaming + chunking

Model refs(モデル参照)

設定内のモデル参照(例:agents.defaults.model および agents.defaults.models)は、最初の / で分割して解析されます。

  • モデルを設定する際は provider/model を使用します。
  • モデル ID 自体に / が含まれている場合(OpenRouter スタイル)、プロバイダープレフィックスを含めてください(例:openrouter/moonshotai/kimi-k2)。
  • プロバイダーを省略した場合、OpenClaw は入力をエイリアスまたはデフォルトプロバイダーのモデルとして扱います(モデル ID に / が含まれていない場合のみ機能)。

Configuration(設定)(最小限)

最低限、次を設定してください:

  • agents.defaults.workspace
  • channels.whatsapp.allowFrom(強く推奨)

次:Group Chats 🦞