DSH Mini Usage:DeepSeek Harness 本地 Token 用量统计

前言

在本地运行 DeepSeek Harness 时,常常需要了解每日的 Token 消耗与模型分布。没有集中化的用量面板,查看历史消耗往往只能依赖日志或外部服务,过程繁琐且容易引入隐私顾虑。下面介绍一个本地、仅本地的 Token 用量统计插件。

是什么

这是一个面向 macOS Desktop 0.2.0-rc.2 的独立插件,由 zhongyichang1998 维护。它通过读取宿主的会话持久化服务,统计并展示今日/本月总量、模型用量,以及最近 12 个自然周的 7×12 热力图。界面采用中文磨砂卡片,跟随宿主明暗主题。

安装与启用

先完全退出桌面客户端,再通过官方 CLI 安装发行包:

dsh plugin --profile desktop add /完整路径/dsh-mini-usage-1.1.0.tgz

安装完成后重新打开客户端,即可在设置中的插件管理里启用或禁用此插件。卸载时使用:

dsh plugin --profile desktop remove dsh-mini-usage

核心功能

  • 侧栏入口:提供 32px 侧栏入口,支持窄侧栏图标模式与窗口边缘避让。
  • 数据展示:显示今日总量/输入/输出、本月累计,支持今天/本月切换。
  • 模型统计:优先使用结算消息中的 message.source.provider/model,否则回退到 request/header.header.config 路由信息。相同模型的不同来源分开统计,跨会话合并同一路由。
  • 热力图:最近 12 周,从 11 周前周一到本周日,未来单元格不展示用量。
  • 主题与交互:中文界面配合半透明磨砂卡片,跟随宿主明暗主题;支持手动与每 5 分钟刷新、键盘操作。
  • 隐私与安全:不注入 credentials/settings/llm 服务,不读 API Key,不修改 Session 或宿主程序;前端仅访问同源 /api/dsh-mini-usage,并限制回环地址、Host、Origin 与专用请求头。

统计口径

数据源为宿主的 sessionPersistence.list() / open(id, 'read') / read(offset, length),覆盖当前 DSH_HOME 中持久化服务可枚举的 Session(含子会话),不只统计当前聊天。

  • Input = inputTokens + cacheReadTokens + cacheWriteTokens;Output = outputTokens;Total = Input + Output;reasoningTokens 不额外相加。
  • 按 rc.2 官方 token-meter 结算语义读取 assistant/message.data.usage,否则读取 message/attempt 内嵌 stream 最后一条 usage。
  • 同一 turn/step 的结算替换前值;llm/retry-started 关闭替换位置,使重试单独累计。seq 游标防止重复事件。fork 的 inheritedEventCount 前缀不重复计入全局总量。
  • 采用系统本地时区、结算事件的自然日。跨日的更正归到更正事件日期;相同值重复结算保留原日期。时区变更后重建索引。
  • “—” 表示没有记录或统计不可用,不等于 0;有明确零 Usage 才显示 0。当天存在缺失/异常 Usage 或不提供 Usage 的 LLM compaction 时,该日及所属月显示未知;热力图工具提示解释原因。
  • 热力图从 11 周前周一到本周日,未来单元格不展示用量;空心虚线为无记录/不可用,实心最低色阶为已报告的真实零。色阶是当前窗口每日总量的相对强度。
  • 只覆盖公开日志中可获取的调用。没有持久化 Usage 的后台模型调用、已删除的会话、其他 DSH_HOME 和账号服务端账单不在统计范围。

派生缓存与性能

派生缓存保存在 ${DSH_HOME:-~/.dsh}/storages/dsh-mini-usage/index-v3.json,仅保存每日数值、模型与来源标识、游标和最后结算位置,不存聊天内容或认证数据。缓存采用临时文件 + rename;损坏可从官方记录重建。每次刷新需枚举 Session 元数据,成本随会话数增长。首次建立索引读取可用历史;以后通过 backend revision 跳过未变化日志,变化日志分批读取(每批最多 512 事件)。

适用场景与注意

适合需要在本地追踪 Token 消耗、关注模型分布与历史趋势的用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。它不是 API 账户全量账单,不能替代服务端账单或第三方分析服务。

结尾

该插件在本地完成 Token 用量统计,不依赖外部服务,不收集聊天内容或认证信息。如需进一步了解或下载,可访问插件目录页与 GitHub 仓库。

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

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

小夜