前言¶
用 DeepSeek Harness(DSH)跑智能体,模型供应商往往不止一家:官方 DeepSeek、OpenRouter 中转、Kimi Coding Plan、Z.ai 订阅窗口……对话在 Harness 里发生,但余额和配额却散落在各家控制台。Token 花了多少、缓存命中率如何、今天哪个模型最费 token,Harness 原生界面也缺少一张「总览仪表盘」。
社区插件 dsh-usage-stats(维护者 Ychris12138,npm 包名 @ychris12138/dsh-usage-stats)面向 dsh web 网页端,把多供应商账户监测与本地 Token 聚合分析收进侧边栏「用量/余额」面板。该插件在 SkillHub 插件库 归类为「客户端」,GitHub 约 119 stars、15 forks,采用 MIT 许可证。
需要说明的是:DSH 的核心理念是「一切皆插件」;SkillHub、deepseek-harness-plugin.com 等社区目录由爱好者维护,与 DeepSeek / 幻方无官方从属关系,安装前请自行审阅源码与许可证。插件以当前 dsh 进程权限运行,涉及账户查询时会读取你本机已配置的凭据引用,不会把 API Key 下发到浏览器。
这是什么¶
一句话定位:为 DeepSeek Harness Web GUI 提供供应商余额、订阅配额与 Token 用量分析的可视化客户端插件。
数据来源分两块:
- 本地 Token 统计:从 Harness 持久化会话日志中折叠
assistant/chunk或assistant/message里 provider 上报的usage字段,按日期、供应商、模型聚合。 - 远端账户快照:对配置了公开余额/配额接口的 provider,服务端定时拉取余额或 Token Plan 窗口剩余量。
界面支持中文与英文;浏览器只请求当前选中的 provider,后台每五分钟刷新已配置账户,与面板是否打开无关。
核心功能与亮点¶
统一账户卡片¶
面板一次只展示当前选中的供应商:
- 余额型(如 DeepSeek、Moonshot、OpenRouter):显示可用余额与预警状态。
- 订阅/Token Plan 型(如 Kimi For Coding、MiniMax、Ollama 云、Z.ai):显示分时间窗口的额度与剩余比例。
没有公开账户接口的供应商仍会统计 Token,卡片会标明「不支持」余额查询,不会猜测数值。
Token 用量分析¶
- 今日、本月、累计用量与缓存命中率。
- 月历热图,支持
‹/›切换月份,点击日期下钻到当天的 provider / model 明细。 - 「最近 14 天」按本地日历计算,只显示窗口内有记录的日期。
可扩展适配器¶
除 DeepSeek、OpenRouter、Moonshot 等内置适配外,还支持:
- New API、Sub2API / Passion 等中转协议。
- sub2api-auth:用 provider 自身推理 Key 读 Sub2API 面板余额,可自动识别真实 Sub2API 部署。
- declarative:受限 GET + JSON Pointer 的声明式自定义查询,不执行 JavaScript。
warning.warnBelow / warning.criticalBelow 可设余额绝对值阈值;有总额度的场景会自动产生 normal / warning / critical 剩余比例状态。
本机安全边界¶
官方 README 强调的五条设计原则值得安装前了解:
- 五个 API 端点仅接受回环地址的 GET 请求;非 GET 返回 405,非回环返回 403。
- API Key、Cookie、管理 PAT 只在服务端解析,不会进入浏览器响应、插件缓存或日志。
- 用量缓存
~/.dsh/storages/usage-stats-cache.json只保存聚合 Token 与会话 revision,不保存提示词或回复正文。 - 自定义 monitor 默认要求 HTTPS、同源相对路径,并限制响应体大小。
- 请勿把插件端点经反向代理暴露到局域网或公网。
安装与启用¶
前提:需要 DSH 的 web profile,且 @deepseek-ai/dsh >= 0.1.0-rc.6。
推荐:dsh plugin 安装¶
目录页与 README 给出的命令如下(注意 web profile 与 GitHub 源):
dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats"
安装后重启已运行的 dsh web,并在浏览器中硬刷新。侧边栏底部会出现「用量/余额」(Usage/Balance)入口。
如需可复现安装,可固定 commit:
dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats#commit"
升级与卸载:
dsh plugin --profile web update "@ychris12138/dsh-usage-stats"
dsh plugin --profile web remove "@ychris12138/dsh-usage-stats"
deepseek-harness-plugin.com 目录页亦收录该插件,简写安装方式为 dsh plugin add github:Ychris12138/dsh-usage-stats;若你日常使用 web profile,以上带 --profile web 的写法与 README 一致,更不易装错 profile。
备选:npx 兼容安装器¶
无法使用 dsh plugin 时,可用同一条命令(PowerShell、cmd、macOS/Linux 终端通用):
npx --yes github:Ychris12138/dsh-usage-stats
安装器会把文件复制到 ~/.dsh/profiles/node_modules/@ychris12138/dsh-usage-stats,并幂等写入 profiles/web/cordis.patch.yml。dsh plugin 与 npx 是两条独立路径,不要同时保留手工 Cordis entry 与 bundle 注册,否则会重复挂载。
预览与检查:
npx --yes github:Ychris12138/dsh-usage-stats --dry-run
npx --yes github:Ychris12138/dsh-usage-stats --check
插件市场 GUI 安装(可选)¶
该仓库已按 DSH Community Market 标准来源(Path A)接入。因 npm 上 dsh-usage-stats 名称已被占用,目录身份使用 @ychris12138/dsh-usage-stats(当前 catalog 版本 0.2.10)。若要通过市场 GUI「安装」按钮一键安装,需维护者先发布 scoped 公共 npm 包并将 catalog 发布到 GitHub Pages;在此之前,GitHub / dsh plugin 路径更直接。
凭据与典型配置¶
凭据由 Harness 从 ~/.dsh/.credentials.yaml 解析;安装器不会读取或修改该文件。不要把真实 Key 提交到 Git 或粘贴给编码 Agent。
余额型供应商示例¶
DeepSeek、Moonshot 等默认复用对应 provider profile 的 apiKeyEnv:
# ~/.dsh/.credentials.yaml
DEEPSEEK_API_KEY: sk-your-key-here
OpenRouter 是明确例外:账户 credits 接口要求 Management Key,不能复用普通推理 OPENROUTER_API_KEY:
OPENROUTER_MANAGEMENT_KEY: sk-or-v1-your-management-key
Token Plan 供应商示例¶
OPENCODE_GO_API_KEY: sk-opencode-your-key
ZAI_API_KEY: your-zai-key
KIMI_API_KEY: your-kimi-key
MINIMAX_API_KEY: your-minimax-key
OLLAMA_API_KEY: sk-ollama-your-key
中国区 Z.ai / MiniMax 可分别设置 ZAI_API_REGION=bigmodel-cn、MINIMAX_API_REGION=cn。
自定义 monitor(节选)¶
在现有 @ychris12138/dsh-usage-stats 的 Cordis entry 下合并 config,不要追加第二个插件 entry。monitor 键须对应 Harness 中真实的 provider id:
# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: usage-stats
name: "@ychris12138/dsh-usage-stats"
config:
monitors:
relay-a:
adapter: new-api
relay-b:
adapter: sub2api-auth
Sub2API 面板若已作为普通 provider 配置进 DSH,插件可探测 GET /api/v1/settings/public 并自动按 sub2api-auth 读取余额,通常无需单独写 adapter。
典型用法¶
- 启动
dsh web并打开对话界面。 - 点击侧边栏「用量/余额」。
- 用「当前供应商」下拉切换账户卡片。
- 在热图区域用
‹/›切换月份,点击某天查看 provider / model 明细。 - 标题栏刷新会更新 Token 聚合、provider 列表,并强制刷新当前账户快照。
统计口径来自 provider 上报的 usage,不是本地估算;同一 turn 的后续样本会替换旧样本。手动刷新不会批量强制请求其他供应商的远端账户。
适用场景与注意事项¶
适合谁:
- 长期在
dsh web里开发,同时使用多家 API 或 Coding Plan 的开发者。 - 需要在本机一眼看清「今天花了多少 token、哪家余额快见底」的智能体用户。
- 运营 New API / Sub2API 中转,希望在 Harness 内直接看 relay 余额的人。
注意事项:
- 仅适用于 web 客户端;TUI 或其他 profile 不在设计范围内。
- 安装前阅读 SECURITY.md,确认网络边界与凭据处理方式符合你的安全要求。
- OpenCode Go 等上游 Bearer usage 接口可能随官方变化,需关注插件版本更新。
- 插件依赖 Harness 预发布接口(Cordis、session persistence 等),大版本升级后可能需要同步更新插件。
结尾¶
如果你已经在 Harness 里接了好几家模型,却还在浏览器标签页和各家控制台之间来回切换,dsh-usage-stats 把余额、配额与 Token 热力图收进侧边栏,是目前社区里较完整的一类「用量仪表盘」方案。GitHub 约 119 stars 也说明不少 DSH 用户确实需要这层可视化。
- 目录页:SkillHub — Ychris12138/dsh-usage-stats
- 源码与文档:github.com/Ychris12138/dsh-usage-stats
- 社区目录(同插件另一入口):deepseek-harness-plugin.com
安装命令再抄一遍:
dsh plugin --profile web add "github:Ychris12138/dsh-usage-stats"
重启 dsh web 后,打开「用量/余额」,从你最常用的那家 provider 开始看即可。