汇总各模型 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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
XiaHouSheng/dsh-token-tracker
汇总各模型 token 用量并按峰谷价算出费用
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1