前言¶
在 DSH 的日常使用中,近 90 天的提交、Token 用量和估算花费可能分散在不同来源,临时查一次很容易,但长期观察还不够方便。dsh-heatmap 是一个 DSH 插件,把这类活动信息常驻到 DSH Web GUI 左侧栏,便于查看近 90 天趋势和今日明细。
DSH 生态强调「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。下面介绍 dsh-heatmap 是什么、能做什么,以及如何安装和配置。
这是什么¶
dsh-heatmap 是由 283Gawin 维护的 DSH Web GUI 左侧栏活动热力图插件,许可证为 MIT。仓库名为 dsh-heatmap,npm 包名为 @linxin666/dsh-client-ui-activity-heatmap。
它解决的问题是:在 DSH Web GUI 中常驻显示近 90 天 GitHub 风格活动热力图,并支持在提交次数、Token 用量、估算花费之间切换。热力图下方还提供今日所有会话 Token 总量、缓存命中率、今日花费,以及今日按模型的花费细分。
核心功能¶
下面列出的功能均来自已核实信息:
- 在 DSH Web GUI 左侧栏常驻显示近 90 天 GitHub 风格活动热力图。
- 支持提交次数、Token 用量、估算花费三个维度切换,选择保存在浏览器
localStorage。 - 鼠标悬停显示当日提交数、Token 和花费明细。
- 显示今日所有会话 Token 总量、缓存命中率和今日花费。
- 显示近 90 天窗口的 Token、提交、花费合计,以及今日按模型的花费细分。
- 面板常驻左侧栏底部,支持折叠、状态持久化和 React 重渲染后自动复位。
- 设置页插件分区提供
theme、enabled、includeMerges、usdCnyRate、priceOverrides配置。 - 数据由 host 进程通过官方 SDK 读取会话 durable 日志和 git log,经
GET /activity-heatmap/stats提供,TTL 缓存 60 秒。 - 内置模型定价表,支持价格覆盖和模型 id 前缀匹配。
安装与启用¶
先做最简安装:从 npm 包安装,然后重启 dsh web。
dsh plugin --profile web add @linxin666/dsh-client-ui-activity-heatmap
重启后,左侧栏即出现热力图面板:
dsh web
如果需要本地 link 安装,需要先构建产物。link 安装需要构建产物 lib/。
git clone https://github.com/283Gawin/dsh-heatmap
cd dsh-heatmap
pnpm install && pnpm build # link 安装需要构建产物(lib/)
dsh plugin --profile web add link:$PWD
经过上面的步骤后,重启 dsh web,左侧栏即出现热力图面板。
设置页暴露¶
设置页暴露需要把 namespace activity-heatmap 加入 dsh-host-apiproxy 的 WEB_SETTINGS_NAMESPACES 白名单。
dsh-host-apiproxy
WEB_SETTINGS_NAMESPACES
activity-heatmap
注意:升级 dsh 后该修改会被覆盖,需要重新打补丁。修改后重启 dsh web 生效。
典型用法与配置¶
插件安装后,在设置页「插件 → 活动热力图」卡片配置。修改后重启 dsh web 生效。
已核实的配置项包括:
| 配置项 | 已核实的默认或行为 | 说明 |
|---|---|---|
theme |
未给出确定默认值 | 主题配置项,示例中可使用 green |
enabled |
未给出确定默认值 | 插件配置项 |
includeMerges |
false |
默认提交数不含 merge 提交 |
usdCnyRate |
0 |
0 表示不显示人民币 |
priceOverrides |
支持模型 id 前缀匹配 | 用于模型定价覆盖 |
插件行 config 可配置 id、name、theme、usdCnyRate、priceOverrides。下面是一个简例,其中 priceOverrides 的具体覆盖内容按实际模型和定价填写:
- insert:
- id: ui-activity-heatmap
name: '@linxin666/dsh-client-ui-activity-heatmap'
config:
theme: green
usdCnyRate: 7.2
priceOverrides: {}
定价与模型覆盖¶
dsh-heatmap 内置模型定价表,并支持价格覆盖。模型 id 支持前缀匹配;priceOverrides 同样支持前缀匹配。
未收录的模型默认按 0.27 / 0.07 / 1.10 计价,可用 priceOverrides 做覆盖。
usdCnyRate 默认 0。0 表示不显示人民币。
适用场景与注意¶
适合希望把 DSH 近 90 天提交、Token 用量和估算花费常驻在 Web GUI 左侧栏的使用者。
使用前注意以下几点:
includeMerges默认false,默认提交数不含 merge 提交。usdCnyRate默认0,0表示不显示人民币。- 设置页暴露依赖
dsh-host-apiproxy的WEB_SETTINGS_NAMESPACES白名单;升级 dsh 后该修改会被覆盖,需要重新打补丁。 - 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 许可证为 MIT。
peerDependencies要求@deepseek-ai/cordis ^4.0.1、多个@deepseek-ai/dsh-client-*包以及React ^18.2.0。
链接¶
- 目录页:https://www.skillhub.cn/plugins/283Gawin/dsh-heatmap
- GitHub:https://github.com/283Gawin/dsh-heatmap