🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

用量计费追踪 XiaHouSheng/dsh-token-tracker

DeepSeek Harness
XiaHouSheng75 天前有提交已提供中文文档扫描:含敏感能力

汇总各模型 token 用量并按峰谷价算出费用

26/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add XiaHouSheng/dsh-token-tracker
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · model
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 发起网络请求
    lib/client.js:82
    const res = await fetch(url);
  • 执行外部命令来自配置/变量
    pack.mjs:32
    const result = spawnSync(
  • 执行外部命令来自配置/变量
    pack.mjs:43
    const result = spawnSync(
  • 删除本地文件递归
    pack.mjs:55
    rmSync(join(root, 'lib'), { recursive: true, force: true })
  • 读取本地文件
    pack.mjs:74
    if (!existsSync(join(root, 'lib', 'types'))) {
  • 写入本地文件
    pack.mjs:80
    copyFileSync(join(publish, 'cordis.patch.yml'), join(root, 'cordis.patch.yml'))
  • 读取本地文件
    pack.mjs:84
    if (!existsSync(rootManifestBak)) {
  • 写入本地文件
    pack.mjs:85
    copyFileSync(rootManifestPath, rootManifestBak)
  • 读取本地文件
    pack.mjs:87
    const publishManifest = JSON.parse(readFileSync(join(publish, 'package.json'), 'utf8'))
  • 读取本地文件
    pack.mjs:88
    const devManifest = JSON.parse(readFileSync(rootManifestBak, 'utf8'))
  • 写入本地文件
    pack.mjs:93
    writeFileSync(rootManifestPath, JSON.stringify(publishForm, null, 2) + '\n')
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-invariants@deepseek-ai/dsh-session@deepseek-ai/dsh-session-query@deepseek-ai/dsh-token-meter@deepseek-ai/dsh-typert-protocol@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按峰谷价目表算费用
  • 界面显示费用总额

DeepSeek-Harness 网页插件,统计各服务商的 token 用量,按峰谷价目表算钱,在 dsh 界面里显示总额,另带独立总览页和 JSON API。

README

由 DeepSeek 最新模型翻译生成
dsh-token-tracker English · 阅读本页的简体中文版本 dsh-token-tracker 是一个 dsh(DeepSeek-Harness)web 插件:它从持久化的会话日志里汇总各家 provider 上报的 token 用量,用「峰谷计价表」计算费用,并在 dsh web GUI 中展示 —— 头部 token 徽章 + 时段标签、Tracker 按钮、输入框下方 dock 行、回合结束尾巴、注入的 conversation.view「Token」页签 —— 同时提供独立总览页和 JSON API。 本仓库本身就是一个可直接安装的 dsh 插件包:lib/ 已预构建并提交,根目录同时带有 dsh.bundle + dsh.client 清单和 cordis.patch.yml。你可以用 dsh plugin add <git-url>、dsh plugin add <本地路径> 或(作为备选)dsh plugin add ./dsh-token-tracker-<version>.tgz 三种方式直接安装,无需先手动打包再下载 tgz。 注意:这不是 harness 仓库内的 @deepseek-ai/dsh-token-tracker 包(那个是由工作区构建的内置集成版)。两者共用同一份 src/,此处只是把它包装成可独立分发。
展开完整文档(README 剩余 1 节)
dsh-token-tracker

English · 阅读本页的简体中文版本

dsh-token-tracker 是一个 dsh(DeepSeek-Harness)web 插件:它从持久化的会话日志里汇总各家 provider 上报的 token 用量,用「峰谷计价表」计算费用,并在 dsh web GUI 中展示 —— 头部 token 徽章 + 时段标签、Tracker 按钮、输入框下方 dock 行、回合结束尾巴、注入的 conversation.view「Token」页签 —— 同时提供独立总览页和 JSON API。

本仓库本身就是一个可直接安装的 dsh 插件包:lib/ 已预构建并提交,根目录同时带有 dsh.bundle + dsh.client 清单和 cordis.patch.yml。你可以用 dsh plugin add <git-url>、dsh plugin add <本地路径> 或(作为备选)dsh plugin add ./dsh-token-tracker-<version>.tgz 三种方式直接安装,无需先手动打包再下载 tgz。

注意:这不是 harness 仓库内的 @deepseek-ai/dsh-token-tracker 包(那个是由工作区构建的内置集成版)。两者共用同一份 src/,此处只是把它包装成可独立分发。

截图

| GUI 头部的 token 徽章与时段标签 | 会话「Token」页签 / 输入框 dock 行 | 独立总览页 |
| GUI 头部的 token 徽章与时段标签 | 会话 Token 页签 / 输入框 dock 行 | 独立总览页 |

功能

插件分 Host 半部与 Browser 半部。

Host 半部(TokenTrackerService,作为 webServer 的服务消费者挂载):

- 监听 session/event,把 assistant/message 事件里 provider 上报的 usage 折叠成每个会话/每轮的 token 桶;每条消息按最近一次 request/header 里的模型名、以及事件时间对应的北京小时来归置。
- 在 GET /dsh-token-tracker 提供独立总览页,GET /dsh-token-tracker/api 提供 JSON API(?session=<id> 返回单会话总用量 + 每轮明细)。
- 用峰谷计价表(元 / 每百万 tokens)计费。计价表按优先级取:浏览器 localStorage 覆盖 → 工作区根目录或某个会话 cwd 下的 token-pricing.json → 内置默认(见 src/pricing.ts)。覆盖项会以短缓存被识别。

Browser 半部(src/client/):注册头部 token 徽章 + 时段标签、Tracker 按钮、输入框 dock 行、回合结束尾巴,以及 conversation.view「Token」页签。所有数据都从 Host 的 JSON API 拉取,因此 typert Remote 不需要挂在浏览器装配总线上。

环境要求

- Node.js ≥ 20 与 pnpm(需要修改源码并重新构建时才用到;仅安装插件不需要)。插件本体跑在 harness 的 dsh 宿主内。
- dsh harness(DeepSeek-Harness),版本需与本包 peer 依赖匹配。本插件是 @deepseek-ai/dsh- 运行时包的 peer,不会自带这些包。

安装插件(两步)

重要:本插件把 @deepseek-ai/dsh- harness 包声明为 peerDependencies(而非 dependencies),刻意不从 npm registry 拉取它们。因此安装顺序至关重要:先装 harness,再装插件。

第 1 步 —— 先装 harness

dsh 需要一个 harness 安装来满足 peer 依赖。先克隆并安装 DeepSeek-Harness:

git clone --depth 1 https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install # 在本地树中安装全部 @deepseek-ai/dsh-* 依赖

第 2 步 —— 再装插件(三选一)

本仓库提供三种等价的安装方式,按需选用:

方式 A · 直接从 GitHub 仓库 URL 安装(最推荐)

在你已装好 harness 的机器上直接执行:

dsh plugin --profile web add https://github.com/XiaHouSheng/dsh-token-tracker.git

原理:pnpm 克隆仓库后,会自动触发仓库里的 prepack 钩子,把精确的 @deepseek-ai/ peer 版本区间注入到打包的 manifest 中;随后把预构建好的 lib/ + cordis.patch.yml 打进 tarball 并安装。全程不用你手动构建。

方式 B · 从本地目录安装(插件开发/本机验证)

先在本仓库执行过一次 pnpm run build(见下方「开发与构建流程」),然后:

dsh plugin --profile web add D:\Xia_Project\AgentWorkSHeet\plugin-token-tracker

pnpm run build 已经把完整的 lib/、cordis.patch.yml 以及带精确 peer 区间的 publish 版 package.json 放到了仓库根,目录本身就是一个可安装的 dsh 插件包。

方式 C · 使用 GitHub Release 附件(离线环境,最传统)

从 Releases 页面下载 dsh-token-tracker-<version>.tgz,然后:

dsh plugin --profile web add ./dsh-token-tracker-<version>.tgz

无论你选择哪种方式,效果都相同:会激活 bundle 层(dsh.bundle → cordis.patch.yml,插入 token-tracker 这一行);同包的 dsh.client 清单让浏览器半部被自动发现并从 web app 提供。

验证 layer 并启动

dsh --profile web --dump-config # 应能看到 token-tracker 这一层
dsh --profile web # 启动 GUI + web 服务器

然后访问:

- http://127.0.0.1:<port>/dsh-token-tracker —— 总览页
- http://127.0.0.1:<port>/dsh-token-tracker/api —— JSON
- web GUI 头部徽章 / Token 页签

如果系统 PATH 里没有 dsh,可用 harness 里的本地二进制:先在 harness 目录执行 ./node_modules/.bin/dsh ...。

(可选,后续)从 npm 安装:将来若发布到个人 scope 的 npm 包,peer 规则相同,只需把 dsh plugin add 指向包名:

先按 RELEASING.md 改 scope 包名,然后:
dsh plugin --profile web add @your-scope/dsh-token-tracker

计价覆盖

在工作区根目录或某个会话 cwd 下放一个 token-pricing.json。它以短缓存被识别:

{
"timezone": "Asia/Shanghai (UTC+8)",
"peakHours": [{ "start": 9, "end": 12 }, { "start": 14, "end": 18 }],
"models": {
"my-model": [{
"effectiveFrom": "2026-01-01T00:00:00+08:00",
"prices": {
"inputCached": { "offpeak": 0.05, "peak": 0.1 },
"inputUncached": { "offpeak": 1.5, "peak": 3.0 },
"output": { "offpeak": 4.5, "peak": 9.0 }
}
}]
}
}

内置默认把北京时 09–12 与 14–18 记为高峰(为 deepseek-v4-flash 与 deepseek-v4-pro 提供 2× 空闲价)。

开发与构建流程

本小节面向插件作者/维护者。如果你只是安装使用,可以跳过。

Dev manifest / Publish manifest 双形态切换

根目录的 package.json 会在两种形态之间切换:

| 形态 | 何时处于 | peerDependencies 里的 @deepseek-ai/ | 用途 |
| Dev | 刚 git clone 下来 / restore-dev 之后 | 只含 react | pnpm install 构建依赖时:harness 版本(^0.1.0-rc.5)不在公共 npm,必须省略它们才能生成锁文件 |
| Publish | 执行 build / pack 之后,或 prepack 钩子期间 | 含完整 10 个 harness 包的精确区间 | 推送到 GitHub 或本地安装时:dsh 的 pnpm 布局需要它们作为 peer 显式声明,插件才能 require('@deepseek-ai/cordis') 等 |

两个辅助命令:

pnpm run build # 构建 lib/,把根 manifest 切换成 Publish 形态(用于 git 提交或本地安装)
pnpm run restore-dev # 还原为 Dev 形态(接下来要 pnpm install / 改版本 / 加 devDep 时用)

或直接用 git checkout -- package.json,效果等同。

日常构建循环

当 package.json 正处于 Publish 形态时,先切回 Dev:
pnpm run restore-dev

pnpm install # 只装 typescript / tsdown / react 类型等构建工具,不用拉 harness peers
…编辑 src/.ts…

pnpm run build # -> lib/ 完整生成 + cordis.patch.yml 拷到根 + manifest 变成 Publish 形态
接下来你可以:
dsh plugin --profile web add D:\Xia_Project\AgentWorkSHeet\plugin-token-tracker # 本地安装验证
以及/或者:
git add lib cordis.patch.yml package.json src scripts pack.mjs
git commit -m "feat: xxx"
git push origin main # 推送后,其他用户即可:
dsh plugin --profile web add https://github.com/XiaHouSheng/dsh-token-tracker.git

打包成 tgz(用于 GitHub Release / 离线分发)

pnpm run pack # = node pack.mjs:与 build 相同,多一步在 standalone/ 里 pnpm pack
-> dsh-token-tracker-0.1.0.tgz 出现在仓库根

pack.mjs 是完全自包含的:

- 它把 src/ + publish/ 组装到 standalone/ 阶段目录。
- 类型声明由仓库本地的 tsconfig.json 用 tsc 直接从 src/ 产出(自包含;@deepseek-ai/ 解析到 types.stub/ 下的环境占位类型,因此构建时无需拉取任何 peer 包)。
- Host + 浏览器 bundle 由自包含的 publish/tsdown.config.ts 用 tsdown 产出(含 TS 装饰器降级,让 @Remote 标记能运行)。
- 构建产物会同步回仓库根的 lib/ 以便「直接安装」;同时阶段目录用 pnpm pack 打包成 .tgz。

不需要(也不读取)任何 harness 副本。

本地验证

在一个全新的 harness 副本里(只要本地已执行第 1 步的 pnpm install):

直接本地目录:
dsh plugin --profile web add D:\Xia_Project\AgentWorkSHeet\plugin-token-tracker
或 tgz:
dsh plugin --profile web add ./dsh-token-tracker-0.1.0.tgz

dsh --profile web --dump-config # 存在 token-tracker 层
dsh --profile web # 启动后检查:
/dsh-token-tracker (总览页) /dsh-token-tracker/api (JSON)

已知限制与待办

- token 核算依赖 provider 在 assistant/message 事件上上报 usage;缺省时会退化为按字符数估算(标记 ≈),并非计费级精度。
- 峰谷计价以北京时间为时区锚点,且计价缓存 TTL 很短,因此编辑计价文件后需要几秒才生效。
- peer 版本在 publish 形态下使用精确区间(^0.1.0-rc.5)。它们由匹配的 harness 安装满足;请让它们与你部署的 harness 版本保持一致,否则 dsh plugin add 会提示 peer 未满足。
- 总览页以较慢的 10 分钟间隔自动刷新(标签页隐藏时暂停);会话日志很大时,表格最多展示前 300 个会话。

许可证

MIT
预览分享卡片长什么样 ↓XiaHouSheng/dsh-token-tracker
分享 · DeepSeek Harness Hub
XiaHouSheng/dsh-token-tracker

汇总各模型 token 用量并按峰谷价算出费用

回到顶部