Tools

ちなみに補足の質問

/btw を使うと、現在のセッションについての短い横道の質問を、 通常の会話履歴に変えずに尋ねられます。/side はエイリアスです。

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

何をするか

次のように送信すると:

text
/btw what changed?

OpenClaw は:

  1. 現在のセッションコンテキストのスナップショットを取り、
  2. 別個の一時的なサイドクエリを実行し、
  3. サイド質問だけに回答し、
  4. メインの実行はそのままにし、
  5. BTW の質問や回答をセッション履歴に書き込まず、
  6. 通常のアシスタントメッセージではなく ライブサイド結果 として回答を発行します。

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

  • 同じセッションコンテキスト
  • 別個のワンショットサイドクエリ
  • セッションがネイティブハーネスを使う場合は同じネイティブハーネス転送
  • 将来のコンテキスト汚染なし
  • トランスクリプトの永続化なし

Codex ハーネスセッションでは、BTW はアクティブな app-server スレッドを一時的なサイドスレッドとしてフォークすることで Codex 内に留まります。これにより、Codex OAuth とネイティブスレッドの動作を維持しながら、サイド回答を親トランスクリプトから分離できます。Codex の /side と同様に、サイドスレッドは現在の Codex 権限とネイティブツール面を保持し、継承された親スレッドの作業をアクティブな指示として扱わないようモデルに伝えるガードレールを備えます。Codex 以外のランタイムは、従来の直接ワンショットパスを維持します。

何をしないか

/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 は明確にラベル付けされた一回限りの返信として配信されます。

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

Control UI / Web

Gateway は BTW を chat.side_result として正しく発行し、BTW は chat.history に含まれないため、永続化コントラクトは Web についてすでに正しくなっています。

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

BTW を使う場合

次のような場合に /btw を使います:

  • 現在の作業について短く確認したい、
  • 長い実行がまだ進行中の間に事実ベースのサイド回答が欲しい、
  • 将来のセッションコンテキストの一部になるべきではない一時的な回答が欲しい。

例:

text
/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 を使う代わりにメインセッションで通常どおり質問してください。

関連

Was this useful?