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 目录页。

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

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

Xiaoye