Tools

ちなみに補足の質問

/btw を使うと、その質問を通常の会話履歴に変えずに、現在のセッションについての簡単な横道の質問ができます。/side はエイリアスです。

これは Claude Code の /btw の動作をモデルにしていますが、OpenClaw の Gateway とマルチチャネルアーキテクチャに合わせて調整されています。

何をするか

次のように送信すると:

/btw what changed?

OpenClaw は:

  1. 現在のセッションコンテキストのスナップショットを作成し、
  2. 別個のツールなしのモデル呼び出しを実行し、
  3. 横道の質問だけに回答し、
  4. メイン実行には影響を与えず、
  5. BTW の質問や回答をセッション履歴に書き込まず、
  6. 通常のアシスタントメッセージではなく、ライブのサイド結果として回答を送出します。

重要なメンタルモデルは次のとおりです。

  • 同じセッションコンテキスト
  • 別個の 1 回限りのサイドクエリ
  • ツール呼び出しなし
  • 将来のコンテキスト汚染なし
  • トランスクリプトの永続化なし

何をしないか

/btw は次のことをしません

  • 新しい永続セッションを作成する、
  • 未完了のメインタスクを継続する、
  • ツールやエージェントのツールループを実行する、
  • BTW の質問/回答データをトランスクリプト履歴に書き込む、
  • chat.history に表示される、
  • リロード後も残る。

これは意図的に一時的なものです。

コンテキストの仕組み

BTW は現在のセッションを背景コンテキストとしてのみ使用します。

メイン実行が現在アクティブな場合、OpenClaw は現在のメッセージ状態のスナップショットを作成し、進行中のメインプロンプトを背景コンテキストとして含めます。そのうえで、モデルに次のことを明示的に指示します。

  • 横道の質問だけに回答する、
  • 未完了のメインタスクを再開または完了しない、
  • ツール呼び出しや疑似ツール呼び出しを送出しない。

これにより、BTW はメイン実行から分離されたまま、セッションの内容を把握できます。

配信モデル

BTW は通常のアシスタントのトランスクリプトメッセージとしては配信されません

Gateway プロトコルレベルでは:

  • 通常のアシスタントチャットは chat イベントを使用する
  • BTW は chat.side_result イベントを使用する

この分離は意図的なものです。BTW が通常の chat イベントパスを再利用すると、クライアントはそれを通常の会話履歴のように扱ってしまいます。

BTW は別個のライブイベントを使用し、chat.history から再生されないため、リロード後に消えます。

サーフェスでの動作

TUI

TUI では、BTW は現在のセッションビューにインラインでレンダリングされますが、一時的なままです。

  • 通常のアシスタント返信と視覚的に区別される
  • Enter または Esc で閉じられる
  • リロード時に再生されない

外部チャネル

Telegram、WhatsApp、Discord などのチャネルでは、BTW は明確にラベル付けされた 1 回限りの返信として配信されます。これらのサーフェスにはローカルの一時オーバーレイという概念がないためです。

回答は引き続き、通常のセッション履歴ではなくサイド結果として扱われます。

Control UI / Web

Gateway は BTW を chat.side_result として正しく送出し、BTW は chat.history に含まれないため、Web 向けの永続化契約はすでに正しくなっています。

現在の Control UI には、ブラウザー内で BTW をライブ表示するための専用の chat.side_result コンシューマーがまだ必要です。そのクライアント側サポートが導入されるまでは、BTW は TUI と外部チャネルでの動作を完全に備えた Gateway レベルの機能ですが、完全なブラウザー UX にはまだなっていません。

BTW を使う場面

次のような場合は /btw を使います。

  • 現在の作業についてすばやく確認したい、
  • 長い実行がまだ進行中の間に事実ベースの横道の回答がほしい、
  • 将来のセッションコンテキストの一部にしたくない一時的な回答がほしい。

例:

/btw what file are we editing?
/side what changed while the main run continued?
/btw what does this error mean?
/btw summarize the current task in one sentence
/btw what is 17 * 19?

BTW を使わない場面

回答をセッションの将来の作業コンテキストの一部にしたい場合は、/btw を使わないでください。

その場合は、BTW を使わずにメインセッションで通常どおり質問してください。

関連