前言¶
在 DeepSeek Harness(DSH)裏並行開多個會話時,側邊欄往往只有標題文本,很難一眼區分「這條線在做什麼、做到哪一步」。單靠本地改一行顏色,換設備或新開窗口就對不上。
下面介紹社區客戶端插件 dsh-plugin-session-tags(維護者 owenzhao):用具名標籤描述會話狀態,給側邊欄標題着色,並在懸停卡片上顯示標籤名;定義與分配會持久化,並在多窗口、多設備間通過主機事件流同步。
這是什麼¶
dsh-plugin-session-tags 是 DSH 的 web 客戶端插件(package.json 中 dsh.client.platform 爲 web)。標籤是命名的,不是一次性色塊:名稱與顏色一起在設置裏定義,會話標題按標籤着色,懸停時顯示標籤文字,形成可跨設備複用的「狀態詞表」。
- 倉庫:github.com/owenzhao/dsh-plugin-session-tags
- 社區目錄:skillhub.cn/plugins/owenzhao/dsh-plugin-session-tags
- 當前資料中的版本:0.2.3;許可證:MIT;要求 DSH >= 0.2.2-rc.1
社區插件目錄由 SkillHub 等站點維護,與 DeepSeek / 幻方無官方從屬關係;安裝前請自行審閱源碼與許可證。插件在當前 dsh 進程權限下運行。
核心功能¶
側邊欄裏打標籤¶
- 在某一 session 的側邊欄行菜單(
...)中打開 標籤,進入選擇器。 - 選中已有標籤後,該會話的側邊欄標題會按標籤着色;行懸停卡片上會顯示標籤名稱。
- 若需要新標籤:輸入名稱,從六種預設色或自定義顏色中選取,再點 新建並應用,會立刻爲當前會話打上該標籤。
標題着色通過針對 data-row-key="session:<id>" 生成的樣式規則實現;卸載插件後規則移除,恢復默認配色。
在設置裏管理標籤庫¶
路徑:Settings → Plugins → 會話標籤。可重命名、改色(預設或自定義)、刪除標籤,或添加空標籤條目。
顏色規則¶
標籤顏色可以是預設名(green、amber、red、blue、purple、gray,隨應用亮暗主題)或顯式 #rrggbb。
持久化與離線¶
分配與定義默認寫入:
<DSH_HOME>/state/session-tags.json
當主機路由不可達時,瀏覽器會回退到 localStorage。
多窗口與多設備同步¶
各窗口和設備訂閱主機的 /session-tags/events 事件流;在一臺設備上打的標籤,桌面端無需刷新即可看到。頁面僅在可見時保持流連接;隱藏標籤頁會斷開,再次顯示時新連接的首幀爲當前快照。無法建立流時,客戶端會在下次重連嘗試時拉取 GET /session-tags,退化爲較慢的輪詢而非長期陳舊頁面。
插件佔用的擴展位(資料原文)包括:sidebar.workspaces.session.menu.item(菜單中的「標籤」)、shell.overlay(選擇器)、sidebar.session.row.hover(懸停芯片)、settings.plugins.tab(標籤定義)。
安裝與啓用¶
桌面端:Plugins → Install,輸入包名 dsh-plugin-session-tags。
Web profile 下可使用資料中的命令:
dsh plugin --profile web add dsh-plugin-session-tags@0.2.3
本地開發時,可將 bundle 指向目錄(資料原文爲 plugin_manager 流程):
plugin_manager install_bundle → /absolute/path/to/dsh-plugin-session-tags
安裝完成後,在支持 web 客戶端的 DSH 環境中啓用插件,即可在側邊欄與設置中看到上述入口。
典型用法¶
- 在設置中爲常用狀態建好標籤(例如按項目或階段命名,並選定顏色)。
- 打開目標會話 → 行菜單 → 標籤 → 選擇標籤;或當場 新建並應用。
- 在側邊欄通過標題色調區分會話;將指針懸停在行上查看完整標籤名。
- 在另一設備或瀏覽器窗口打開同一 DSH 主機,確認標籤與顏色已同步(依賴主機路由與事件流可用)。
主機側 API(供理解同步機制,一般無需手工調用):
GET /session-tags → { tags, assignments }
POST /session-tags { action: 'assign' } → snapshot
POST /session-tags { action: 'createAndAssign', sessionId, tag } → snapshot
POST /session-tags { action: 'tags', tags } → snapshot
GET /session-tags/events → text/event-stream
適用場景與注意¶
適合誰: 經常在 DSH 中並行多條會話、希望用統一「狀態詞表」在側邊欄快速識別的開發者;需要在手機與桌面之間保持會話標記一致的用戶。
注意:
- 插件分類爲客戶端,面向 web 平臺;請確認你的 DSH 版本滿足
>= 0.2.2-rc.1。 - 同步依賴主機
/session-tags與事件流;路由不通時僅本地localStorage兜底,跨設備一致性會受限。 - 第三方插件,安裝前請閱讀 倉庫源碼 與 MIT 許可證條款。
結尾¶
dsh-plugin-session-tags 把「命名 + 顏色 + 懸停說明」綁在同一條會話上,並把定義與分配落到 session-tags.json(及事件流),減輕多會話側邊欄難以掃讀的問題。