エージェントランタイム

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

ワークスペース(必須)

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

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

ワークスペースの完全なレイアウトとバックアップガイド: エージェントワークスペース

agents.defaults.sandbox が有効な場合、非メインセッションでは agents.defaults.sandbox.workspaceRoot 配下のセッション単位のワークスペースでオーバーライドできます(Gateway設定を参照)。

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

agents.defaults.workspace 内に、OpenClawが期待するユーザー編集可能なファイル:

  • AGENTS.md --- 動作指示+「メモリ」
  • SOUL.md --- ペルソナ、境界線、トーン
  • TOOLS.md --- ユーザー管理のツールメモ(例: imsgsag、慣例)
  • BOOTSTRAP.md --- 初回実行時の一度きりの儀式(完了後に削除)
  • IDENTITY.md --- エージェント名/雰囲気/絵文字
  • USER.md --- ユーザープロフィール+呼び方

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

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

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

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

ブートストラップファイルの作成を完全に無効にする場合(事前にシードされたワークスペース向け):

{ agent: { skipBootstrap: true } }

組み込みツール

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

スキル

OpenClawは3つの場所からスキルを読み込みます(名前の衝突時はワークスペースが優先):

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

スキルは設定/環境変数で制御できます(Gateway設定skillsを参照)。

pi-mono統合

OpenClawはpi-monoコードベースの一部(モデル/ツール)を再利用していますが、セッション管理、ディスカバリー、ツールの接続はOpenClawが管理しています。

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

セッション

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

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

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

ストリーミング中の操舵

キューモードがsteerの場合、受信メッセージは現在のランに注入されます。キューは各ツール呼び出しの後に確認され、キューにメッセージがある場合は現在のアシスタントメッセージの残りのツール呼び出しがスキップされ(「Skipped due to queued user message.」というエラーツール結果が返され)、キューに入っていたユーザーメッセージが次のアシスタント応答の前に注入されます。

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

ブロックストリーミングは完了したアシスタントブロックを即座に送信します。デフォルトではオフです(agents.defaults.blockStreamingDefault: "off")。 境界の調整は agents.defaults.blockStreamingBreaktext_end vs message_end、デフォルトはtext_end)で行います。 ソフトブロックチャンキングは agents.defaults.blockStreamingChunk(デフォルト800-1200文字、段落区切りを優先、次に改行、文単位は最終手段)で制御します。 agents.defaults.blockStreamingCoalesce でストリーミングチャンクを統合し、単一行のスパムを削減できます(アイドルベースのマージで送信前に処理)。非Telegramチャネルでブロック応答を有効にするには、明示的に *.blockStreaming: true を設定する必要があります。 Verboseツールサマリーはツール開始時に発行されます(デバウンスなし)。Control UIはエージェントイベントが利用可能な場合、それを通じてツール出力をストリーミングします。 詳細: Streaming + chunking

モデル参照

設定内のモデル参照(例: agents.defaults.modelagents.defaults.models)は最初の / で分割してパースされます。

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

設定(最小構成)

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

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

次: Group Chats