dsh-multi-session:在一個視圖裏總覽並排多個 DSH 會話

前言

DeepSeek Harness(DSH)默認界面只展示當前這一個會話。當你同時開着多個會話並行跑任務時,想知道別的會話在聊什麼、誰已經跑完、誰卡在等你回話,往往只能一個個點開再切回來。社區插件 dsh-multi-session(維護者 good-saltfish,分類:客戶端)把總覽、並排對話流和發消息收進同一頁,減少來回切換。

下面介紹它是什麼、能做什麼、如何安裝,以及使用時需要留意的限制。

這是什麼

dsh-multi-session 的定位是:在一個會話視圖裏同時盯住多個會話——左側(或總覽區)是會話卡片列表,右側可釘住最多三列,直接顯示「我 ↔ 助手」的對話正文,並支持發消息、打斷、轉發。

與 DSH 原生「單會話 UI」相比,它額外提供按工作區分組、運行態排序、全文搜索(不激活會話、不燒 token)、以及 Host 側讀取任意會話對話摘要等能力。插件爲純 Web 客戶端 + Host 路由組合,MIT 許可證,當前 package 版本爲 0.5.3(以倉庫 package.json 爲準)。

核心功能

總覽面板

在任意會話頂部視圖切換條裏進入 「多會話」 頁籤,即可看到總覽面板。面板會:

  • 按 運行中 → 剛完成 → 其餘 排序,卡片帶狀態點、輪數、子代理數、token、模型與相對時間;
  • 對卡在等你回話或等你批准的會話,用琥珀色標出 「等你回話 / 等你批准」(依據未決 approval/asked、未返回的 ask_user_question 等事件,不做超時猜測);
  • 按工作區(cwd)分組;子代理會話與歸檔會話默認摺疊;
  • 頂部搜索框 跨全部會話全文搜索;優先走 sessionController.search,索引禁用時退化爲讀磁盤日誌掃描面板可見會話;
  • 運行中或剛完成的卡片可顯示該會話最後一句助手結論,以及本輪 改了哪些文件(依賴 workspaceChanges.summary(),僅有 workspace/changes 事件時纔有數據)。

並排釘住與對話流

卡片底部有 + 並排看(已釘住時爲 − 移出並排),最多並排 3 個會話。釘住選擇保存在 localStorage,關閉面板再打開仍保留。整張卡片本身不可點擊,避免誤觸跳轉;要進入該會話請點同一行的 打開。

並排每列展示過濾後的 user/assistant 對話(Markdown 渲染;工具調用、系統注入等已在 Host foldDigest 與客戶端二次過濾)。氣泡佈局爲 助手靠左、你靠右,消息旁有 「轉發」 可選目標會話,語義爲 queue 排進對方收件箱。

直接操控

每列底部有輸入框:

  • Enter:發送並排進收件箱,不打斷當前回合;
  • Shift+Enter:插話,立刻打斷當前回合;
  • 運行中的列另有 「停止」 按鈕(對應 Host prompt 的 cancel)。

運行中列約 1.2 秒 刷新一次;停下後降頻到 8 秒 繼續跟,避免剛結束仍停在舊結果。

安裝與啓用

從 DSH 插件市場安裝,或本地安裝 bundle。官方 README 給出的命令形式如下(target 填插件目錄或包名,勿自行拼接未在文檔出現的 dsh plugin add 形式):

plugin_manager action=install_bundle target=<插件目錄或包名>

運行環境要求 Node.js >= 20。業務 HTTP 路由均過 connection.requestRejection 鑑權;瀏覽器同源 fetch 帶 cookie 可用,直接用 curl 會得到 unauthorized,屬預期行爲。

開發期診斷(/probe、/stamp、/reload 等)默認關閉。開啓方式二選一:在 profile patch 裏爲本插件設置 dev: true,或設置環境變量 DSH_MULTI_SESSION_DEV=1 後重啓 DSH。

典型用法

  1. 打開任意 DSH 會話,在頂部視圖切換條進入 「多會話」。
  2. 在總覽裏按工作區找到目標會話;需要同時盯正文時,點卡片上的 + 並排看(最多 3 列)。
  3. 需要跳轉完整會話界面時,點 打開,而不是點卡片空白區域。
  4. 在並排列底部輸入框發消息:普通發送用 Enter,要打斷當前回合用 Shift+Enter。
  5. 要把某條結論交給另一個會話:點消息旁的 「轉發」,選擇目標會話。
  6. 跨會話找關鍵詞:用面板頂部搜索框,無需逐個激活會話。

Host 側對話數據經 GET /plugins/dsh-multi-session/digest 等路由提供;客戶端列表與會話元數據來自插槽 standardProps 的 useWorkspaces / useSessions。

適用場景與注意

適合誰: 經常在 DSH 裏並行開多個會話、需要一眼看清誰在跑、誰在等、並想在同一屏讀正文或插話的智能體 / 開發者用戶。

權限與安全: 插件以當前 DSH 進程權限運行,安裝前請自行審閱源碼與 MIT 許可證,確認符合你的部署策略。

已知限制(摘自 README):

  • 並排最多 3 列;每列默認最近 20 條,可「載入更早」,Host 上限 600 條;單條用戶/助手正文有字數上限(爲控制輪詢載荷)。
  • 子代理會話默認摺疊,避免列表被淹沒。
  • 純 Web 插件,關掉頁面即無界面;關頁仍要收通知需另接 webhook 等機制。
  • 會話間轉發固定爲 queue,不提供打斷式轉發。
  • 跨會話搜索在索引 openAt: "never" 時會退化掃描,面板可見會話較多時可能需數秒。

SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標等統計以各站點展示爲準(GitHub 上該倉庫當前爲 1 star)。

結尾

dsh-multi-session 把多會話的狀態總覽、並排對話與操控集中在一個視圖裏,針對「多點開、難分清誰在等、切會話只爲說一句話」等痛點做了針對性設計。若要進一步瞭解或提 issue,可訪問 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜