前言¶
用 DeepSeek Harness(DSH)跑长会话时,token 消耗往往只在事后账单里才能看清;上下文被压缩、缓存命中率变化、高峰与空闲时段单价差异,也很难在对话界面里即时对照。若要在开发或调试过程中掌握「这一轮花了多少、上下文还剩多少、余额够不够」,通常需要切到开发者平台或自行拼日志。
dsh-usage-chart 是面向 DSH Web 的 Cordis 插件,由 Max-Samson 维护,当前 npm 版本 1.1.2(MIT 许可证)。它在输入框下方提供实时指标条,点击可展开零依赖 SVG 仪表盘,数据来自 DSH 官方 adapter 投影与宿主会话日志折叠,成本按官方 CNY/USD 刊例价估算,余额经宿主代理查询官方 API。下面介绍它的定位、能力与安装方式。
这是什么¶
一句话:dsh-usage-chart 把 token 用量、成本估算、每轮历史图表和 DeepSeek 账户余额,嵌进 DSH Web 对话界面。
维护者 Max-Samson 将其归类为联网工具类插件;GitHub 仓库约 10 stars。插件分 host 与 client 两半:host 侧代理余额与价格解析,client 侧在 composer 下方渲染指示器与图表面板,技术栈为 TypeScript、Cordis 插件模型、React 18,图表为手写 SVG,不引入第三方图表库。
核心功能¶
输入框下方的实时指示器¶
安装并启动 DSH Web 后,输入框下方会出现一行紧凑指标,示意如下:
▸ 输入 12.4M · 输出 86.2K · 缓存 72% · 成本 ≈¥0.284 / ≈$0.042 · demo-model · 余额 --
指示器展示输入/输出 token、缓存命中率、按所选币种估算的成本、当前模型名,以及账户余额。v1.1.0 起还包含分段上下文压力条:按系统提示(蓝)、工具定义(橙)、历史消息(绿)三段着色,总占用由绿向红过渡。点击 ▸ 展开完整面板。
用量面板与每轮图表¶
面板内的能力均可在 README 中核对,主要包括:
- 会话用量汇总 — 输入(未命中/命中缓存)、输出、缓存命中率、上下文占用,数据来自官方
tokenUsage/contextPressure投影。 - 上下文构成与压缩诊断(v1.1.0) — 基于
contextBreakdown展示三段占比;折叠compaction/*事件,显示哪一轮被压缩、释放多少 token、摘要成本;上下文占用 ≥75% 或 ≥90% 时给出开新会话或精简大文件注入的建议。 - 成本估算 — 按官方刊例价(CNY/USD 双币种,每 1M tokens,区分高峰/空闲时段)计算;支持用户通过
pricing.json覆盖;未定价模型会显式标记。 - 高峰/空闲计费(v1.0.1) — 北京时间周一至周五 09:00–12:00、14:00–18:00(UTC 01:00–04:00、06:00–10:00)为高峰,单价为空闲时段 2 倍;面板顶部以红/绿 tag 标注当前计费时段。
- 多币种显示(v0.3 / v1.0.1) — 成本区一键切换 CNY/USD,选择保存在浏览器 localStorage;指示器、面板、图表与消息徽章同步跟随。CNY 用中文定价页报价、USD 用英文定价页报价,不做汇率换算。
- 每轮用量与来源归因(v1.1.0) — 「总量 / 构成 / 成本」三视角;成本模式下每根柱显示该轮费用;叠加耗时线、成本突增异常标记、缓存命中迷你刻度;悬浮解释卡含 token、成本、模型、计费时段、TTFT/TPS、输入来源(人工/Agent/续跑)与结束原因;全部轮次可横向滚动。
- 成本徽章 — 每条助手消息尾部显示可关闭的
≈ ¥/$0.00xx徽章。 - 账户余额 — 经宿主代理调用
GET https://api.deepseek.com/user/balance,API Key 不暴露给浏览器。 - 中英双语 — 跟随 DSH 应用内语言设置,支持运行时切换
zh/en。
数据来源与准确性¶
| 指标 | 来源 | 说明 |
|---|---|---|
| Token 用量 | adapter tokenUsage / contextPressure |
官方实时投影 |
| 成本 | 内置刊例价 + 可选 pricing.json,经宿主 /pricing 解析 |
估算值,非官方账单 |
| 轮次明细 | 宿主会话日志折叠(/usage) |
含耗时、模型、来源归因、每轮成本 |
| 上下文与压缩 | contextBreakdown + compaction/* 事件折叠 |
官方投影 + 事件流 |
| 余额 | 官方 /user/balance |
经宿主代理,实时查询 |
安装与启用¶
前置要求:DeepSeek Harness ≥ 0.1.0-rc.6、Node.js ≥ 20、PATH 上可用 pnpm(dsh plugin 会把安装转发给 pnpm)。若提示 dsh: command not found,需全局安装 @deepseek-ai/dsh,或在每条命令前加 npx --yes @deepseek-ai/dsh。
方式一:npm 仓库(推荐)¶
预构建产物,无需本地构建:
dsh plugin --profile web add dsh-usage-chart # 安装并登记为 profile 插件层
dsh web --profile web # 启动 DSH Web(已在运行时先停止再启动)
升级到新版本时,pnpm 可能显示 Already up to date,需显式指定版本或先移除再安装:
# 显式指定版本
dsh plugin --profile web add dsh-usage-chart@1.1.2
# 或先移除再重装
dsh plugin --profile web remove dsh-usage-chart
dsh plugin --profile web add dsh-usage-chart
升级后必须重启 dsh web:宿主在启动时缓存插件代码,无热重载;新路由(如 /pricing、/meta、/rate)只有重启后才生效。
验证安装¶
dsh --profile web --dump-config | grep -A4 'id: dsh-usage-chart'
打开 DSH Web 进入任意会话:输入框下方应出现用量指示器;点击 ▸ 可展开面板。未配置 API Key 时余额显示 –,面板内会提示配置方式。
配置余额查询¶
余额查询按以下优先级解析 API Key(改后无需重启):
- DSH Web 设置(推荐,插件 ≥ 0.1.1) — 「设置 → 模型」中配置 DeepSeek API Key,插件经 DSH 凭据服务读取;
- 环境变量 — 启动前导出
DEEPSEEK_API_KEY=sk-...; - 插件配置 — 在 profile 的
cordis.patch.yml中写入config.apiKey(Key 明文落盘,仅建议本机受保护环境使用)。
插件版本 < 0.1.1 时不读取网页端密钥,需用环境变量或 config.apiKey。
典型用法¶
切换成本显示币种¶
在面板成本区一键切换 CNY/USD,选择会保存在浏览器;指示器、图表与消息徽章同步更新。成本按所选币种的官方刊例价直接计算,不做汇率换算。
自定义模型定价(可选)¶
默认覆盖文件路径为 $DSH_HOME/data/dsh-usage-chart/pricing.json(无 DSH_HOME 时为 ~/.dsh/data/dsh-usage-chart/pricing.json)。文件变更即时生效,支持高峰/空闲双时段与 CNY/USD 双币种:
{
"deepseek-v4-flash": {
"offPeak": {
"cny": { "cacheMissInput": 1.5, "cacheHitInput": 0.05, "output": 4.5 },
"usd": { "cacheMissInput": 0.22, "cacheHitInput": 0.007, "output": 0.66 }
},
"peak": {
"cny": { "cacheMissInput": 3.0, "cacheHitInput": 0.10, "output": 9.0 },
"usd": { "cacheMissInput": 0.44, "cacheHitInput": 0.014, "output": 1.32 }
},
"verifiedAt": 1755100800000
}
}
单价单位为每 1M tokens。未收录模型在 UI 中标记为「未定价模型」,不会静默按 0 计费。
查看上下文压缩与每轮成本¶
长会话中点击指示器展开面板:在「上下文构成与压缩诊断」区查看系统/工具/消息占比与压缩时间线;切换到图表「成本」视角,横向滚动查看各轮费用,悬浮解释卡可核对计费时段与输入来源归因。
卸载¶
dsh plugin --profile web remove dsh-usage-chart
dsh web --profile web
remove 会清理 node_modules 中的包并从 profile 插件层注销。网页端配置的 API Key 存于 DSH 凭据文件,DSH 模型服务仍在使用,通常无需删除。
适用场景与注意¶
适合谁:
- 在 DSH Web 中长期调试 Agent、工具调用或长上下文会话的开发者;
- 需要在对话界面即时对照 token、缓存命中率、上下文占用与估算成本的用户;
- 希望在不离开 DSH 的情况下查看 DeepSeek 账户余额的场景。
使用前注意:
- 插件以当前
dsh进程权限运行 — 安装前应阅读源码与 MIT 许可证,确认来源可信;从 GitHub 安装时需固定 commit,并在pnpm-workspace.yaml中放行allowBuilds。 - 成本为估算 — 按刊例价与 adapter 上报用量计算,不等于官方账单;高峰/空闲判定以轮次开始时刻为准,时刻缺失时按高峰保守估算。
- 余额与定价依赖配置 — 未配置 API Key 时余额不可用;插件 < 0.1.1 不读网页端密钥。
- 无热重载 — 升级插件后必须重启
dsh web。 - 社区目录非官方商店 — SkillHub 等插件目录由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」思路,按需选用。
结尾¶
dsh-usage-chart 把 DSH Web 对话里原本分散的用量、成本与余额信息,收敛到输入框下方的一行指示器与可展开的 SVG 仪表盘:数据走官方 adapter 与宿主代理,成本区分 CNY/USD 与高峰/空闲,长会话还可对照压缩诊断与每轮来源归因。若你已在用 DSH Web 做 Agent 开发,可按上文命令安装,重启后即可在 composer 下方验证。
- 目录页:https://www.skillhub.cn/plugins/Max-Samson/dsh-usage-chart
- GitHub:https://github.com/Max-Samson/dsh-usage-chart