dsh-sidebar-studio:側欄毛玻璃皮膚與本地 token 用量

前言

在 DeepSeek Harness(DSH)里長時間並行多個會話時,側欄往往只承擔導航:看不出哪些會話還在等模型、累計消耗了多少 token,換膚也多半要動主題或自寫樣式。社區插件 dsh-sidebar-studio(維護者 kysr04,分類:趣味換裝)把海水色毛玻璃皮膚、活動狀態膠囊、會話 ID 複製和基於本地日誌的用量統計收進官方擴展席位,不改側欄結構與業務邏輯,卸載即可還原。

下面按定位、能力、安裝與用法、數據口徑和限制說明如何接入。

這是什麼

dsh-sidebar-studio 是 DSH 側欄的一體化視覺與信息增強包:四套可選皮膚(默認 glass 毛玻璃)、左下角活動膠囊、會話行復制 Session ID、行尾 token 徽標,以及側欄用量面板。實現全部掛在 Cordis 擴展點上,不修改宿主核心代碼。

社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝前請自行查看源碼與許可證。插件在當前 DSH 進程權限下運行,用量功能會讀取本機會話日誌。

核心功能

能力 擴展落點 說明
四套皮膚(默認毛玻璃) theme.overrideTokens + 注入樣式表 glass:海水青綠半透明 + 漸變底 + backdrop-filter;另有 slate / paper / ink
活動膠囊 shell.overlay 左下角固定:有待回答顯示橙色「N 待回答」,否則有運行中顯示藍色「N 運行中」,都沒有則不渲染
複製會話 ID sidebar.workspaces.session.row.action 會話行懸停多一枚按鈕,點擊複製完整 Session ID
會話 tok 徽標 sidebar.session.row.trailing 時間標籤後顯示累計 token:<5M 三級灰,5–100M 次要色,>100M 警示橙
用量面板 sidebar.panellist + main 累計/今日、按會話/按工作區、緩存命中率、導出 CSV;點行打開對應會話

皮膚通過宿主啓動時注入 <style> 與客戶端 overrideTokens 雙通道投遞,首屏與重繪一致。客戶端模塊約定位於 lib/client.js,否則不會進入 boot graph。

安裝與啓用

官方推薦從 GitHub 直裝:

dsh plugin add github:kysr04/dsh-sidebar-studio

本地開發可鏈接目錄:

dsh plugin add link:/absolute/path/to/dsh-sidebar-studio

安裝後完全退出 DeepSeek Harness 再打開。皮膚依賴宿主啓動時的樣式注入表,客戶端在頁面加載後註冊;僅刷新頁面無法拿到新的注入樣式。

環境要求:DSH 桌面版或 Web 版;讀取日誌時需 Node ≥ 20,實際解析在 DSH 運行時自帶的 Node 下執行(見下文用量面板)。

典型用法

切換皮膚

默認皮膚爲 glass。在瀏覽器控制台切換,立即生效、不寫盤:

__YG_SIDEBAR_SKIN__.list()       // ['paper', 'slate', 'ink', 'glass']
__YG_SIDEBAR_SKIN__.use('slate')
__YG_SIDEBAR_SKIN__.current()

臨時改單個 design token:

__YG_SIDEBAR_SKIN__.apply({
  '--dsw-specific-sidebar-fill': { light: 'rgba(214,246,241,0.12)', dark: 'rgba(8,44,48,0.16)' },
})
__YG_SIDEBAR_SKIN__.dump()       // 導出當前整套值,便於寫回文件

若需固定默認皮膚,修改插件內 lib/skins.json 的 default 字段後重啓 DSH。

四套配色概要:glass(海水青綠漸變 + 34px 模糊)、slate(冷灰藍)、paper(暖紙 + 黃銅)、ink(高對比 + 硃紅)。每套覆蓋 16 個 alias token(畫布、描邊、文字層級、導航與菜單等)。

查看與導出用量

用量數據來自本地會話日誌,不聯網、不上傳。日誌路徑形如:

$DSH_HOME/sessions/<workspace>/<session-id>/session.v4.jsonl.zstd

側欄打開用量面板即可查看;面板每 60 秒刷新,與會話行徽標共用同一次統計。導出 CSV:面板右上角「導出 CSV」,或訪問 GET /yg-usage.json?format=csv(14 列,含今日三列)。

活動膠囊與複製 ID 無需配置,安裝並重啓後隨側欄出現。

用量統計口徑與性能

解析邏輯在 lib/usage.mjs 中:日誌爲多幀拼接的 zstd,Electron 自帶 Node 只能解第一幀,故在 $DSH_HOME/dsh-runtimes/dsh-primary-runtime/dependencies/node 下執行;可用環境變量 DSH_NODE 指定其他 Node 可執行文件。

逐幀解壓後累加 data.usage 的 inputTokens、outputTokens、cacheReadTokens、cacheWriteTokens、totalTokens,並按本地零點切出「今日」。文件級緩存寫入 $DSH_HOME/yg-usage-cache.json(按 mtime + size + 當日零點複用),宿主內存約 20 秒 TTL。README 記載本機約 64 個日誌冷讀約 1.7 秒、熱讀約 50 毫秒。

口徑提醒:totalTokens 含緩存讀取,接近賬單側的輸入規模,不是「僅新計算的 token」。

適用場景與注意

適合希望在側欄直接看到會話負載與 token 消耗、又希望輕量換膚的 DSH 用戶。趣味換裝分類主要對應四套皮膚與毛玻璃視覺效果;用量與活動信息更偏日常開發運維。

已知限制(來自 README):

  1. Windows 桌面版會移除收起的側欄軌道,sidebar.toggle.badge 無落點,活動信息改由 shell.overlay 膠囊展示。
  2. 毛玻璃綁定側欄根類名 .wtg9ga_root;DSH 升級若改類名,模糊與透明可能失效,其餘配色仍可用。
  3. 會話行 tok 徽標在懸停/聚焦時會按官方行爲隱藏,爲操作按鈕讓位。
  4. 統計只讀已落盤日誌;進行中的對話可能尚未寫入磁盤。

Glass 皮膚的漸變與模糊通過 .wtg9ga_root::before 承載,避免 backdrop-filter 把 Windows 標題欄摺疊按鈕擠出可視區——屬於實現細節,升級宿主時若側欄 DOM 變化需關注。

結尾

dsh-sidebar-studio 在不動側欄骨架的前提下,把皮膚、會話狀態、ID 複製和本地 token 面板接到官方擴展位上;安裝命令爲 dsh plugin add github:kysr04/dsh-sidebar-studio,重啓宿主後生效。更多字段與實現文件結構見 GitHub README;社區索引見 SkillHub 目錄頁。

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

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

小夜