エージェント実行環境
エージェント実行環境(組み込み pi-mono)、ワークスペースの契約、セッションのブートストラップ。
OpenClaw は pi-mono から派生した単一の組み込みエージェント実行環境を実行します。
ワークスペース(必須)
OpenClaw は単一のエージェントワークスペースディレクトリ (''agents.defaults.workspace'') を、エージェントがツールとコンテキストに使用する''唯一の''作業ディレクトリ (''cwd'') として使用します。
提案:''~/.openclaw/openclaw.json'' がない場合は、''openclaw setup'' を使用してワークスペースファイルを作成・初期化します。
完全なワークスペースレイアウト + バックアップガイド:''エージェントワークスペース''
''agents.defaults.sandbox'' が有効な場合、メイン以外のセッションは以下で上書きできます:
''agents.defaults.sandbox.workspaceRoot'' の下のセッションごとのワークスペース(参照
''ゲートウェイ構成'')。
ブートストラップファイル(注入)
''agents.defaults.workspace'' 内部で、OpenClaw はこれらのユーザー編集可能なファイルを期待します:
- ''AGENTS.md'' — 操作指示 + "メモリ"
- ''SOUL.md'' — ペルソナ、境界、トーン
- ''TOOLS.md'' — ユーザーが維持するツールの注記(例:''imsg''、''sag''、規約)
- ''BOOTSTRAP.md'' — 一回限りの初回実行儀式(完了後に削除)
- ''IDENTITY.md'' — エージェント名/雰囲気/絵文字
- ''USER.md'' — ユーザープロファイル + 優先アドレス
新しいセッションの初回起動時、OpenClaw はこれらのファイルの内容をエージェントコンテキストに直接注入します。
空のファイルはスキップされます。大きなファイルはプロンプトをシンプルに保つためにマーカーでトリミング・切り捨てされます(完全なコンテンツはファイルを読んでください)。
ファイルが見つからない場合、OpenClaw は「ファイルが見つかりません」マーカー行を注入します(''openclaw setup'' は安全なデフォルトテンプレートを作成します)。
''BOOTSTRAP.md'' は''完全に新しいワークスペース''に対してのみ作成されます(他のブートストラップファイルが存在しません)。儀式の完了後に削除した場合、後の再起動時に再作成されるべきではありません。
ブートストラップファイルの作成を完全に無効にするには(事前にシードされたワークスペースの場合)、設定します:
{ agent: { skipBootstrap: true } }組み込みツール
コアツール(読み取り/実行/編集/書き込みおよび関連システムツール)は常に利用可能で、
ツールポリシーに従います。''apply_patch'' はオプションであり、
''tools.exec.applyPatch''. ''TOOLS.md'' does ''not'' control which tools exist; this is
それらをどのように使用したいかに関するガイダンスです。
スキル
OpenClaw は3つの場所からスキルをロードします(ワークスペースは名前の競合で勝ちます):
- バンドル(インストールに同梱)
- ホスト/ローカル:''~/.openclaw/skills''
- Workspace: ''<workspace>/skills''
スキルは config/env でゲートできます(''ゲートウェイ構成''の''skills''を参照)。
Pi-Mono Integration
OpenClaw は pi-mono コードベースの一部(モデル/ツール)を再利用しますが、セッション管理、発見、ツール接続はすべて OpenClaw が所有しています。
- pi エンコードされたエージェント実行環境はありません。
- Does not consult ''~/.pi/agent'' or ''<workspace>/.pi'' settings.
セッション
セッション記録は JSONL として保存されます:
- ''~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl''
セッション ID は安定しており、OpenClaw によって選択されます。
読み取りませんレガシー Pi/Tau セッションフォルダー。
ストリーミングとステアリング
キューモードが ''steer'' の場合、受信メッセージは現在実行中の
ターンに注入されます。各ツール呼び出し後にキューがチェックされます;キューに入ったメッセージが存在する場合、
現在のアシスタントメッセージの残りのツール呼び出しはスキップされます(エラーツール
結果は「キューに入ったユーザーメッセージによりスキップされました。」)、その後キューに入ったユーザー
メッセージは次のアシスタント応答の前に注入されます。
キューモードが ''followup'' または ''collect'' の場合、受信メッセージは保持され、
現在のターンが終了するまで、その後新しいエージェントターンがキューに入ったペイロードで開始されます。参照
''Queue'' モード + デバウンス/スロットル動作。
チャンクストリーミングの完了後に完了したアシスタントブロックが送信されます;はい
''デフォルトでオフ'' (''agents.defaults.blockStreamingDefault: "off"'')。
''agents.defaults.blockStreamingBreak'' で境界を調整します(''text_end'' vs ''message_end'';デフォルトは text_end)。
''agents.defaults.blockStreamingChunk'' でソフトブロックチャンキングを制御します(デフォルトは
800–1200 文字;段落区切りを優先、次に改行;最後の文)。
''agents.defaults.blockStreamingCoalesce'' を使用してストリーミングブロックをマージして
単一行スパムを減らします(送信前のアイドルベースの結合)。Telegram 以外のチャンネルは
ブロック応答を有効にするには明示的な ''*.blockStreaming: true'' が必要です。
ツール起動時に詳細なツールサマリーを発行します(デバウンスなし);制御 UI
利用可能な場合、エージェントイベントを通じてツール出力をストリーミングします。
詳細:''ストリーミング + ブロッキング''。
モデル参照
構成のモデル参照(例:''agents.defaults.model'' および ''agents.defaults.models'')は、''最初の'' ''/'' で分割することで解決されます。
- モデルを構成するときは ''provider/model'' を使用します。
- モデル ID 自体に ''/'' が含まれる場合(OpenRouter スタイル)、プロバイダープレフィックスを含めます(例:''openrouter/moonshotai/kimi-k2'')。
- プロバイダーが省略されている場合、OpenClaw は入力を''デフォルトプロバイダー''またはモデルのエイリアスとして扱います(モデル ID に ''/'' がない場合にのみ有効)。
Configuration (Minimum)
最低限、設定します:
- ''agents.defaults.workspace''
- ''channels.whatsapp.allowFrom''(強く推奨)
---
_次:''グループチャット''_ 🦞