DeepSeek Harness Hub
← 返回列表

Token 用量统计面板zhang-jiazhi/dsh-stats-panel

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

按模型渠道聚合用量,查余额并估算费用

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/9 · 已提供中文文档

DeepSeek Harness Token 用量统计面板:模型/渠道聚合、余额配额、精确归档与费用估算

综合分
30
GitHub 分
30
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zhang-jiazhi/dsh-stats-panel
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Token 使用统计(dsh-stats-panel)

DeepSeek Harness (DSH) 的 Token 用量统计面板:模型用量、Token 消耗、缓存命中率、按渠道统计、渠道余额/套餐余量、费用估算(人民币)。以会话顶部独立 Tab 页呈现(「Token 统计」,与 对话 / 轨迹 / 上下文 / 记忆 并列),按 NewAPI / Sub2API 统计看板风格设计的全宽仪表盘。

功能

- 总览卡片:总调用次数、总 Token、今日消耗(按 stats-panel.dayBoundary 日历分桶,默认主机本地时区)、缓存命中率、估算费用(人民币)
- 渠道统计:按渠道(provider)聚合调用次数与 Token 消耗 —— 自动识别 DeepSeek 官方、OpenCode Go、MiMo、OpenAI、Anthropic、Kimi、硅基流动、阶跃星辰、OpenRouter、Novita 等
- 渠道余额 / 套餐余量:
- 自动查询(余额类):DeepSeek 官方(/user/balance)、Kimi 月之暗面(/v1/users/me/balance)、硅基流动(/v1/user/info)、阶跃星辰(/v1/accounts)、OpenRouter(/api/v1/credits)、Novita AI(/v3/user/balance)
- 自动查询(用量类):OpenCode Go(/zen/go/v1/usage,滚动/7天/30天配额)、OpenAI(/v1/usage,5小时/7天/30天用量)、Anthropic(/v1/organizations/usage/costs,同上)
- 通用兜底 ①:NewAPI / one-api 系中转(AgentRouter 等),走 /dashboard/billing/* 计费模拟端点;key 为无限额度令牌时(hard_limit_usd=1e8 哨兵)改查控制台用户余额 /api/user/self——会话 Cookie 存 ~/.dsh/stats-panel/-cookie.txt(附 new-api-user=),或访问令牌凭据 _ACCESS_TOKEN
- 通用兜底 ②:Sub2API 系网关(mdkj.lol 等),走 /v1/usage 用 sk key 自查钱包余额、今日用量与累计成本
- MiMo Token Plan:自动查询平台控制台(platform.xiaomimimo.com/api/v1/tokenPlan/usage,需登录 Cookie);未配置 Cookie 时回退为手动填写(存 localStorage)
- 模型统计:各模型调用/输入/输出/缓存/总 Token/费用
- 可视化:每日/每周/每月 Token 堆叠柱状图(输入/输出/缓存)、模型占比环形图、最近调用记录
- 费用估算:可编辑的模型价格表(人民币,元/1M tokens),内置本机全部模型的官方牌价(DeepSeek V4 / GPT-5.6 / Claude Opus 5 / GLM-5.3 / Kimi K2.7 / MiMo 等),用户修改优先
- 看板式数据流:切回标签页先用会话内缓存秒开再后台校验;页面可见时每 60 秒静默轮询(无新数据不重渲染、不闪加载态),后台标签页不轮询;余额自动探测客户端限流 2 分钟(服务端缓存 60 秒 + 并发去重 + 渠道并行探测),手动刷新不受限
- 数据留存:明细累计到 DSH_STATS_COMPACT_MAX_RECORDS(默认 10000 条,环境变量可调)即整体折叠为精确聚合并与已有内容合并写入 ~/.dsh/stats-panel/archive.json 并原子写回 cutoff 之后的 retained 明细——压缩在启动时与 summary 请求路径都会触发,长期不重启的 host 明细也不会无限增长;不保存、不读取已折叠的单条历史明细,统计数字不受影响;「调用记录」分页显示未折叠的 retained 明细及之后新增的调用。archive.json 是压缩前历史的唯一载体,请勿删除;backfill-state.json 按持久化 session revision 记录已扫描版本,未变化的非 live 会话可跳过,旧 state、revision 不可用或明细日志缩短时会安全全量重扫

安装

方式一:本地安装(开发)
cd ~/.dsh/local-plugins
git clone https://github.com/zhang-jiazhi/dsh-stats-panel.git
cd dsh-stats-panel && pnpm install --frozen-lockfile
仓库已包含预构建 lib/,无需本地构建
pnpm run typecheck
pnpm test

从源码重建 client bundle 需要 DSH 源码仓库中的官方 packages/client/tsdown.client.ts 工厂;普通安装直接使用仓库内预构建的 lib/ 产物。

方式二:作为 profile 依赖
在 ~/.dsh/profiles/web/package.json 的 dependencies 添加:
"@linxin666/dsh-stats-panel": ""
并加入 dsh.profile.bundles 列表,重启 dsh web 即可。

使用

1. 打开 DSH Web UI,进入任意会话
2. 点击会话顶部的 Token 统计 Tab(与 对话 / 轨迹 / 上下文 / 记忆 并列)
3. 查看总览 KPI、消耗趋势、模型占比、渠道余量,以及「模型统计 / 渠道统计 / 模型价格 / 调用记录」分页明细

渠道余额/余量自动从各平台官方 API 查询(需要你在 DSH 中配置对应渠道的 API Key,读取自 ~/.dsh/.credentials.yaml 或环境变量);查询失败或无公开 API 的渠道会显示错误/待配置,可手动填写。

MiMo Token Plan 自动查询需要平台登录 Cookie(platform.xiaomimimo.com)。配置方式二选一:
- 把登录后的 Cookie 请求头内容保存到 ~/.dsh/stats-panel/mimo-cookie.txt(权限建议 600)
- 或设置环境变量 MIMO_PLATFORM_COOKIE

Cookie 过期后重新登录平台并更新该文件即可。

支持渠道与查询方式

| 渠道 | 类型 | 查询 API | 币种 |
|---|---|---|---|
| DeepSeek 官方 | 余额 | api.deepseek.com/user/balance | CNY |
| Kimi 月之暗面 | 余额 | api.moonshot.cn/v1/users/me/balance | CNY |
| 硅基流动 | 余额 | api.siliconflow.cn/v1/user/info | CNY |
| 阶跃星辰 StepFun | 余额 | api.stepfun.com/v1/accounts | CNY |
| OpenRouter | 余额 | openrouter.ai/api/v1/credits | USD |
| Novita AI | 余额 | api.novita.ai/v3/user/balance | USD |
| OpenCode Go | 套餐配额 | opencode.ai/zen/go/v1/usage | 滚动/7天/30天 |
| OpenAI | 用量(5h/7d/30d) | api.openai.com/v1/usage | — |
| Anthropic | 用量(5h/7d/30d) | api.anthropic.com/v1/organizations/usage/costs | — |
| MiMo Token Plan | 套餐用量 | platform.xiaomimimo.com/api/v1/tokenPlan/usage(需登录 Cookie) | — |

OpenAI / Anthropic 用量接口需要组织级(admin)API Key,普通项目 Key 可能返回 403。
渠道自动发现:读取 ~/.dsh/settings.yaml 中 llm-pi-ai.providers 与 llm-deepseek 配置,按 baseURL 匹配查询方式;凭据通过 DSH credentials 服务按 apiKeyEnv 解析。

计价

- 内置默认价格表覆盖本机实际用到的全部模型(人民币 元/1M tokens,美元模型按 ≈7.1 汇率折算),2026-08-29 查询:
- DeepSeek V4 Flash/Pro 及变体:官方峰谷价,内置取高峰口径(api-docs.deepseek.com;高峰 = 周一至五 9-12/14-18 时,空闲减半;缓存写免费)
- GPT-5.6 Sol / Luna:OpenAI Standard 短上下文价(developers.openai.com,Sol 为 2026-11-21 前促销价;含官方缓存读/缓存写价)
- Claude Opus 5:$5/$25(anthropic.com;缓存读 0.1×、缓存写 1.25× 输入价)
- GLM-5.3-Flash:智谱定价页 0.002 元/千 tokens(bigmodel.cn;缓存读按输入价 10% 估算)
- Kimi K2.7 Code:输入 6.5 / 输出 27 / 缓存命中 1.3(platform.kimi.com)
- 套餐内模型(MiMo Token Plan)与免费模型(ox-alpha-free 等)计 0
- 价格表存 localStorage;用户编辑过的模型以用户为准,缺失模型自动用内置默认价补齐
- 中转站实际扣费可能低于牌价(如 Sub2API 折扣),估算值会偏高;按需修改「模型价格」

开发

仓库已包含预构建产物(lib/),安装后开箱即用,无需构建。

如需从源码重建:

pnpm run typecheck
pnpm test
DSH_CLIENT_BUNDLE_FACTORY=/absolute/path/to/packages/client/tsdown.client.ts pnpm run build

build 先生成类型中间产物,再用 DSH 官方 clientBundle 工厂生成 node half 和 __ModuleLoader__ client bundle。DSH_CLIENT_BUNDLE_FACTORY 可传绝对路径,或传相对插件目录的路径。没有 DSH 源码环境时:pnpm run build:host 可从源码重建 host 半区(lib/index.js),client 半区仍使用仓库预构建产物。

数据持久化于 ~/.dsh/stats-panel/records.jsonl(按 sessionId+seq 去重,跨重启安全);archive.json 保存已压缩历史,backfill-state.json 保存已扫描的持久化 revision。

常见问题

- OpenAI / Anthropic 的用量查不到? 这两个平台的用量接口需要组织级(管理员)API Key,普通项目 Key 会返回 403(页面显示查询失败)。
- MiMo Token Plan 没有自动余量? 请确认已配置平台 Cookie(~/.dsh/stats-panel/mimo-cookie.txt 或环境变量 MIMO_PLATFORM_COOKIE),且 Cookie 未过期;未配置或失效时会回退为手动填写。
- 费用为什么和实际账单不一致? 费用按你配置的价格表估算;套餐渠道(OpenCode Go / MiMo / OpenAI / Anthropic)建议将模型价格设为 0,避免与套餐额度重复计费。
- 换机器后价格配置丢失? 价格表存于浏览器 localStorage;如需迁移可在「模型价格」编辑后导出。
- 数据存在哪里? 用量数据存 ~/.dsh/stats-panel/records.jsonl(按 sessionId+seq 去重)。
- 「今日消耗」按哪个时区? 默认主机本地时区,跨零点即归零;如需 UTC 口径,在 ~/.dsh/settings.yaml 配置 stats-panel.dayBoundary: utc(也可写 +08:00 或分钟数,如 480)。切换日历只影响分桶展示,明细与总量不变;已折叠到 archive.json 的历史段无法回溯重切,趋势卡下方会显示相应说明。

贡献

欢迎提交 PR:
- 新增渠道适配器:见 docs/CHANNELS.md
- 余额连通性验证:node scripts/verify-balances.mjs

许可证

Apache-2.0

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群