DSH /btw 临时提问插件

前言

在 DSH 会话中,如果中途想问一个与当前任务无关的快速问题,常规做法要么打断任务(打断 agent),要么让问题混入历史(污染上下文)。Claude Code 的 /btw 提供了另一种选择:在任务运行时提出侧向问题,问答不进入会话历史,也不触发主请求流程。下面的插件把这个行为带到了 DSH,并提供一个浮动面板来展示答案。

是什么

wszw142857-beep/dsh-command-btw 是一个 DSH 插件,属于「记忆」分类。它为 DSH 实现了 /btw 命令:在输入框输入 /btw <问题> 后,命令立即返回,问题会被附加到会话的派生历史(session.deriveMessages())中,通过当前会话的 provider/model 路由进行一次不带工具的额外调用,答案流式写入上方的浮动面板。问题和答案只记录为日志事件,不进入模型可见的界面,因此不会污染后续请求的上下文。

核心功能

命令行为

在输入框输入 /btw <问题> 后,插件执行以下步骤:

  1. 命令立即返回——输入框马上清空,不会一直挂着这行命令等模型回答;
  2. 读取会话的派生历史(session.deriveMessages()),即模型自己看到的那些消息;
  3. 用会话当前的 provider/model 路由额外问一个问题,以上述转录为上下文,不带任何工具;
  4. 答案流式写入输入框上方的浮动面板。

问题和答案只记录为仅日志的 command/run 和 command/done 事件,不会追加到模型可见的界面上,因此下一次模型请求不包含它们。

浮动面板

浮动面板位于视口上方居中,固定定位,不随聊天滚动或输入框伸缩而移动。面板内的文字可自由拖选,点击「复制」可一键复制整条答案。按住标题栏可把面板拖到任意位置,窗口缩放时自动夹回视口内。

面板顶部显示「正在思考…」或「正在输出…」,文字逐步出现。点击「停止」可中止当前调用,已产出的文字保留并附 (已取消)。

面板底部有一个输入框,可直接发下一个 /btw,不必回到主输入框。追问会自己轮询,不会卡在「正在思考…」。面板打开时若页面上有选中文本,会自动附带到追问中,chip 显示字数,点击可移除。

面板内提供 ‹ n/m › 与 ←/→ 翻看本会话之前的问答,每条答案上方以灰斜体显示当时的问题。

点击 ✕ 关闭面板;Esc 仅在焦点位于面板内时关闭,不会抢走 DSH 打断 agent 的 Esc。

持久化与隔离

问答内容会持久化到 $DSH_HOME/data/dsh-btw/<session>.json,写入时做了防抖处理,并每周清理一次。每个会话独立的槽位,切换会话不会串台。

安装与启用

通过命令行安装:

dsh plugin --profile <name> add dsh-command-btw

或从 GitHub 安装:

dsh plugin --profile <name> add github:wszw142857-beep/dsh-command-btw

本包依赖 @deepseek-ai/schemastery 以激活 Config schema;能解析该包的 profile 通常已自带。

配置

在 插件 → BTW 临时提问 → 配置 中可调整以下字段:

字段 默认 含义
provider 空 路由覆盖,需与 model 同时填写;留空则跟随当前会话
model 空 路由覆盖,需与 provider 同时填写
maxAnswerTokens 1200 答案输出上限
transcriptChars 96000 转录预算(最新的优先保留)
includeReasoning false 是否把模型的推理过程放进转录
reasoningChars 500 开启推理时每条保留的字符数
toolArgumentChars 120 工具调用参数片段;0 表示不显示

同时填写 provider + model 可以让 /btw 使用比主对话更便宜/更快的模型。

限制

  • 转录有上限(默认 96,000 字符,最新的优先);单条超预算的内容保留尾部(报错通常在末尾)。
  • 图片替换为 [图片];工具结果以文本形式呈现。
  • 旁路调用不触发 agent/request,因此不计入 token 统计,也不出现在请求头里。
  • 聊天记录里保留一行中性指针(已提交侧问:…)作为归档;答案本体在面板中。
  • 面板固定定位在视口上方;若被拖到别处,重启后会回到默认位置。

适用场景与注意

适合需要在会话运行时快速提问、又不希望问题污染上下文或打断 agent 的场景。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。

小结

/btw 临时提问插件为 DSH 提供了一种在会话运行时提出侧向问题的机制,问答隔离于主流程之外,答案通过浮动面板展示。配置项支持路由覆盖和输出限制,适合需要在不干扰主任务的情况下进行快速查询或验证的场景。

  • 插件目录:https://www.skillhub.cn/plugins/wszw142857-beep/dsh-command-btw
  • GitHub:https://github.com/wszw142857-beep/dsh-command-btw
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜