dsh-btw:在 DSH 會話裏做不污染主線的 btw 旁問

前言

在 DSH 裏跑長任務時,主會話往往已經堆了不少上下文。中途若有個術語、某段輸出想確認含義,直接在主輸入框裏插一句,回答會進入主會話記憶,可能打斷當前任務節奏,也會讓後續輪次帶上未必需要的旁支信息。

下面介紹的 dsh-btw(npm 包名 dsh-btw-plugin)面向這類需求:在繼承當前會話上下文的前提下,用獨立浮窗做一次性旁問;回答默認只留在彈窗裏,需要留痕時再經摘要預覽後「送入主會話」。維護者爲 yanzoro926,倉庫 yanzoro926/dsh-btw,分類爲客戶端插件,許可證 MIT(見倉庫 README)。

這是什麼

一句話定位:btw(by the way)旁問——臨時對話框,繼承會話上下文,可選上下文範圍與選中文本引用,旁問專用模型與參數;默認不把問答寫回主會話,可選壓縮摘要經確認後寫入。

核心功能

以下能力均來自官方 README,安裝前可在 GitHub README 對照界面截圖。

打開方式與回答展示

  • 輸入框右側 btw 按鈕,或輸入 /btw 命令,打開獨立浮窗。
  • 回答流式顯示,支持 Markdown;Enter 發送,Shift+Enter 換行。

繼承會話上下文

  • 自動攜帶當前會話模型可見歷史。
  • 上下文欄可在「自動 / 最近 40 條 / 最近 120 條 / 全部 / 全部但不含工具輸出」之間切換,顯示將發送條數與估算 token;超出上限時從舊到新裁剪並標出省略條數。

彈窗內追問與選區引用

  • 同一彈窗可繼續追問;前幾輪問答作爲上下文回傳(有上限),仍不寫回主會話。
  • 先選中一段文字再點 btw,彈窗引用該段(最多 2000 字符);引用條右側 × 可清除。

獨立模型與交互

  • 可爲旁問單獨選模型,並調溫度、最大輸出 tokens、推理強度;設置只作用於 btw。
  • 每條回答顯示本次 token 用量;失敗可重試,可隨時停止生成。
  • 浮窗可拖動、縮放,雙擊標題欄最大化;位置與大小會記住。
  • 切換會話時窗口自動隱藏,切回恢復;只有點 ×(或 Esc)才關閉並清空。

送入主會話

點彈窗頭部「送入主會話」後:

  1. 用當前旁問模型生成四節壓縮摘要(我問了什麼 / 結論 / 關鍵細節 / 仍未解決,最多約 900 字;失敗則用本地兜底摘要)。
  2. 在預覽層檢查、修改,點「確認送入」。

寫入後,主會話下一輪請求會帶上這條記錄,DSH 顯示爲上下文/通知卡,不會立刻觸發主會話回覆,也不創建新 turn。摘要確認寫入上限 8000 字,寫入不可撤銷;同一段對話寫入後會顯示「已送入 ✓」並禁用。

隱私(默認行爲)

行爲 會不會發生
向主會話追加消息 默認不會;只有「確認送入」才追加一條 user/message(source.kind='btw')
創建 Agent / 子會話 / 會話文件 不會
寫入標題、壓縮、搜索索引、turn/step 不會
插件自己持久化問題或回答 不會
調用模型 provider 會——旁問即正常模型調用

彈窗內問答、引用和草稿只在頁面內存;關閉即丟棄。

安裝與啓用

要求 DSH Desktop 0.2.1 或更新。

從 npm 安裝(命令來自 README):

dsh plugin --profile desktop add dsh-btw-plugin

然後完全退出並重新打開 DSH Desktop(不是刷新頁面)。打開任意會話,輸入框右側出現 btw 即表示安裝成功。

插件以當前 DSH 進程權限運行;安裝前建議閱讀 源碼與 LICENSE,確認符合你的環境與安全預期。社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

典型用法

  1. 點輸入框右側 btw,或輸入 /btw 後回車,打開彈窗。
  2. 輸入問題,Enter 發送。
  3. 頂部「上下文」欄調整本次旁問攜帶多少會話歷史,點「刷新」重新讀取。
  4. 右側模型下拉切換旁問專用模型;⚙ 可調溫度、輸出上限、推理強度和按鈕顯隱。
  5. 需要先問某段輸出時:選中文字再打開 btw,引用會帶進問題。
  6. 結論值得主會話記住時:「送入主會話」→ 等待摘要 → 預覽修改 →「確認送入」。

配置與限制

可在 Cordis 插件配置裏覆蓋以下鍵(默認值見 lib/logic.js,完整表見 README):

鍵 默認 作用
enabled true 關閉後不註冊任何路由
maxParentMessages 200 「自動」範圍下最多攜帶父會話消息條數
maxRangeMessages 1000 「全部」/「不含工具輸出」硬上限
defaultRecentMessages 40 「最近 N 條」默認值
maxPriorTurns 20 彈窗內追問回傳歷史上限
maxQuestionChars 8000 單次問題長度上限
requestTimeoutMs 300000 單次旁問超時
summaryTimeoutMs 60000 送入摘要生成超時
maxSummaryChars 8000 確認寫入時摘要長度上限

已知限制摘錄:引用跨 shadow DOM 可能取不到選區;上下文欄 token 爲粗估;浮窗偏好存 localStorage 不跨設備;目標會話正在生成時會拒絕寫入摘要。package.json 當前版本 0.5.6,Node >=22.5。

結尾

dsh-btw 把「繼承上下文的一次性旁問」和「可選、可編輯的摘要入主線」拆開:日常確認不打斷主任務,需要時再讓主會話看見結構化結論。

羽毛球分组比赛记分
小程序二维码

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

小夜