dsh-sidebar-qa:在 DSH 側邊欄劃選即問,主對話零打斷

前言

在 DSH 裏做長對話時,經常需要對某段回覆追問細節,又不想打斷主線程。常見做法是開新會話、複製粘貼上下文,或切到子窗口——步驟多,主對話也容易被打斷。

dsh-sidebar-qa 把這類追問收進右側側邊欄:劃選文本、點「提問」,在同工作區自動建獨立會話,主對話繼續跑。交互上接近 Codex 的側邊提問,或 Claude Code 的 /btw

這是什麼

dsh-sidebar-qa 是 ChenRuoT 維護的 DSH Web 客戶端插件,基於 dsh-better-sidebar 註冊的第三方拓展 Tab。當前版本 0.4.0,MIT 許可證,GitHub 約 31 stars。

它解決的核心問題:在對話裏劃選任意文本 → 右側面板內嵌問答 → 自動創建同工作區獨立 DSH 會話(命名形如 ❓<主題>),主對話不被打斷。

核心功能

下面按使用路徑介紹已覈實的能力。

劃選提問與內嵌面板

  1. 在任意對話(主對話或已有追問)中劃選文本,點擊浮層「提問」。
  2. 右側「追問」面板展開爲內嵌對話:引文與問題在側邊欄流式回答,輸入框固定在底部,不跳轉大窗口。
  3. 右側面板即使處於收起狀態,點「提問」也會自動展開,保證操作有可見反饋。

劃選限制(來自源碼約束):單條消息內、非流式輸出中、不超過 2000 字符。

上下文策略

每次新追問可在三種策略間切換(面板內 chip + 配置默認值 historyStrategy):

  • 全量繼承inherit):sessions.fork 從主會話最近已完成 turn 分叉,完整歷史隨種子繼承,首條請求複用主會話消息前綴,利於 DeepSeek 前綴緩存命中。主對話正在回答時會自動降級爲「壓縮」。
  • 壓縮compressed,默認):快速模型壓縮較早窗口,近期原文保留。
  • 機械裁切trim):取最近 trimWindowMessages 條消息原文,無 LLM 成本。

智能摘要與獨立會話

首條追問前,host 側用快速無思考模型把主對話上下文壓成摘要,與劃選引文一起注入首條消息。摘要失敗時降級爲「僅近期對話 + 引文 + 問題」,問答不中斷。

每個追問是同工作區獨立會話,可繼續追問、可歸檔。在追問對話裏再劃選提問,會生成嵌套子追問。

追問記錄

側邊欄另有「追問記錄」Tab:按根(主)會話分組,以分層樹列出當前工作區內所有嵌套追問。節點可摺疊,顯示最近訪問時間;點擊跳轉後追問記錄 Tab 保持開啓。已歸檔或已刪除的追問會置灰標註,可從記錄中移除(清理 localStorage 映射,不影響 DSH 側會話本身)。

兩段式命名

劃選時先用首行文本佔位命名;首次回答完成後,host 基於「問題 + 回答」提煉 ≤15 字最終標題並覆蓋重命名。

可配置項

配置走 DSH 設置服務 sidebarqa 命名空間。Web 入口:DSH 設置 → 側邊卡片 → 「追問」卡片右上角齒輪「功能配置」。

默認 說明
historyStrategy compressed 默認上下文策略
trimWindowMessages 10 機械裁切保留條數(1–256)
summarizeProvider '' 摘要模型渠道;空則繼承被追問會話
summarizeModel deepseek-v4-flash 摘要模型
summarizeReasoningEffort off 摘要思考模式
answerProvider deepseek-official 子對話回答渠道
answerModel deepseek-v4-flash 子對話回答模型
answerReasoningEffort off 子對話思考模式

界面文案與模型側提示詞跟隨 DSH 語言設置;回答語言跟隨提問/劃選內容,不被界面語言綁定。

跨插件調用

外部插件可通過 dsh-better-sidebaropenTab 預填引文,不經劃選浮層:

ctx.betterSidebar.openTab(
  { type: 'dsh-sidebar-qa:ask', meta: { quote: { text: '選中的內容', role: 'user' } } },
)

安裝與啓用

前置依賴

dsh-better-sidebar 必須安裝,且需 0.14.0+(對應 DSH 0.1.0-rc.8;rc.7 及更早無法解析本插件 peer 依賴)。未安裝時本插件不激活,無 UI 與行爲。

dsh plugin --profile web add dsh-better-sidebar@latest

安裝插件

# 通過 npm(推薦)
dsh plugin --profile web add dsh-sidebar-qa

# 或本地路徑
dsh plugin --profile web add <本倉庫路徑>

安裝後重啓 dsh web(host 側改動需重啓;client 側改動瀏覽器硬刷新即可)。

典型用法

經過上面的安裝步驟,可按下面流程使用。

  1. 打開任意 DSH 對話,劃選一段文本,點浮層「提問」。
  2. 右側「追問」面板出現引文與輸入框。輸入問題,Enter 發送(Shift+Enter 換行)。
  3. 回答在側邊欄流式顯示。底部輸入框左側可選上下文策略,右側可選模型與查看 context 佔用環;繼續追問都在面板內完成。
  4. 需要回看歷史追問時,切到「追問記錄」Tab,按樹形結構找到目標會話並跳轉。
  5. 調模型或默認策略:設置 → 側邊卡片 → 「追問」→ 齒輪「功能配置」。

新追問時,模型選擇與主對話共用 session.models/selectModel 數據。全量繼承模式下模型座只讀置灰(fork 子會話沿用主對話模型);壓縮/裁切模式下爲本地草稿,追問會話建好後應用。

適用場景與注意

適合誰

  • 長對話中頻繁對局部內容追問,又不想離開主會話上下文的 DSH 用戶。
  • 需要類 Codex 側邊提問或 Claude Code /btw 體驗、且已在用 dsh-better-sidebar 的開發者。

使用前注意

  • 插件以當前 dsh 進程權限運行,安裝前建議閱讀 GitHub 源碼 與 MIT 許可證。
  • 依賴鏈:dsh-sidebar-qadsh-better-sidebar@0.14.0+ → DSH 0.1.0-rc.8+。環境過舊時先升級 DSH。
  • SkillHub 目錄頁(skillhub.cn/plugins/ChenRuoT/dsh-sidebar-qa)爲社區獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本插件是社區第三方拓展,非內置能力。

結尾

dsh-sidebar-qa 把「劃選 → 側邊追問 → 獨立會話」串成一條零打斷鏈路:主對話繼續,追問有記錄、可嵌套、可配置上下文與模型。若你已在用 DSH Web 與 better-sidebar,可按上文命令安裝試用。

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

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

小夜