前言¶
在 DeepSeek Harness(DSH)裏跑長任務時,主對話往往已經堆了不少上下文。若想在不影響主線程的前提下,單獨問一句「這段工具輸出什麼意思」、做旁路分析,或把結論寫回主對話,常見做法是再開一個新會話或依賴子智能體目錄——前者丟失實時主上下文,後者更偏向編排子 agent,而不是「人在旁邊開一條可回傳的側枝」。
下面介紹社區插件 dsh-side-conversation(維護者 vaniawang,分類:客戶端)。它在當前主對話旁打開一條 Live Side Branch:繼承主對話已完成的歷史,使用 Harness 自帶的完整對話界面與工具,並在每次請求時帶上主對話的實時快照;側欄 agent 可通過 relay 把內容送回主對話,並展示 token 與 cache 用量。插件不以官方 DSH 插件身份發佈,與 DeepSeek 無從屬關係;npm 包名爲 dsh-side-conversation,當前 package 版本爲 0.6.0,許可證 MIT。
這是什麼¶
dsh-side-conversation 是 DSH 的客戶端插件:在當前會話標題欄工具區點按鈕,即可 fork 出一條側欄會話。側欄不是第二套 subagent 目錄——官方 subagentchat Sidebar 用於瀏覽、續聊真正的 subagent 子會話;本插件面向需要 實時主上下文 + 回傳主對話 的人工側枝討論。
側欄會話是真實 fork:每個主對話、每個「已完成輪次邊界」對應至多一條側欄會話;在父對話未推進新輪次前再次打開會 resume 同一條;父對話完成新輪次後會從新邊界重新 fork。
核心功能¶
原生對話界面¶
側欄使用宿主自帶的聊天視圖:composer、模型選擇、reasoning effort、權限選擇、附件、命令與停止控制等與主對話一致。
繼承歷史與邊界約束¶
Fork 時繼承父對話已完成的歷史,作爲參考材料注入;側欄 agent 被指示不得擅自延續父任務或改動工作區,除非用戶明確要求。
實時主上下文(Inline & Spill)¶
每次請求附帶父對話當前狀態,以及緊湊的引用索引(消息/工具 ID、短片段、進行中的引用)。長正文默認不進窗口,直到模型通過引用按需展開。
Chain recall¶
工具 recall_main_conversation({kind, id}) 可展開父對話中的單條消息或工具調用,並返回下一跳引用,按需遍歷長曆史,而不是整段塞進每次請求。
工具防護與 Relay¶
subagent、teammate、goal、workflow、loop 等工具仍在 schema 中,但在側欄會話內會被拒絕。側欄可通過 send_to_main_conversation 把用戶要求的內容 relay 到主對話。
用量與歷史¶
側欄右上角 badge 顯示最近一次請求的 input tokens 與 cache 命中率,以及累計 token/cache 用量;agent 可用 read_main_conversation 請求更大的父快照。側欄 History 控件列出該主對話下更早的側欄會話,可在獨立標籤中重新打開。
宿主 HTTP 接口(實現概要)¶
宿主側監聽父對話與側欄 agent,公開路由包括:
POST /dsh-side-conversation/open— 爲父對話最新已完成輪次邊界創建或恢復側欄會話GET /dsh-side-conversation/stats— 側欄 token、cache、上下文用量GET /dsh-side-conversation/history— 該主對話下歷史側欄會話列表GET /dsh-side-conversation/health— 宿主與客戶端構建信息
側欄是普通獨立 session,不會在父對話追加 subagent 通知;父狀態通過動態 runtime context 注入,邊界與說明註冊爲 per-agent prompt sections。
隱私說明¶
插件自身不發起獨立網絡請求;模型請求走 Harness 已配置的 provider。側欄 transcript 會包含自父對話繼承的上下文;父對話中的文件不會被複制,側欄 agent 需要時通過常規模型工具讀取。
環境與要求¶
- DeepSeek Harness:
0.2.1-rc.1及以上,且位於0.2.1線(engines.dsh:>=0.2.1-rc.1 <0.3.0-0);當前構建在0.2.1-rc.5上測試。 - Node.js:22.19 或更新。
安裝與啓用¶
插件以當前 DSH 進程權限運行;安裝前建議閱讀倉庫源碼與 MIT 許可證。社區目錄頁:https://www.skillhub.cn/plugins/vaniawang/dsh-side-conversation;源碼:https://github.com/vaniawang/dsh-side-conversation。
DSH Desktop:打開 Settings → Plugins,搜索 dsh-side-conversation 安裝;插件管理器會把 bundle 鏈接或安裝到當前 profile。npm 包:https://www.npmjs.com/package/dsh-side-conversation。
DSH CLI(將 <profile> 換成你的 profile 名):
dsh plugin --profile <profile> add dsh-side-conversation
若需從本地目錄安裝:
dsh plugin --profile <profile> add /path/to/dsh-side-conversation
若 npm 上尚不可用,可從倉庫或 release tarball 安裝:
dsh plugin --profile <profile> add github:vaniawang/dsh-side-conversation
# 或
dsh plugin --profile <profile> add ./dsh-side-conversation-0.1.0.tgz
安裝後若插件列表未自動刷新,請重新加載 Web UI。
典型用法¶
- 打開一條主對話,在標題欄工具區點擊 side-conversation 按鈕。
- 在側欄就父對話提問、做分析,或進行獨立討論。
- 若要把結果寫回主對話,讓側欄 agent 發送到主對話(使用 relay 工具
send_to_main_conversation)。 - 側欄面板右上角 badge 查看最近一次請求的 input tokens 與 cache 命中率。
適用場景與注意¶
適合:主對話在推進實現時,需要旁路澄清、對照父上下文做解讀,並把結論 relay 回主線程;希望側欄仍是「完整 Harness 對話」,而不是輕量彈窗或純 subagent 列表。
注意:
- 與官方 subagentchat 側欄職責不同,不要混爲「再開一個 subagent 子目錄」。
- 側欄繼承的是已完成歷史 + 實時快照;邊界指令限制其默認不替父對話改倉庫。
- 目標 DSH 版本爲
0.2.1線;升級 Harness 大版本前請覈對engines.dsh。 - 社區插件,非官方 bundle 自帶組件。
結尾¶
dsh-side-conversation 把「fork 主對話、側欄原生 UI、按需 recall 父歷史、relay 回主對話、用量 badge」收在一個客戶端插件裏,適合在 DSH 長會話裏開一條帶 live 父上下文的側枝。目錄與文檔: