前言¶
在 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 會話(命名形如 ❓<主題>),主對話不被打斷。
核心功能¶
下面按使用路徑介紹已覈實的能力。
劃選提問與內嵌面板¶
- 在任意對話(主對話或已有追問)中劃選文本,點擊浮層「提問」。
- 右側「追問」面板展開爲內嵌對話:引文與問題在側邊欄流式回答,輸入框固定在底部,不跳轉大窗口。
- 右側面板即使處於收起狀態,點「提問」也會自動展開,保證操作有可見反饋。
劃選限制(來自源碼約束):單條消息內、非流式輸出中、不超過 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-sidebar 的 openTab 預填引文,不經劃選浮層:
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 側改動瀏覽器硬刷新即可)。
典型用法¶
經過上面的安裝步驟,可按下面流程使用。
- 打開任意 DSH 對話,劃選一段文本,點浮層「提問」。
- 右側「追問」面板出現引文與輸入框。輸入問題,Enter 發送(Shift+Enter 換行)。
- 回答在側邊欄流式顯示。底部輸入框左側可選上下文策略,右側可選模型與查看 context 佔用環;繼續追問都在面板內完成。
- 需要回看歷史追問時,切到「追問記錄」Tab,按樹形結構找到目標會話並跳轉。
- 調模型或默認策略:設置 → 側邊卡片 → 「追問」→ 齒輪「功能配置」。
新追問時,模型選擇與主對話共用 session.models/selectModel 數據。全量繼承模式下模型座只讀置灰(fork 子會話沿用主對話模型);壓縮/裁切模式下爲本地草稿,追問會話建好後應用。
適用場景與注意¶
適合誰
- 長對話中頻繁對局部內容追問,又不想離開主會話上下文的 DSH 用戶。
- 需要類 Codex 側邊提問或 Claude Code
/btw體驗、且已在用dsh-better-sidebar的開發者。
使用前注意
- 插件以當前
dsh進程權限運行,安裝前建議閱讀 GitHub 源碼 與 MIT 許可證。 - 依賴鏈:
dsh-sidebar-qa→dsh-better-sidebar@0.14.0+→ DSH0.1.0-rc.8+。環境過舊時先升級 DSH。 - SkillHub 目錄頁(skillhub.cn/plugins/ChenRuoT/dsh-sidebar-qa)爲社區獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,本插件是社區第三方拓展,非內置能力。
結尾¶
dsh-sidebar-qa 把「劃選 → 側邊追問 → 獨立會話」串成一條零打斷鏈路:主對話繼續,追問有記錄、可嵌套、可配置上下文與模型。若你已在用 DSH Web 與 better-sidebar,可按上文命令安裝試用。