BTW 脇道の質問
/btw を使うと、現在のセッションについての手短な脇道の質問を、
その質問を通常の会話履歴に含めることなく行えます。
これは Claude Code の /btw の動作を手本にしていますが、OpenClaw の
Gateway とマルチチャネルアーキテクチャ向けに調整されています。
何をするか
次のように送信するとします。- 現在のセッションコンテキストをスナップショットする。
- 別個のツールなしモデル呼び出しを実行する。
- 脇道の質問にだけ答える。
- メインの実行には手を加えない。
- BTW の質問や回答をセッション履歴に書き込まない。
- 回答を通常のアシスタントメッセージではなく、ライブのサイド結果として送出する。
- 同じセッションコンテキスト
- 別個のワンショットの脇道クエリ
- ツール呼び出しなし
- 将来のコンテキストを汚染しない
- トランスクリプトに永続化しない
しないこと
/btw は次のことをしません。
- 新しい永続セッションを作成する
- 未完了のメインタスクを続行する
- ツールやエージェントのツールループを実行する
- BTW の質問/回答データをトランスクリプト履歴に書き込む
chat.historyに現れる- リロード後も残る
コンテキストの仕組み
BTW は、現在のセッションを背景コンテキストのみとして使用します。 メインの実行が現在進行中である場合、OpenClaw は現在のメッセージ状態を スナップショットし、進行中のメインプロンプトを背景コンテキストとして含めつつ、 モデルに対して明示的に次のように伝えます。- 脇道の質問にだけ答えること
- 未完了のメインタスクを再開または完了しないこと
- ツール呼び出しや疑似ツール呼び出しを出力しないこと
配信モデル
BTW は通常のアシスタントトランスクリプトメッセージとしては配信されません。 Gateway プロトコルレベルでは:- 通常のアシスタントチャットは
chatイベントを使用 - BTW は
chat.side_resultイベントを使用
chat イベント経路を再利用すると、
クライアントはそれを通常の会話履歴として扱ってしまいます。
BTW は別個のライブイベントを使用し、chat.history から再生されないため、
リロード後には消えます。
サーフェスごとの動作
TUI
TUI では、BTW は現在のセッションビュー内にインライン表示されますが、 一時的なままです。- 通常のアシスタント返信とは見た目で明確に区別される
EnterまたはEscで閉じられる- リロード時には再表示されない
外部チャネル
Telegram、WhatsApp、Discord のようなチャネルでは、BTW は 明確にラベル付けされた単発の返信として配信されます。これらのサーフェスには ローカルの一時的オーバーレイという概念がないためです。 それでも回答は通常のセッション履歴ではなく、サイド結果として扱われます。Control UI / web
Gateway は BTW をchat.side_result として正しく送出し、BTW は
chat.history に含まれないため、永続化に関する契約は web 向けにも
すでに正しくなっています。
現在の Control UI では、ブラウザー内で BTW をライブ表示するための専用
chat.side_result コンシューマーがまだ必要です。そのクライアント側サポートが
入るまでは、BTW は Gateway レベルの機能として TUI と外部チャネルでは
完全に動作しますが、ブラウザー UX はまだ完全ではありません。
BTW を使うべきとき
次のような場合には/btw を使ってください。
- 現在の作業についての手短な確認が欲しい
- 長い実行がまだ進行中の間に、事実ベースの脇道の回答が欲しい
- 今後のセッションコンテキストの一部にすべきでない一時的な回答が欲しい
BTW を使うべきでないとき
回答をセッションの今後の作業コンテキストの一部にしたい場合は、/btw を使わないでください。
その場合は BTW を使う代わりに、メインセッションで通常どおり質問してください。