dsh-side-branch:主會話的只讀分支

前言

在 DeepSeek Harness (DSH) 的開發過程中,常需要在主會話中繼續追問細節,但又不想打斷當前的上下文流,更不希望生成的回答污染主會話的 Token 上下文。現有的側邊欄插件大多存在侷限:要麼是單次氣泡無法多輪追問,要麼會破壞前綴緩存,導致主會話推理成本激增。

dsh-side-branch 旨在解決這一問題。它從主會話派生一條獨立的只讀分支,利用流式傳輸提供實時回答,同時在執行層嚴格隔離,確保答案不會寫入主會話上下文。

核心功能

  1. 派生只讀分支:從主會話派生會話,繼承上下文但互不干擾。
  2. 流式傳輸與推理:支持逐 Token 流式輸出,包含推理過程。
  3. 多輪追問:分支內部支持連續多輪對話,上下文獨立維護。
  4. 前綴緩存優化:通過執行層隔離而非 Prompt 修改,保持與主會話一致的前綴緩存。
  5. 執行層只讀:安全策略在執行層生效,拒絕系統副作用(如寫文件),但保留 read、web_search 等查詢能力。
  6. 持久化狀態:面板狀態本地持久化,支持斷點續問。

安裝與啓用

安裝前請確保本地環境已安裝 Node.js >= 20,且 pnpm 已加入 PATH。插件需要 DSH 版本 0.1.5-rc.2 或 0.1.7-rc.2。

  1. 安裝插件:
dsh plugin --profile web add dsh-side-branch

或通過 GitHub 倉庫安裝:

dsh plugin --profile web add github:wucl12/dsh-side-branch
  1. 重啓 DSH:
    安裝完成後必須重啓 DSH 客戶端,插件才能正確加載。

使用方法

  1. 選擇文本追問:
    在主會話中選擇任意文本,點擊彈出的 “Quote and ask”,會在右側側邊欄打開一個臨時會話。引用的文本會作爲摺疊塊記錄在當前輪次中,且不影響下一次提問的引用槽。

  2. 快速入口:
    在主會話輸入框右側有一個快速入口按鈕 ↗,點擊可直接喚起側邊欄面板。

  3. 獨立配置:
    在側邊欄面板中,可以單獨指定該分支使用的模型和推理努力(Reasoning Effort),而不受主會話配置的限制。

注意事項

  1. 只讀邊界:這裏的只讀是指無系統副作用(如寫入文件、執行腳本)。web_fetch、web_search 和 read 工具仍可正常使用,且允許列表硬編碼,無法通過設置放寬。

  2. 上下文繼承機制:
    - 每次追問都會基於主會話最新已結算的內容重建上下文。
    - 未完成的輪次不會自動出現在分支中(回退到上一輪結束點),但手動引用選擇文本不受此限制。
    - 當上下文達到上限時,插件會拒絕該輪次並提示清理,不會靜默丟棄舊輪次。

  3. 前綴緩存說明:
    前綴緩存命中是一個測量值而非保證。雖然插件通過執行層隔離保持了 Prompt 前綴一致,但平臺可能在某些情況下替換系統節點,導致緩存失效。

  4. PTC 模式限制:
    如果主會話使用了 ptc(純代碼執行工具表面)模式,由於插件強制拒絕 run_code,分支將回退爲純文本 Q&A 模式,無法調用代碼執行工具。

結語

dsh-side-branch 爲需要在主會話流中安全探索、追問細節提供了穩定的工具。通過執行層隔離和上下文重建機制,它在保證安全性的同時最大化了前綴緩存的利用率。

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

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

小夜