前言¶
在 DeepSeek Harness(DSH)裏同時開多個會話時,側欄每一行默認只給標題、轉圈和相對時間。任務在後臺跑時,轉圈兩分鐘和二十分鐘看起來一樣;跑完的那一瞬間,若你正盯着當前會話,界面往往不會有額外提示——轉圈消失、時間變成「剛剛」,很容易漏掉剛結束的那條。社區裏已有置頂、Dock 角標、輸入框下方 ETA 等插件,各自管「哪個在動」或「外面怎麼提醒」,但側欄每一行「跑到哪了、跑完沒」仍缺一塊可視化。
下面介紹客戶端插件 dsh-session-bar(維護者 290949841-gif):在側欄會話行上直接畫運行進度與完成態,零配置,裝上即工作。
這是什麼¶
dsh-session-bar 是面向 DSH Web 客戶端的純前端插件(npm 包名 dsh-session-bar,當前資料版本 0.1.2,許可證 MIT)。它只做一件事:把會話狀態畫在側欄行上——運行中帶估算百分比與進度條,完成後整行變橙並保留,直到你點開該行。
與官方側欄對比:官方完成標記主要出現在「你不在主視圖裏看着」的會話上;本插件補的是「正看着的會話跑完也要亮一下」,且整列會話都能同時看到進度與完成態,無需切對話。
核心功能¶
運行中¶
任務進行中時,對應側欄行會:
- 整行變爲綠色卡片(半透明綠底、1px 描邊)。
- 行首顯示估算進度百分比(任務一開跑即出現)。
- 底部 6px 圓頭進度條:淺綠軌道、青綠漸變填充,長度隨估算進度變化;條上有緩慢橫向漂移的白色小點(約 3.2s 一循環,裝飾用);進度末端 6px 白色圓鈕。
- 除小點漂移外無掃光、呼吸等循環動畫;支持
prefers-reduced-motion下關閉動畫。
已完成¶
跑完瞬間整行從綠色切爲橙色(描邊、左側橙條、半透明橙底、標題橙字、行首橙色小圓點)。
- 永久保留,直到你點開這一行;點開後恢復原樣。
- 點行尾「…」菜單不算點開,不會誤清。
超時時的顯示¶
若實際耗時超過預估,行首不再顯示偏高的假百分比,改爲真實已用時長(例如 6:12),進度光帶停在末端。百分比來自估時,不是服務端步數。
自適應估時(無設置項)¶
側欄每行只能用到 running 與 updatedAt,拿不到總步數。插件按歷史耗時估算:
- 同一會話標題保留最近 6 次真實耗時,取中位數。
- 新會話借用全局中位數(最近 24 次)。
- 都沒有時按 3 分鐘 估算。
每次跑完會記錄真實耗時;跑得越多越準。
其它特性(資料原文)¶
| 能力 | 說明 |
|---|---|
| 完成標記不丟 | 標題被自動改名後,佔位名(新會話 / New chat)才允許標記遷移 |
| 零配置 | 無設置界面 |
| 不攔操作 | 只畫樣式,不接管點擊、菜單、拖拽 |
| 行結構兼容 | 官方 ui-workspace 行與 dsh-session-keeper fork 行均可識別 |
| 存儲 | 狀態在瀏覽器 localStorage(鍵名見下文「重置」) |
0.1.2 起:最短運行 2 秒才計爲完成,減輕啓動抖動誤標;排障可用 window.dshSessionBar.log() / .marks() / .clearMarks()。
安裝與啓用¶
DSH 生態是「一切皆插件」;插件目錄在獨立社區站點展示,與 DeepSeek / 幻方無官方從屬關係。安裝前建議查看 GitHub 倉庫 源碼與 MIT 許可證——客戶端插件在當前 DSH 進程權限下運行。
方式一:npm(推薦)¶
dsh plugin --profile web add dsh-session-bar
方式二:GitHub Release 包¶
dsh plugin --profile web add "https://github.com/290949841-gif/dsh-session-bar/releases/download/v0.1.2/dsh-session-bar-0.1.2.tgz"
裝完後需 完全退出 DSH 再打開(客戶端插件在進程啓動時裝配;僅刷新頁面通常不夠)。資料中 macOS 快捷鍵爲 ⌘Q;其它平臺請用等價的全量退出方式。
典型用法¶
- 按上面命令安裝並重啓 DSH。
- 在側欄發起或恢復一個會跑較久的會話;該行應變爲綠色卡片,行首出現百分比,底部出現進度條。
- 任務結束後該行變橙;切到別的會話再回來,橙色仍在,直到你點開該行確認。
- 若某任務經常超過預估,觀察行首是否切換爲
分:秒形式的已用時長——這是預期行爲,不是卡死。
無需改配置文件;想改顏色或條高需自行編輯插件包內 client.js 的 CSS 常量,改完同樣要完全退出再開。
適用場景與注意¶
適合誰:經常在 DSH 裏並行多個會話、希望不切對話也能掃一眼「哪條在跑、哪條剛跑完」的開發者。
刻意不做的事(避免裝錯期望):
- 不做音效、Dock 角標、系統通知(可參考
dsh-unread-dot)。 - 不改變側欄排序或置頂(可參考
dsh-pinned-sessions)。 - 輸入框下方「當前這一輪」ETA 由
dsh-session-turn-eta等插件負責;本插件管的是側欄每一行。
限制(README 已知):
- 進度是估算,不是真實 token / 步數進度。
- 完成標記以會話標題爲 key;兩個標題完全相同的會話可能互相干擾。
- 僅 Web 平臺(桌面端與 Web GUI 均爲 Web 渲染)。
- 兼容 DeepSeek Harness 0.2.x(DOM 錨點按 0.2.1-rc.3 覈對)。
與同類插件邊界:dsh-session-turn-eta 只管當前視圖這一輪;dsh-pinned-sessions 管排序;dsh-unread-dot 管應用外提醒。本插件回答的是「每條跑到哪、跑完沒」,且不改變排序。
重置本地狀態¶
無設置界面。清空下列 localStorage 鍵即恢復出廠(估時需重新學習):
| 鍵 | 內容 |
|---|---|
dsh-session-bar:read |
已點開的會話標題(橙色標記) |
dsh-session-bar:durations |
各標題最近 6 次耗時樣本 |
dsh-session-bar:durations:global |
全局最近 24 次耗時樣本 |
dsh-session-bar:running |
正在跑的會話開始時間戳 |
結尾¶
dsh-session-bar 把側欄從「轉圈 + 相對時間」補成「估算進度 + 完成橙條」,零配置、純客戶端,與 keeper 類側欄插件可共存。若需要安裝入口與簡介,可看社區目錄頁;細節與更新日誌以倉庫爲準。