前言¶
在 DSH 會話中,如果中途想問一個與當前任務無關的快速問題,常規做法要麼打斷任務(打斷 agent),要麼讓問題混入歷史(污染上下文)。Claude Code 的 /btw 提供了另一種選擇:在任務運行時提出側向問題,問答不進入會話歷史,也不觸發主請求流程。下面的插件把這個行爲帶到了 DSH,並提供一個浮動面板來展示答案。
是什麼¶
wszw142857-beep/dsh-command-btw 是一個 DSH 插件,屬於「記憶」分類。它爲 DSH 實現了 /btw 命令:在輸入框輸入 /btw <問題> 後,命令立即返回,問題會被附加到會話的派生歷史(session.deriveMessages())中,通過當前會話的 provider/model 路由進行一次不帶工具的額外調用,答案流式寫入上方的浮動面板。問題和答案只記錄爲日誌事件,不進入模型可見的界面,因此不會污染後續請求的上下文。
核心功能¶
命令行爲¶
在輸入框輸入 /btw <問題> 後,插件執行以下步驟:
- 命令立即返回——輸入框馬上清空,不會一直掛着這行命令等模型回答;
- 讀取會話的派生歷史(
session.deriveMessages()),即模型自己看到的那些消息; - 用會話當前的 provider/model 路由額外問一個問題,以上述轉錄爲上下文,不帶任何工具;
- 答案流式寫入輸入框上方的浮動面板。
問題和答案只記錄爲僅日誌的 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