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 権限とネイティブツールサーフェスを維持し、継承した親スレッドの作業をアクティブな指示として扱わないようモデルに伝えるガードレールを備えています。

CLI ランタイムエイリアスでは、BTW は直接のプロバイダー呼び出しにフォールバックするのではなく、所有する CLI バックエンドを横道質問モードで使用します。OpenClaw はサニタイズ済みの会話コンテキストを新しい一回限りの CLI 呼び出しにシードし、その呼び出しでは OpenClaw MCP ツールのバンドルと再利用可能な CLI セッション状態を無効にし、バックエンドが対応している CLI ネイティブの no-resume または no-tools フラグを追加できるようにします。直接の非 CLI ランタイムは、直接の一回限りのパスを維持します。

何をしないか

/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?
On this page

On this page