前言¶
在 DeepSeek Harness(DSH)中做較長任務時,主會話裏已經積累了一批已完成 turn、上下文和正在處理的工作。中途如果直接追問一個臨時問題,可能會把主 agent 從當前任務軌跡上拉走。
dsh-side-chat 是 DSH 的一個插件:在主會話旁邊打開一個只讀 side chat,繼承已完成的父級上下文,用來回答臨時問題,同時讓 parent agent 繼續獨立運行。項目歸屬於 Lukeknow0,許可證爲 MIT。
這是什麼¶
dsh-side-chat 的定位是:一個 read-only side chat plugin for DeepSeek Harness。
它繼承 completed parent context,處理臨時 side question,並讓 parent agent 繼續運行。側邊會話用於旁路提問,不把側邊交流寫回主對話。
核心能力¶
dsh-side-chat 的已覈實能力包括:
- 繼承 completed parent context,並在臨時會話中提問。
- 保持 parent agent 獨立運行,側邊問題不影響主會話繼續。
- 提供自適應界面:可用 Better Sidebar integration 時使用 Better Sidebar;否則使用 collision-aware overlay drawer fallback。
- 強制只讀約束:沙箱只讀模式,審批策略爲
never。 - 只暴露 parent composition 中實際可用的 read-oriented tools。
- 執行時拒絕未知或非只讀工具,包括 nested Code Mode dispatch。
- 保留 transcript 和 draft:Minimize、Escape、native tab close、header action 或
Cmd/Ctrl + Shift + .都不會丟失當前內容。 - 提供明確的生命週期控制:internal End 需要確認;當 parent 和 child 都 idle 時,進入 30 分鐘 parked lease。
- 支持 English/Chinese UI。
安裝與啓用¶
先確認運行環境滿足以下要求:
- DeepSeek Harness:
>=0.1.0-rc.7 <0.2.0 - Node.js:
^22.19.0 || >=24.0.0 - Browser:DSH Web 支持的當前 Chromium/Safari/Firefox
從 npm 安裝:
dsh plugin --profile web add @lukeknow0/dsh-side-chat
從 GitHub 安裝:
dsh plugin --profile web add github:Lukeknow0/dsh-side-chat
安裝完成後,重啓運行中的 dsh web 進程,然後刷新現有 Harness 頁面。
典型用法¶
- 先在普通 parent conversation 中完成至少一個 turn。
- 在 conversation header 中選擇 Side Chat,或按
Cmd/Ctrl + Shift + .。 - 輸入一個聚焦的 side question。此時,completed parent context 會在後臺靜默準備。
- 可以切換任務。drawer 會由 parent parked;返回時,它會帶着原有 transcript 重新出現。
- 需要隱藏 Side Chat 時,可以使用 Minimize、Escape、native tab close、header action 或
Cmd/Ctrl + Shift + .。transcript 和 draft 會保留。 - 如果確認結束,選擇 internal End 控制並確認。
保留與關閉¶
- 一個 parent 同時只能擁有一個 retained Side Chat。
- parked countdown 只在 parent 和 child 都 idle 後開始。
- parked lease 爲 30 分鐘。
- 如果 countdown 期間 parent 或 child 任一方重新 active,下一次回到 both idle 時會重新開始 30 分鐘。
- 隱藏 Side Chat 會保留可恢復狀態。
- 確認 internal End 會移除可恢復狀態。
安全與清理邊界¶
dsh-side-chat 對 child 側會話使用只讀和默認拒絕策略:
- 繼承已完成的父級上下文。
- 使用沙箱只讀模式,審批策略爲
never。 - 只暴露 parent composition 中實際可用的 read-oriented tools。
- 在執行時拒絕未知或非只讀工具,包括 nested Code Mode dispatch。
關於清理,需要注意:在 DSH 0.1.0-rc.7 上,temporary side chat 不保證物理刪除,因爲該版本沒有公開 API 用於刪除 durable session log。
在 confirmed internal End 或 idle expiry 時,插件會:
- 移除 client admission。
- abort pending start 或 cancel active work。
- dispose live
AgentHandle,把 child 從 active runtime 中移除。 - 在可用時調用 public workspace archive API。
archived session log 可能仍保留在磁盤上。該項目不會 unlink private persistence files,也不依賴 unstable internal storage paths。
適用場景¶
dsh-side-chat 適合在 DSH Web 中處理較長任務時,臨時提出一些只讀問題,例如確認上下文、查看已完成信息或做旁路澄清,同時希望主 agent 保持當前軌跡。
它不適合把側邊會話當作寫操作入口。它的工具面受限制:只暴露實際可用的 read-oriented tools,並在執行時拒絕未知或非只讀工具。
插件以當前 dsh 進程權限運行。安裝前建議檢查源碼與 MIT 許可證,確認其符合你的使用環境。
鏈接¶
GitHub 項目頁:https://github.com/Lukeknow0/dsh-side-chat