跳转至

BTW 附带问题

/btw(别名 /side)针对当前会话提出一个快速的旁路问题,而不会将其添加到对话历史中。它仿照 Claude Code 的 /btw,并适配了 OpenClaw 的 Gateway 和多通道架构。

两个旁路问题契约被刻意分开。BTW 是在会话实际使用的模型上提出的一次性问题,保留 harness 行为以及 Codex 线程分叉连续性,适用于通道入口(WhatsApp、Telegram 和 Discord)、TUI 以及嵌入式 tui --local;TUI 按设计保持使用 BTW。Side chat 使用持久、只读的 RPC 线程,面向 Control UI 类客户端。其第一个问题会惰性地从所选会话准备有界的可见上下文;临时历史失败仍可重试,并且不会作为空会话运行。通道无法使用 Side chat,因为它们没有 RPC 连接。

/btw what changed?
/side what does this error mean?

它的作用

  1. 将当前会话快照作为背景上下文(包括任何正在处理中的主运行提示)。
  2. 运行一个独立的一次性旁路查询,指示模型只回答旁路问题,不要恢复或引导主任务。
  3. 将答案作为实时旁路结果交付,而不是普通助手消息。
  4. 从不将问题或答案写入会话历史或 chat.history。

如果存在正在活动的主运行,则保持其不受影响。

附加到 /btw 消息的图片会在直接提供商运行时和 Codex harness 上随旁路问题一起发送。这包括带有 /btw 说明的照片,或者当通道将其作为回复上下文提供时,来自被回复消息的媒体。其他 harness 会将图片作为可选输入接收,并可能忽略它们。CLI 运行时改为接收一条文本说明,其中包含被省略图片的数量。如果媒体理解已经描述过某张图片,则不会附加该图片,因为其描述位于主对话提示中,而不是旁路问题中。

当它们的运行时提供 usage 时,已完成的直接提供商和 harness 旁路问题会通过已配置的 诊断管道 报告它。 这不会将该交互添加到会话历史或由会话派生的 /usage cost 总计中。

对于 Codex harness 会话,BTW 会将活动的 Codex app-server 线程分叉为一个临时子线程,而不是运行单独的提供商调用。这保持了 Codex OAuth 和原生工具/线程行为不变,并且分叉线程保留父线程当前的审批策略、沙箱和原生工具界面。分叉线程会收到一个边界提示,告知模型其之前的所有内容都是继承的参考上下文,而不是活动指令,并且只有边界之后的消息是活动的。/btw 需要一个已存在的 Codex 线程;请先发送一条普通消息。

符合条件的 Codex 旁路问题可以使用与主线程相同的 OpenClaw Gateway shell 工具。取消旁路问题或达到其超时时,会在释放该旁路线程之前停止由该旁路线程拥有的原生后台终端。主线程终端和 OpenClaw 管理的后台作业保留其现有生命周期。

对于 CLI 运行时别名,BTW 会以一次性旁路问题模式调用所属的 CLI 后端:它将清理后的对话上下文注入到一个新的 CLI 调用中,禁用工具捆绑和可复用会话状态,并添加后端支持的任何 no-resume/no-tools 标志。直接(非 CLI)运行时则使用直接的一次性提供商调用。

它不会做什么

/btw 不会创建持久会话、继续未完成的主任务,或将问题/答案数据持久化到转录历史中。分离的 BTW 结果不会在重新加载后保留。Control UI 的 Side chat 可以在重新加载后恢复其内存线程,但该线程会因会话重置、Gateway 重启、空闲过期或侧栏的清除按钮而清除。

交付模型

普通助手聊天使用 Gateway 的 chat 事件。分离的 BTW 使用单独的 chat.side_result 事件,以便客户端不会将其误认为常规对话历史。Control UI 不消费该事件;它调用 sessions.companion.* RPC,并在侧栏中渲染其有界的交互状态。

界面行为

界面 行为
TUI 在聊天日志中内联渲染,与正常回复有明显区别,可用 Enter 或 Esc 关闭。
外部通道 作为明确标注的一次性回复交付(Telegram、WhatsApp、Discord 没有本地临时覆盖层)。
Control UI / web 将 /btw 和 /side 路由到展开的 Side chat。只读线程以会话为键,从 Gateway 内存中恢复,并保留失败的问题以便重试。它可以通过垃圾桶按钮清除。Esc 折叠侧栏。

选择弹出窗口(Control UI)

在 Control UI 中高亮聊天消息内的文本会打开一个小型选择弹出窗口,其中包含一个操作:

  • 在 Side chat 中提问 打开侧栏,并在其输入框中预填一个引用草稿,以便你可以输入关于所选内容的自己的问题。

该操作遵循常规 /btw 语义:问题和答案不会进入会话历史,主运行保持不受影响。

何时使用

在以下情况下使用 /btw:快速澄清、在长任务仍在进行时获取事实性旁路答案,或获取不应进入未来会话上下文的临时答案。

/btw what file are we editing?
/btw summarize the current task in one sentence
/btw what is 17 * 19?

对于任何你希望成为会话未来工作上下文一部分的内容,请改为在主会话中正常提问。

斜杠命令

原生命令目录和聊天指令。

思考级别

侧边问题模型调用的推理努力级别。

会话

会话键、历史记录和持久化语义。

转向命令

向当前运行注入一条转向消息,而不结束它。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw