Appearance
/btw 旁路提问
/btw 让你在当前会话中提出快速的旁路问题,而不会将该问题变成正式的对话历史记录。
这个功能模仿了 Claude Code 的 /btw 行为,并针对 OpenClaw 的 Gateway 和多渠道架构进行了适配。
就像跟龙虾耳语一句话——它会悄悄回答你,然后继续手头的任务,不留痕迹。
它做什么
当你发送:
text
/btw what changed?OpenClaw 会:
- 快照当前会话上下文
- 发起一个独立的无工具模型调用
- 只回答旁路问题
- 不打断主任务运行
- 不将 BTW 问题或答案写入会话历史
- 将答案作为实时旁路结果发出,而非普通 assistant 消息
核心心智模型:
- 相同的会话上下文
- 独立的一次性旁路查询
- 无工具调用
- 不污染未来上下文
- 无记录持久化
它不做什么
/btw 不会:
- 创建新的持久会话
- 继续未完成的主任务
- 运行工具或 Agent 工具循环
- 将 BTW 问答写入记录历史
- 出现在
chat.history中 - 在页面重新加载后保留
它是刻意设计为临时性的。
上下文如何工作
BTW 将当前会话作为仅供参考的背景上下文。
如果主任务当前正在运行,OpenClaw 会快照当前消息状态,将进行中的主提示作为背景上下文包含进来,同时明确告知模型:
- 只回答旁路问题
- 不要恢复或继续未完成的主任务
- 不要发出工具调用或伪工具调用
这让 BTW 与主任务保持隔离,同时又能感知当前会话的内容。
交付模型
BTW 不会作为普通 assistant 记录消息发出。
在 Gateway 协议层面:
- 普通 assistant 对话使用
chat事件 - BTW 使用
chat.side_result事件
这种分离是刻意的。如果 BTW 复用普通 chat 事件路径,客户端就会将其视为普通对话历史。
因为 BTW 使用独立的实时事件且不会从 chat.history 重放,所以刷新后消失。
各界面行为
TUI
在 TUI 中,BTW 在当前会话视图中内联渲染,但保持临时性:
- 与普通 assistant 回复视觉上有所区分
- 可通过
Enter或Esc关闭 - 重新加载后不重放
外部渠道
在 Telegram、WhatsApp、Discord 等渠道上,因为这些界面没有本地临时浮层的概念,BTW 会以清晰标注的一次性回复发出。
答案仍被视为旁路结果,不写入正式会话历史。
Control UI / Web
Gateway 正确地将 BTW 作为 chat.side_result 发出,且不将其包含在 chat.history 中,所以持久化合约在 Web 层面已经正确。
当前 Control UI 还需要专门的 chat.side_result 消费者来在浏览器中实时渲染 BTW。在该客户端侧支持落地之前,BTW 是一个 Gateway 层功能,在 TUI 和外部渠道有完整体验,但浏览器 UX 尚未完整。
何时使用 /btw
当你需要以下内容时使用 /btw:
- 对当前工作的快速澄清
- 长任务运行时的事实性旁路答案
- 不应成为未来会话上下文的临时答案
示例:
text
/btw what file are we editing?
/btw what does this error mean?
/btw summarize the current task in one sentence
/btw what is 17 * 19?何时不要使用 /btw
如果你希望答案成为会话未来工作上下文的一部分,不要使用 /btw。
这种情况下,直接在主会话中正常提问即可。