メインコンテンツへスキップ

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.

OpenClaw は、エージェントがセッションをまたいで作業し、状態を調査し、 サブエージェントをオーケストレーションするためのツールを提供します。

利用可能なツール

ツール動作
sessions_list任意のフィルター(kind、label、agent、recency、preview)でセッションを一覧表示する
sessions_history特定のセッションのトランスクリプトを読む
sessions_send別のセッションへメッセージを送り、任意で待機する
sessions_spawnバックグラウンド作業用に分離されたサブエージェントセッションを生成する
sessions_yield現在のターンを終了し、後続のサブエージェント結果を待つ
subagentsこのセッションで生成されたサブエージェントを一覧表示、誘導、または終了する
session_status/status 形式のカードを表示し、任意でセッション単位のモデル上書きを設定する
これらのツールにも、アクティブなツールプロファイルと許可/拒否 ポリシーが適用されます。tools.profile: "coding" には、 sessions_spawnsessions_yieldsubagents を含む完全な セッションオーケストレーションセットが含まれます。 tools.profile: "messaging" には、セッション間メッセージングツール (sessions_listsessions_historysessions_sendsession_status)が 含まれますが、サブエージェントの生成は含まれません。メッセージング プロファイルを維持しつつネイティブ委任も許可するには、次を追加します。
{
  tools: {
    profile: "messaging",
    alsoAllow: ["sessions_spawn", "sessions_yield", "subagents"],
  },
}
グループ、プロバイダー、サンドボックス、エージェント単位のポリシーは、 プロファイル段階の後でもこれらのツールを削除できます。影響を受ける セッションから /tools を使って、有効なツール一覧を調査してください。

セッションの一覧表示と読み取り

sessions_list は、key、agentId、kind、channel、model、 トークン数、タイムスタンプを含むセッションを返します。kind(maingroupcronhooknode)、完全一致の 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] に置き換えられることがあります
  • ツールは truncateddroppedMessagescontentTruncatedcontentRedactedbytes などの要約フラグを報告します
どちらのツールも、セッションキー"main" など)または以前の一覧呼び出しからの セッション ID のどちらも受け付けます。 バイト単位で完全に一致するトランスクリプトが必要な場合は、sessions_history を 生のダンプとして扱うのではなく、ディスク上のトランスクリプトファイルを調査してください。

セッション間メッセージの送信

sessions_send は別のセッションへメッセージを配信し、任意で応答を待ちます。
  • 送信して終了: timeoutSeconds: 0 を設定すると、キューに入れて即座に返ります。
  • 返信を待つ: タイムアウトを設定すると、応答をインラインで取得します。
Slack や Discord のキーが :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 はデフォルトで、バックグラウンドタスク用の分離された セッションを作成します。これは常に非ブロッキングです — runIdchildSessionKey を返して即座に終了します。 主なオプション:
  • runtime: "subagent"(デフォルト)または外部ハーネスエージェント用の "acp"
  • 子セッション用の modelthinking の上書き。
  • thread: true で生成をチャットスレッド(Discord、Slack など)にバインド。
  • sandbox: "require" で子にサンドボックスを強制。
  • ネイティブサブエージェントで子が現在のリクエスターのトランスクリプトを必要とする場合は context: "fork"。クリーンな子にする場合は省略するか context: "isolated" を使います。 スレッドにバインドされたネイティブサブエージェントは、 threadBindings.defaultSpawnContext が別の指定をしていない限り、 デフォルトで context: "fork" になります。
デフォルトのリーフサブエージェントにはセッションツールは付与されません。 maxSpawnDepth >= 2 の場合、深さ 1 のオーケストレーターサブエージェントには、 自分の子を管理できるように sessions_spawnsubagentssessions_listsessions_history も追加で付与されます。リーフ実行にはそれでも再帰的な オーケストレーションツールは付与されません。 完了後、通知ステップが結果をリクエスターのチャンネルへ投稿します。完了配信は、 利用可能な場合はバインドされたスレッド/トピックのルーティングを保持します。 また、完了元がチャンネルのみを識別している場合でも、OpenClaw は直接配信のために リクエスターセッションに保存されたルート(lastChannel / lastTo)を再利用できます。 ACP 固有の動作については、ACP Agents を参照してください。

可視性

セッションツールは、エージェントが見られる範囲を制限するようにスコープされます。
レベルスコープ
self現在のセッションのみ
tree現在のセッション + 生成されたサブエージェント
agentこのエージェントのすべてのセッション
allすべてのセッション(設定されていればエージェント間も含む)
デフォルトは tree です。サンドボックス化されたセッションは、設定に関係なく tree に制限されます。

関連資料

関連