新建会话页的 GitHub 风格每日 Token 用量热力图:可选日历年度视图、绿/蓝配色与显示开关,并附今日/本月/累计总量。
安装
# npm 包(预构建)
dsh plugin --profile web add @kidli1412/dsh-token-heatmap
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:KIDLi1412/dsh-token-heatmap
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH Web GUI 插件:在新会话(hero)屏幕的输入框下方显示一个 GitHub 风格的 token 用量热力图 —— 当前自然年(1月–12月)每天的 token 用量,颜色深浅表示用量多少;同一行展示今日 / 本月 / 累计 token 用量。
A DeepSeek Harness web plugin: a GitHub-style daily token-usage heatmap of the current calendar year (Jan–Dec) rendered below the composer input card on the new-session screen only, with today / this-month / all-time totals on the same line.
界面 / What you get
新会话屏幕输入框正下方出现一张统计卡(只在新会话显示;已对话的会话不显示):

- 📊 自然年热力图:GitHub 风格,覆盖所选自然年 1月–12月(可切换年份,
‹ 年份 ›选择器在统计行右侧,最多到当前年),列为周(周一起),行为星期(左侧标注一~日全部 7 天);顶部月份标签按列跨度标注(左侧与格线对齐),今日之后的日期显示为空格。 - 🎨 六套配色:绿色(经典 GitHub 风格)、蓝色、橙色、红色、紫色、青色,可在 设置 → 插件 → 插件配置 切换;颜色按绝对阈值分档(按天 token 数,非相对排名):0 / <1M / 1M–10M / 10M–100M / ≥100M 共 5 级,图例悬停显示各档范围;61M/天 显示为第 3 级。悬停任意格子显示日期与精确 token 数。
- 🔢 统计行(与标题同一行):今日 / 本月 / 累计,悬停显示完整数值。
- 🔄 自动每 5 分钟刷新,窗口重新可见时也会刷新;行尾可手动刷新。
- ⚙️ 插件配置卡(设置 → 插件 → 插件配置,随官方"插件配置"页签渲染):
- 显示热力图 开关:关闭后新会话页面不再显示热力图卡片。
- 配色方案:绿色 / 蓝色 / 橙色 / 红色 / 紫色 / 青色,六个色板按钮即时预览。
- 修改后需点"保存"(显示"未保存"徽标提示),"放弃修改"可丢弃草稿;配置经回环端点持久化到
<DSH_HOME>/storages/token-heatmap-config.json。
安装 / Install
需要 web profile(@deepseek-ai/dsh >= 0.1.0-rc.6)与 pnpm。
从 npm 安装:
dsh plugin --profile web add @kidli1412/dsh-token-heatmap
从 GitHub 安装:
dsh plugin --profile web add github:KIDLi1412/dsh-token-heatmap
本地开发(手动,本地链接):
dsh plugin --profile web add "link:path/to/dsh-token-heatmap"
安装完成后重启正在运行的 dsh web,并在浏览器中硬刷新(Ctrl+Shift+R)。侧边栏无新增入口——统计卡直接出现在新会话输入框下方。卸载:
dsh plugin --profile web remove @kidli1412/dsh-token-heatmap
工作原理 / How it works
- 服务端(
lib/index.js+lib/usage.js+lib/config.js):作为 profile bundle 挂载,增量折叠全部会话事件日志中的 token 用量样本(assistant/chunk的usage与assistant/message的usage;同(turn, step)的重复样本按"替换"语义处理,归属后一天),按天、按模型聚合,缓存到<DSH_HOME>/storages/token-heatmap-cache.json,并通过回环受限端点GET /api/token-heatmap/usage提供;显示配置(开关 + 配色)经GET/POST /api/token-heatmap/config读写,持久化到<DSH_HOME>/storages/token-heatmap-config.json。 - 客户端(
lib/client.js):手写__ModuleLoader__bundle,注册进会话conversation.input.dock列表插槽,仅当session.composerPhase === "blank"(新会话 hero 屏)且配置开关开启时渲染。框架真正的"卡片下方"插槽conversation.composer.dock在 hero 屏被!hero门控禁用,因此本插件利用input.dock容器(flex 列)的 CSSorder把自己排到输入卡片之后。配置卡注册进官方settings.plugin.item插槽(设置 → 插件 → 插件配置页签);官方 Host 只向 Web 客户端暴露白名单内的设置命名空间,因此本插件不依赖settingsScope,而是直接读写自己的回环配置端点。 - 语义与
dsh-token-meter的tokenUsage投影一致(参考插件 dsh-usage-stats,MIT)。
说明 / Notes
- 仅回环地址可访问数据端点,凭据不外发;插件只读,不修改任何会话数据。
- 无会话/无工作区时(
input.dock需要会话上下文)统计卡不渲染。 - 服务端与客户端都随
dsh web启动加载,因此新增/更新插件后需要重启。
License
MIT。聚合与回环端点实现参考了 dsh-usage-stats(MIT © Ychris12138)。
链接
同类插件
Ychris12138/dsh-usage-stats★ 43
多供应商用量看板:按供应商/模型统计 Token 与日期下钻,统一展示账户余额,并追踪 OpenCode Go / Z.ai 订阅额度。
Han-1413141/dsh-cost-meter★ 42
会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
feibi-mochi/deepseek-harness-wallet★ 19
多供应商钱包标签:官方 DeepSeek 余额、本会话花费与 token、第三方合计 token、一键充值、低余额提醒。
zh667/TokenLedger★ 16
侧边栏用量面板:把 Token 归属到实际服务该请求的中转站,站点从已有的 provider 配置中读出,无需额外配置;含今日/本月/累计三窗口、按站点与模型下钻、一年活跃度热力图,以及 New API / Sub2API / DeepSeek 余额。
Ghost011118/dsh-balance-meter★ 15
输入框 dock 显示 DeepSeek 账户余额与会话花费,自动拉取官方定价,支持高峰/低谷计价。
Make0209/dsh-usage-stats★ 14
GitHub 风格用量热力图看板:按工作区统计使用次数与 Token 花费(含缓存命中率)、DeepSeek 账户余额查询、工作区别名管理。