dsh-session-bar:讓 DeepSeek Harness 側欄會話自己「說話」

前言

在 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;其它平臺請用等價的全量退出方式。

典型用法

  1. 按上面命令安裝並重啓 DSH。
  2. 在側欄發起或恢復一個會跑較久的會話;該行應變爲綠色卡片,行首出現百分比,底部出現進度條。
  3. 任務結束後該行變橙;切到別的會話再回來,橙色仍在,直到你點開該行確認。
  4. 若某任務經常超過預估,觀察行首是否切換爲 分:秒 形式的已用時長——這是預期行爲,不是卡死。

無需改配置文件;想改顏色或條高需自行編輯插件包內 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 類側欄插件可共存。若需要安裝入口與簡介,可看社區目錄頁;細節與更新日誌以倉庫爲準。

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

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

小夜