BTW:不被记住的临时提问
临时提问上下文,答案不留痕。
导语
/btw 让你用满上下文问一个临时问题,答案不进入后续对话——就像会议里压低声音问旁边人一句。
问题背景
coding agent 的经典困境:想问跟任务有关但又不想它「当真」的问题。另开 session 太麻烦,直接问又污染上下文。oh-my-pi 的 /btw 用引擎级旁路机制解决了这个问题;@piex-dev/btw 用 context 钩子实现等效行为。
技术原理
核心三件套:btwActive 标记 → before_agent_start 注入简洁指令(禁用工具、短回答)→ context 钩子过滤所有 [BTW] 消息。会话恢复时 session_start 清理状态防脏启动。
实现方案
约 110 行单文件。context 钩子用三段式过滤:跳过 btw 系统消息(customType)、跳过 [BTW] user 消息、跳过紧随的 assistant 回复。与 omp btw 的差异:引擎级旁路改为 context 钩子过滤;写入带标记后过滤,而非完全不写。
优化计划
「下一个 assistant 即 btw 回复」的推断在极端场景可能错位,等消息 ID 关联 API 就绪后切换;未来可将过滤策略抽象为通用临时消息分组模式。
源稿 Markdown: docs/notes/btw.md