OpenClaw は、エージェントがセッションをまたいで作業し、状態を調査し、 サブエージェントをオーケストレーションするためのツールを提供します。Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
利用可能なツール
| ツール | 動作 |
|---|---|
sessions_list | 任意のフィルター(kind、label、agent、recency、preview)でセッションを一覧表示する |
sessions_history | 特定のセッションのトランスクリプトを読む |
sessions_send | 別のセッションへメッセージを送り、任意で待機する |
sessions_spawn | バックグラウンド作業用に分離されたサブエージェントセッションを生成する |
sessions_yield | 現在のターンを終了し、後続のサブエージェント結果を待つ |
subagents | このセッションで生成されたサブエージェントを一覧表示、誘導、または終了する |
session_status | /status 形式のカードを表示し、任意でセッション単位のモデル上書きを設定する |
tools.profile: "coding" には、
sessions_spawn、sessions_yield、subagents を含む完全な
セッションオーケストレーションセットが含まれます。
tools.profile: "messaging" には、セッション間メッセージングツール
(sessions_list、sessions_history、sessions_send、session_status)が
含まれますが、サブエージェントの生成は含まれません。メッセージング
プロファイルを維持しつつネイティブ委任も許可するには、次を追加します。
/tools を使って、有効なツール一覧を調査してください。
セッションの一覧表示と読み取り
sessions_list は、key、agentId、kind、channel、model、
トークン数、タイムスタンプを含むセッションを返します。kind(main、
group、cron、hook、node)、完全一致の label、完全一致の
agentId、検索テキスト、または recency(activeMinutes)でフィルターできます。
メールボックス形式のトリアージが必要な場合は、可視性スコープ付きの派生タイトル、
最後のメッセージのプレビュースニペット、または各行の範囲付き最近のメッセージも
要求できます。派生タイトルとプレビューは、設定済みのセッションツール可視性
ポリシーの下で呼び出し元がすでに見られるセッションに対してのみ生成されるため、
無関係なセッションは非表示のままです。
sessions_history は、特定のセッションの会話トランスクリプトを取得します。
デフォルトではツール結果は除外されます — 表示するには includeTools: true を
渡します。返されるビューは意図的に範囲が制限され、安全性フィルターが適用されます。
- アシスタントのテキストは、再呼び出し前に正規化されます。
- thinking タグは削除されます
<relevant-memories>/<relevant_memories>の足場ブロックは削除されます<tool_call>...</tool_call>、<function_call>...</function_call>、<tool_calls>...</tool_calls>、<function_calls>...</function_calls>などの プレーンテキストのツール呼び出し XML ペイロードブロックは、正常に閉じていない 切り詰められたペイロードも含めて削除されます[Tool Call: ...]、[Tool Result ...]、[Historical context ...]などの 格下げされたツール呼び出し/結果の足場は削除されます<|assistant|>、その他の ASCII<|...|>トークン、全角の<|...|>バリアントなど、漏れたモデル制御トークンは削除されます<invoke ...>/</minimax:tool_call>などの不正な MiniMax ツール呼び出し XML は削除されます
- 認証情報/トークンのようなテキストは、返される前にリダクトされます
- 長いテキストブロックは切り詰められます
- 非常に大きい履歴では、古い行が削除されるか、過大な行が
[sessions_history omitted: message too large]に置き換えられることがあります - ツールは
truncated、droppedMessages、contentTruncated、contentRedacted、bytesなどの要約フラグを報告します
"main" など)または以前の一覧呼び出しからの
セッション ID のどちらも受け付けます。
バイト単位で完全に一致するトランスクリプトが必要な場合は、sessions_history を
生のダンプとして扱うのではなく、ディスク上のトランスクリプトファイルを調査してください。
セッション間メッセージの送信
sessions_send は別のセッションへメッセージを配信し、任意で応答を待ちます。
- 送信して終了:
timeoutSeconds: 0を設定すると、キューに入れて即座に返ります。 - 返信を待つ: タイムアウトを設定すると、応答をインラインで取得します。
:thread:<id> で終わるような、スレッドスコープの
チャットセッションは、有効な sessions_send ターゲットではありません。
エージェント間の調整には親チャンネルのセッションキーを使い、ツール経由の
メッセージがアクティブな人間向けスレッド内に表示されないようにしてください。
メッセージと A2A の後続返信は、受信側プロンプト
([Inter-session message ... isUser=false])とトランスクリプト由来情報で、
セッション間データとしてマークされます。受信側エージェントは、それらを
エンドユーザーが直接作成した指示ではなく、ツール経由のデータとして扱う必要があります。
ターゲットが応答した後、OpenClaw はエージェントが交互にメッセージを送る
返信バックループを実行できます(最大 session.agentToAgent.maxPingPongTurns、
範囲 0-20、デフォルト 5)。ターゲットエージェントは REPLY_SKIP と返信して
早期に停止できます。
状態とオーケストレーションヘルパー
session_status は、現在のセッションまたは別の可視セッション用の軽量な
/status 相当ツールです。使用状況、時刻、モデル/ランタイム状態、
存在する場合はリンクされたバックグラウンドタスクコンテキストを報告します。
/status と同様に、最新のトランスクリプト使用状況エントリーから疎な
トークン/キャッシュカウンターを補完でき、model=default はセッション単位の
上書きをクリアします。呼び出し元の現在のセッションには sessionKey="current" を
使います。openclaw-tui などの可視クライアントラベルはセッションキーではありません。
sessions_yield は、待機している後続イベントを次のメッセージとして受け取れるように、
意図的に現在のターンを終了します。サブエージェントを生成した後、ポーリングループを
構築する代わりに完了結果を次のメッセージとして到着させたい場合に使います。
subagents は、すでに生成された OpenClaw サブエージェント用の制御プレーン
ヘルパーです。次をサポートします。
action: "list"でアクティブ/最近の実行を調査するaction: "steer"で実行中の子へ追加のガイダンスを送るaction: "kill"で 1 つの子またはallを停止する
サブエージェントの生成
sessions_spawn はデフォルトで、バックグラウンドタスク用の分離された
セッションを作成します。これは常に非ブロッキングです — runId と
childSessionKey を返して即座に終了します。
主なオプション:
runtime: "subagent"(デフォルト)または外部ハーネスエージェント用の"acp"。- 子セッション用の
modelとthinkingの上書き。 thread: trueで生成をチャットスレッド(Discord、Slack など)にバインド。sandbox: "require"で子にサンドボックスを強制。- ネイティブサブエージェントで子が現在のリクエスターのトランスクリプトを必要とする場合は
context: "fork"。クリーンな子にする場合は省略するかcontext: "isolated"を使います。 スレッドにバインドされたネイティブサブエージェントは、threadBindings.defaultSpawnContextが別の指定をしていない限り、 デフォルトでcontext: "fork"になります。
maxSpawnDepth >= 2 の場合、深さ 1 のオーケストレーターサブエージェントには、
自分の子を管理できるように sessions_spawn、subagents、sessions_list、
sessions_history も追加で付与されます。リーフ実行にはそれでも再帰的な
オーケストレーションツールは付与されません。
完了後、通知ステップが結果をリクエスターのチャンネルへ投稿します。完了配信は、
利用可能な場合はバインドされたスレッド/トピックのルーティングを保持します。
また、完了元がチャンネルのみを識別している場合でも、OpenClaw は直接配信のために
リクエスターセッションに保存されたルート(lastChannel / lastTo)を再利用できます。
ACP 固有の動作については、ACP Agents を参照してください。
可視性
セッションツールは、エージェントが見られる範囲を制限するようにスコープされます。| レベル | スコープ |
|---|---|
self | 現在のセッションのみ |
tree | 現在のセッション + 生成されたサブエージェント |
agent | このエージェントのすべてのセッション |
all | すべてのセッション(設定されていればエージェント間も含む) |
tree です。サンドボックス化されたセッションは、設定に関係なく
tree に制限されます。
関連資料
- セッション管理 — ルーティング、ライフサイクル、メンテナンス
- ACP Agents — 外部ハーネスの生成
- マルチエージェント — マルチエージェントアーキテクチャ
- Gateway 設定 — セッションツール設定ノブ