前言¶
DeepSeek Harness 採用插件化架構,旨在提供靈活的擴展能力。在進行長鏈路開發或複雜 Agent 編排時,往往需要將特定的上下文剝離出來,進行獨立的澄清、驗證或調試。DeepSeek Harness SideChat 插件爲 DSH 提供了普通、持久化、可恢復的 SideChat 澄清會話。
安裝與啓用¶
在本地倉庫根目錄下執行以下命令進行安裝:
dsh plugin --profile web add . --force
安裝完成後,應確認配置輸出中包含 sidechat-preset-root 和 sidechat。由於該插件僅對 DSH 0.1.2-alpha.1 做過完整覈驗,在升級 DSH 基線前,建議重新運行源碼契約複覈和真實 Web smoke 測試。
核心功能¶
會話創建與持久化¶
在任意 Session 中輸入 /side 即可創建獨立的 SideChat。該會話是一個正常的 DSH Session,擁有完整的會話頁面、原生模型選擇器和持久化的 transcript。即使卸載插件,已創建的 SideChat 仍保留在普通 Session 列表中,不會丟失。
Seed 策略¶
創建 SideChat 時需要選擇 Seed 策略,用於決定傳遞給子會話的上下文內容。支持的策略包括 tail(默認爲 tail:1,即最後一條直接文本)、task、summary、none、tail:2、tail:4、pick:1、pick:many、turn 和 selection。Seed 只保存直接文本,不復制 reasoning、工具調用或完整父 transcript,且與來源消息保存爲不可變的 provenance。
權限模式¶
創建 SideChat 時需選擇權限模式,所有權限由 Host 重新計算:
- 只讀模式(推薦):候選能力爲
read、glob、grep、Shell、Web、Plan、用戶提問、子代理和 workflow;沙箱固定爲read-only,審批固定爲never。 - 繼承:繼承父會話創建時的 Agent preset、有效 sandbox、approval 和可見工具上限。
Fold 與引用¶
插件支持通過 /sidefold 生成結構化 Fold,支持預覽、編輯和提交。提交成功後會自動返回父 Session。此外,支持 revision、增量 Fold、對比和軟撤回;可以使用 /sidecite 把指定 assistant 回覆無回覆引用到父會話。
生命週期與追蹤¶
SideChat 支持多種狀態管理,包括 archive(歸檔)、restore(恢復)、abandon(放棄)和 orphaned(孤立)。通過 /sideusage 可以展示可驗證的 token 用量,而不是估算值。
典型用法¶
創建 SideChat 並進行澄清對話的典型步驟如下:
- 在父 Session 的輸入框中輸入
/side。 - 使用方向鍵選擇 Seed 策略,按 Enter 確認。
- 選擇“只讀模式”或“繼承”,按 Enter 確認。
- 輸入澄清問題:Enter 創建,Shift+Enter 換行,Esc 取消。
- 在完整 SideChat 頁面繼續多輪對話。
- 使用
/sidefold生成 Fold;在預覽中 Enter 提交、Shift+Enter 換行、Esc 取消。
注意事項¶
- 環境依賴:當前只對 DSH
0.1.2-alpha.1做過完整覈驗。外部 bundle 無法進入當前 DSH 的 generated Remote assembly,插件使用公開、認證的connection.rpc.handle('/sidechat')通道。 - 卸載行爲:卸載只移除插件 UI、Host service 和 SideChat 關係解釋能力,不會刪除已經創建的普通 Session 或 transcript。
- 不可變性:Seed 內容與來源消息保存爲不可變 provenance。
- 權限控制:所有權限都由 Host 重新計算,瀏覽器提交的模式或 Session ID 不能直接獲得授權。
總結¶
DeepSeek Harness SideChat 插件通過標準的 slash 命令提供了一套完整的持久化澄清會話方案。它利用 DSH 原生的 Session 機制,避免了臨時浮層或 subagent 的複雜性,適合需要在主流程中剝離上下文進行獨立驗證的場景。
項目地址:GitHub