エージェントランタイム
OpenClaw は、pi-mono から派生した単一の組み込みエージェントランタイムを実行します。
ワークスペース (必須)
OpenClaw は、単一のエージェントワークスペースディレクトリ (agents.defaults.workspace) を、ツールとコンテキストのためのエージェントの唯一の作業ディレクトリ (cwd) として使用します。推奨: openclaw setup を使用して、~/.openclaw/openclaw.json が存在しない場合は作成し、ワークスペースファイルを初期化します。完全なワークスペースレイアウト + バックアップガイド: エージェントワークスペース 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 } }
組み込みツール
コアツール (read/exec/edit/write および関連するシステムツール) は、ツールポリシーに従って常に利用可能です。apply_patch はオプションで、tools.exec.applyPatch によって制御されます。TOOLS.md はどのツールが存在するかを制御しません。それは、あなたがそれらをどのように使用してほしいかについてのガイダンスです。
スキル
OpenClaw はスキルを3つの場所から読み込みます (名前の衝突時はワークスペースが優先されます):
- バンドル済み (インストールに同梱)
- 管理/ローカル:
~/.openclaw/skills - ワークスペース:
<workspace>/skills
スキルは設定/環境変数によって制限される場合があります (詳細は ゲートウェイ設定 の 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 の場合、受信メッセージは現在の実行に注入されます。キューは各ツール呼び出しの後にチェックされます。キューにメッセージが存在する場合、現在のアシスタントメッセージからの残りのツール呼び出しはスキップされ (ツール結果は「キューに入ったユーザーメッセージによりスキップされました。」というエラーになります)、その後、次のアシスタント応答の前に、キューに入ったユーザーメッセージが注入されます。キュー モードが followup または collect の場合、受信メッセージは現在のターンが終了するまで保持され、その後、キューに入ったペイロードで新しいエージェントターンが開始されます。モード + デバウンス/キャップの動作については キュー を参照してください。ブロックストリーミングは、完了したアシスタントブロックをすぐに送信します。これはデフォルトでオフです (agents.defaults.blockStreamingDefault: "off")。境界は agents.defaults.blockStreamingBreak (text_end 対 message_end; デフォルトは text_end) で調整します。ソフトブロックのチャンキングは agents.defaults.blockStreamingChunk で制御します (デフォルトは 800–1200 文字; 段落区切りを優先し、次に改行; 文は最後)。ストリーミングされたチャンクを agents.defaults.blockStreamingCoalesce で結合して、単一行のスパムを減らします (送信前のアイドルベースのマージ)。Telegram 以外のチャネルでは、ブロック返信を有効にするために明示的な *.blockStreaming: true が必要です。詳細なツール要約はツール開始時に出力されます (デバウンスなし)。利用可能な場合、Control UI はエージェントイベントを介してツール出力をストリーミングします。詳細: ストリーミング + チャンキング。
モデル参照
設定内のモデル参照 (例: agents.defaults.model および agents.defaults.models) は、最初の / で分割して解析されます。
- モデルを設定する際は
provider/modelを使用してください。 - モデルID自体に
/が含まれる場合 (OpenRouter スタイル)、プロバイダープレフィックスを含めてください (例:openrouter/moonshotai/kimi-k2)。 - プロバイダーを省略した場合、OpenClaw は入力をエイリアスまたはデフォルトプロバイダーのモデルとして扱います (モデルIDに
/が含まれていない場合のみ機能します)。
設定 (最小限)
最低限、以下を設定してください:
agents.defaults.workspacechannels.whatsapp.allowFrom(強く推奨)
次: グループチャット 🦞