dsh-recent-sessions:在 DSH 左側欄一屏直達最近會話

前言

DeepSeek Harness(DSH)把智能體任務拆成大量會話,並掛在工作區與官方左側「工作區」列表裏。任務一多,「哪個在跑、哪個跑完還沒看、哪個在等授權或回答、常回訪的是哪幾個」往往要在長列表裏翻很久。官方會話瀏覽區功能完整,但缺少把這幾類狀態固定在最上方、一眼能點的分區。

社區插件 dsh-recent-sessions(維護者 tianxiaz)在左側欄增加與工作區同規格的「最近會話」分區:收藏、運行中、等待你的回應、完成未讀、最近活躍五類固定展示;每個會話行帶 ☆ 一鍵收藏;整段可收起到一行並支持就地搜索。官方工作區與會話瀏覽行爲保持不變。分類爲客戶端插件,當前 GitHub 星標爲 0;許可 MIT,版本 0.1.5,目標 DSH ^0.2.1-rc.5。

這是什麼

本插件以 bundle 形式給 DSH 左側欄增加「最近會話」分區,視覺與交互對齊官方「工作區」:同一套網格(36px 分區標題 / 34px 分組行 / 32px 會話行 / 28px 溢出行),不另開頁面、不是懸浮面板。

它接管左側欄外殼(sidebar 佔位),原樣複用官方 sidebar.workspaces 的 WorkspaceBrowser。分區落在工作區分組上方。搜索、會話 … 菜單、拖拽排序、歸檔篩選、工作區增刪改等與未裝插件時一致。

默認只統計屬於某個工作區的會話;未分組會話(例如在 /tmp 用 CLI 跑的一次性任務)僅在需要回應時(等待授權 / 待回答)出現在本分區,其餘狀態仍留在下方官方列表的「未分組」裏。

在線說明:https://tianxiaz.github.io/dsh-recent-sessions/
目錄頁:https://www.skillhub.cn/plugins/tianxiaz/dsh-recent-sessions
源碼:https://github.com/tianxiaz/dsh-recent-sessions

核心功能

五類固定分組

分類 作用(資料表述)
收藏 常用會話,可拖拽排序
運行中 正在執行的會話
等待你的回應 待授權 / 待回答;黃點行直接寫狀態,不必點進會話才知道在等什麼
完成未讀 已完成但未讀
最近活躍 最近碰過的 5 個會話(純時間列表,與是否收藏無關)

分組旁有黃 / 藍 / 綠等狀態點,便於判斷下一步點哪裏。

收藏

三種方式(README 原文):

  1. 會話行懸停時點 ☆(官方會話列表行上也會多出該按鈕);
  2. 把會話行從下方官方列表拖進「最近會話」分組;
  3. 點分區標題右側「在面板中打開」,在面板頁拖到「收藏」區或拖到某條收藏上調整順序。

收藏順序即展示順序,存在本機瀏覽器。被收藏的會話在「最近活躍」裏仍會出現,行尾帶 ★ 提示;在「收藏」裏同時出現是刻意設計。已歸檔會話不出現在快捷列表裏,收藏 id 仍保留,取消歸檔後自動回來。

收起、搜索與鍵盤

  • 收起到一行:點分區標題或「收起」,整段摺疊爲 36px 高,工作區列表拿回高度;狀態記在瀏覽器,下次打開保持。
  • 就地搜索:點標題右側 🔍,標題行變爲輸入框,按會話標題 / 工作區名篩選本分區;Esc 或 × 退出,Enter 打開第一條,命中文字高亮;↑/↓ 可在分區內鍵盤瀏覽。
  • 分類摺疊:懸停分組行圖標變實心三角,點擊摺疊/展開;手動選擇寫入 localStorage,硬刷新後恢復。默認規則:收藏永遠默認收起;有「等待你的回應 / 運行中 / 完成未讀」時這些默認展開、「最近活躍」默認收起;三類都沒有時「最近活躍」默認展開。

空間與拖拽

工作區至少佔可用高度 55%(且不少於 160px),「最近會話」最多 45%、上限 420px 並在內部滾動。窗口很矮時,最近會話只保留標題一行。拖動工作區裏的會話時,「最近會話」會臨時摺疊成一行,標題同時變成投放區。

數據與隱私

純前端插件,除 DSH 自身外不發起網絡請求。收藏與 UI 狀態存在當前瀏覽器 localStorage:

  • dsh.recent-sessions.favorites.v1 — 收藏會話 id 及順序
  • dsh.recent-sessions.inline.open.v1 — 整段是否收起到一行
  • dsh.recent-sessions.cats.v1 — 各分類手動摺疊/展開

收藏按站點區分,換瀏覽器或換域名不共享。

安裝與啓用

DSH 生態是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。安裝前建議瀏覽源碼與 MIT 許可證;插件在 DSH 客戶端進程中運行,權限與當前 DSH 進程一致。

插件市場(推薦)

Plugins → Discover → Add index source,粘貼索引地址後在卡片上安裝:

https://tianxiaz.github.io/dsh-recent-sessions/market/index.json

GitHub Pages 緩存約 10 分鐘。若該地址網絡不通,可換 jsDelivr 鏡像(分支緩存約 12 小時):

https://fastly.jsdelivr.net/gh/tianxiaz/dsh-recent-sessions@main/market/index.json

命令行

dsh plugin --profile <你的 profile> add "git+https://github.com/tianxiaz/dsh-recent-sessions.git"

本地目錄(開發/自用)

plugin_manager install_bundle  <絕對路徑>/dsh-recent-sessions

安裝後硬刷新頁面即可看到左側欄「最近會話」分區。

典型用法

下面步驟來自 README,可按同一客戶端復現。

  1. 安裝並完成硬刷新後,在工作區上方查看「最近會話」五類分組;根據黃 / 藍 / 綠點與「待授權 / 待回答」文案決定優先打開的會話。
  2. 對常回訪會話,懸停該行點 ☆,或從下方官方列表把會話行拖進「收藏」;在收藏分組內可拖拽排序,懸停收藏行可用 ↑「移到最前」。
  3. 列表變長時點標題右側 🔍 過濾,用 Enter 打開第一條或方向鍵在分區內移動;不用整段時點標題收起到一行,需要時再展開。
  4. 需要更大操作面時,點標題右側「在面板中打開」進入面板頁管理收藏(面板頁不再佔用左側面板列表的一行,與分區內容重複,按需打開即可)。

適用場景與注意

適合誰:同時在多個工作區、多個會話間切換,且希望「在跑 / 等我 / 未讀 / 常看」固定在最上方、不必在長列表裏掃一遍的 DSH 用戶。

側欄接管(重要):DSH 左側 sidebar 與 sidebar.workspaces 各爲單佔位槽,本插件禁用官方 ui-sidebar 外殼並自行渲染品牌行、新會話、面板列表、頁腳等,幾何對齊官方但並非逐像素一致;官方側欄後續若改動,插件需同步維護。卸載或禁用 bundle 可恢復官方側欄,同時失去面板頁與行上 ☆。

崩潰隔離:側欄套有 error boundary;子組件報錯時顯示提示與「重新加載」,並原樣渲染官方會話列表,仍可切會話與工作區。

兼容性:目標 DSH ^0.2.1-rc.5。若某版 DSH 中 ui-sidebar 行 id 改名或消失,patch 會 warn + skip,插件可能與官方外殼衝突而不生效;升級 DSH 後需按 README「兼容性與維護」覈對 sidebar 子槽與 client.js 中 shell 對齊項。

結尾

dsh-recent-sessions 把收藏、運行中、等待回應、完成未讀與最近活躍收進與工作區同風格的左側欄分區,配合 ☆ 收藏、一行收起與分區內搜索,在不動官方會話瀏覽區的前提下縮短「下一步該點哪條會話」的路徑。

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

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

小夜