前言¶
在 DeepSeek Harness(DSH)裏跑智能體時,主會話 transcript 往往承載完整任務脈絡。若想在同一份工作區裏「旁開一局」做小實驗、改文件或追問細節,又不想把側對話寫進主歷史,需要一套與主會話隔離、又能共用 agent、工具和 cwd 的機制。上游 @flyer103/dsh-side-chat 已在右側欄提供側聊能力;dsh-side-chat-slash 在其 0.7.0 基礎上 fork,補上從輸入框用 /side 打開側欄標籤頁,並處理審批策略與打開流程,便於在 Web / Desktop 界面裏快速拉起側對話。
這是什麼¶
dsh-side-chat-slash 是 DSH 客戶端插件(維護者 lucyVan),面向 DeepSeek Harness Web GUI。它在當前會話旁 fork 出子對話:同一 agent、同一套工具、同一 workspace,可真實 write / edit / bash;關閉側欄標籤後銷燬側會話,不改動主 transcript。
代碼主體來自 MIT 授權的 flyer103/dsh-side-chat;本倉庫僅包含 README 所列增量,並保留原 LICENSE。包版本 0.1.0,許可證 MIT。
與上游的差異¶
| 變更 | 說明 |
|---|---|
Host 級 /side 斜槓命令 |
上游主要靠右側欄引導卡片。本插件在 composer 輸入 /side 並回車即可打開側聊標籤;通過 ctx.commands.register 註冊爲 host 命令,避免依賴 session summary 與 client locale 的 commandUi 貢獻項靜默失效。 |
| Open-request 橋接 | /side 不直接創建側會話,而是置位「請打開標籤」;客戶端輪詢 /side-chat/api/pending(約每 2s),再調用 sidebarRight.openTab('side-chat'),仍由標籤頁持有會話,保留上游「一標籤一會話、關閉即 dispose」的生命週期。 |
審批固定爲 never |
上游繼承父會話審批策略,但側聊標籤不渲染審批 UI;父會話若爲 ask,側 agent 會一直等待。側聊側將父級 ask 降級爲 never。 |
上游右側欄引導頁裏的「Side chat」入口仍可使用。
核心行爲¶
- Fork 時刻繼承主會話完整歷史、preset、cwd、provider/model、sandbox 模式。
- 隔離:側聊輪次不進入主 transcript、會話列表或 subagent 目錄。
- 獨立:fork 之後主會話新消息不會流入該側聊;每個側聊自帶上下文。
- 真改文件:工具作用在同一 workspace,主會話下次讀取可見變更。
- 關閉即銷燬:側會話持久化日誌會移除(best effort)。
繼承自上游的限制包括:側聊標籤不顯示審批提示(已由 never 緩解)、關閉後無法恢復、首個側聊請求體積大致與父會話下一次請求相當且多開側聊會放大、GUI 重啓會丟失所有側會話、僅 Web 平臺(含 Desktop 窗口),無 CLI/TUI。
安裝與啓用¶
--profile 須與實跑進程一致:desktop 對應 Desktop 應用,web 對應 dsh web。
# 從 GitHub 安裝
dsh plugin --profile desktop add github:lucyVan/dsh-side-chat-slash
# 本地目錄(絕對路徑)
dsh plugin --profile desktop add /absolute/path/to/dsh-side-chat-slash
安裝後重啓 DSH:Desktop 用 ⌘Q 退出再打開;dsh web 進程需重啓。
兼容性(資料原文)
| 項 | 說明 |
|---|---|
| DSH | 在 0.2.2-rc.1 驗證;engines.dsh 爲 >=0.2.2-rc.1 <0.3.0-0,不匹配時安裝階段即拒絕。 |
| 平臺 | macOS 測試;Windows/Linux 未測(無平臺專用代碼,預期可用)。 |
| Node | >=22(由 DSH 捆綁運行時滿足)。 |
| 並存 | 不能與上游 @flyer103/dsh-side-chat 同時安裝(路由與 tab 類型衝突)。 |
DSH 升級後若因 engines.dsh 拒絕安裝,可按 README 使用 dsh plugin --profile <name> allow-version ... --accept-risk(須先備份 workspace)。卸載示例:
dsh plugin --profile desktop remove dsh-side-chat-slash
然後同樣重啓 DSH。
典型用法¶
- 打開至少有一條消息的主會話。
- 在 composer 輸入
/side並回車——右側欄出現 side-chat 標籤。 - 在側聊標籤裏發送第一條消息後纔會 fork;空標籤無額外成本。
- 關閉標籤銷燬該側聊;需要新開時再執行
/side。
適用場景與注意¶
適合:想在主任務不斷檔的前提下,用同一工作區做短平快分支(試 patch、覈對命令、單獨追問),且不希望側對話污染主歷史或會話列表的 DSH Web / Desktop 用戶。
安裝前建議:插件以當前 DSH 進程權限運行,具備與主 agent 相同的工具面;安裝前應閱讀 倉庫源碼 與 MIT 許可證,確認不與已裝的 dsh-side-chat 重複。
生態說明:DSH 採用「一切皆插件」;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。