dsh-side-chat:DeepSeek Harness 的只讀側邊對話插件

前言

在 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 頁面。

典型用法

  1. 先在普通 parent conversation 中完成至少一個 turn。
  2. 在 conversation header 中選擇 Side Chat,或按 Cmd/Ctrl + Shift + .。
  3. 輸入一個聚焦的 side question。此時,completed parent context 會在後臺靜默準備。
  4. 可以切換任務。drawer 會由 parent parked;返回時,它會帶着原有 transcript 重新出現。
  5. 需要隱藏 Side Chat 時,可以使用 Minimize、Escape、native tab close、header action 或 Cmd/Ctrl + Shift + .。transcript 和 draft 會保留。
  6. 如果確認結束,選擇 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 時,插件會:

  1. 移除 client admission。
  2. abort pending start 或 cancel active work。
  3. dispose live AgentHandle,把 child 從 active runtime 中移除。
  4. 在可用時調用 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

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

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

小夜