跨会话统计 Token 用量并查看趋势与逐请求明细
26.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kaguyaluna2333/dsh-token-stats该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/9) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/client.js:59
const response = await fetch('/api/tokenStats/aggregate', {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-typert-protocol给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 跨会话统计Token用量
- 日周月趋势图
- 逐请求明细日志
DeepSeek Harness 的 token 消耗统计插件:/token-stats 斜杠命令、Typert 远程,外加设置面板,带日/周/月趋势、模型环形图和逐请求日志。
README
由 DeepSeek 最新模型翻译生成dsh-token-stats
跨会话 Token 消耗统计插件,为 DeepSeek Harness 提供:
1. /token-stats 斜杠命令 —— 在 Web 聊天输入框键入 /token-stats,插件回复一份纯文本统计报告(总量 / 按天 / 按周 / 按月 / 按模型 / 会话排行 / 最近请求、缓存命中率)。
2. tokenStats Typert Remote —— 宿主编排的 TokenStatsGateway 在 /api/tokenStats/aggregate 暴露完整的统计文档,供浏览器或其他调用方复用。
3. 设置页仪表盘 —— 设置中新增「Token 统计」分区(与通用 / 模型 / 插件 / Agent 预设同层级,自带品牌 Logo):总量卡片、可切换按天 / 按周 / 按月的渐变柱状趋势图(悬停显示明细)、按模型表格、会话排行、缓存命中率与逐请求记录(最新在前,时间/会话/模型/输入/输出/缓存读)。
数据来源
不依赖任何运行中的会话状态:直接解码 dsh-session-persistence-jsonl 落盘的会话日志($DSH_HOME/sessions///session.jsonl.zstd),因此所有历史会话都计入,包括已关闭的、以及本进程从未加载过的会话。
展开完整文档(README 剩余 1 节)
dsh-token-stats 跨会话 Token 消耗统计插件,为 DeepSeek Harness 提供: 1. /token-stats 斜杠命令 —— 在 Web 聊天输入框键入 /token-stats,插件回复一份纯文本统计报告(总量 / 按天 / 按周 / 按月 / 按模型 / 会话排行 / 最近请求、缓存命中率)。 2. tokenStats Typert Remote —— 宿主编排的 TokenStatsGateway 在 /api/tokenStats/aggregate 暴露完整的统计文档,供浏览器或其他调用方复用。 3. 设置页仪表盘 —— 设置中新增「Token 统计」分区(与通用 / 模型 / 插件 / Agent 预设同层级,自带品牌 Logo):总量卡片、可切换按天 / 按周 / 按月的渐变柱状趋势图(悬停显示明细)、按模型表格、会话排行、缓存命中率与逐请求记录(最新在前,时间/会话/模型/输入/输出/缓存读)。 数据来源 不依赖任何运行中的会话状态:直接解码 dsh-session-persistence-jsonl 落盘的会话日志($DSH_HOME/sessions///session.jsonl.zstd),因此所有历史会话都计入,包括已关闭的、以及本进程从未加载过的会话。 - 日志是多个完整 zstd frame 拼接的容器(每个持久化追加批次一个 frame),插件自带 frame 边界扫描与逐帧解码(lib/log-reader.js),零第三方依赖(node:zlib + node:fs)。 - 用量语义与 dsh-token-meter 的投影折叠一致:assistant/chunk(usage) 提供早期样本,同一 (turn, step) 的最终 assistant/message 用量替换而非累加(失败的请求保留其分片样本);推理 token 是输出的细分项,不重复计入。 - 模型归属取最近的 request/context(回退 request/header);按天/按周/按月均使用本地时区(周一为一周起点);标题取 session/title(回退首条用户消息)。 安装 方式一:npm 发布版(推荐) 包已发布到 npm:@kaguyaluna2333/dsh-token-stats。 Web(浏览器 GUI,dsh web) 1. 安装到 profile(等价于在 profile 目录执行 pnpm add): dsh plugin --profile web add @kaguyaluna2333/dsh-token-stats 2. 在 ~/.dsh/profiles/web/cordis.patch.yml 追加: - insert: - id: token-stats name: '@kaguyaluna2333/dsh-token-stats' 可选配置(默认根为 $DSH_HOME/sessions): config: root: '/path/to/sessions' 3. 重启 dsh web(loader 树在启动时固定,必须重启才能加载新行)。 桌面端(DSH Desktop) 桌面端使用独立的 desktop profile: dsh plugin --profile desktop add @kaguyaluna2333/dsh-token-stats 把上面的 patch 行加入 ~/.dsh/profiles/desktop/cordis.patch.yml,然后退出并重新打开桌面端应用。 方式二:本地软链(仅开发者) 无需 npm 发布版时(本地开发、离线环境),也可以直接把仓库目录软链进 profile: Web mkdir -p ~/.dsh/profiles/node_modules/@kaguyaluna2333 ln -s ~/.dsh/profiles/node_modules/@kaguyaluna2333/dsh-token-stats 桌面端(模块解析锚定在 profile 自己的 node_modules) mkdir -p ~/.dsh/profiles/desktop/node_modules/@kaguyaluna2333 ln -s ~/.dsh/profiles/desktop/node_modules/@kaguyaluna2333/dsh-token-stats patch 行与方式一相同,然后重启对应前端。 使用 - 聊天框输入 /token-stats。 - 或打开 设置 → Token 统计 分区(与通用 / 模型 / 插件 / Agent 预设同层级)。 - 聚合结果在进程内有 15 秒缓存,重复调用不重复解码。 结构 | 文件 | 职责 | | lib/index.js | cordis 函数插件入口:挂载 gateway、注册 /token-stats 命令 | | lib/gateway.js | TokenStatsGateway(TypertRemoteService):tokenStats 服务 + Remote 方法 aggregate();手写装饰器协议安装 @Remote 标记 | | lib/typert.host.js | Typert host-face manifest:声明 tokenStats/aggregate 调用与 zod 线格式 | | lib/aggregate.js | 纯函数聚合核心(折叠、总量/按天/按模型/会话排行、报告渲染),无 cordis 依赖,可独立测试 | | lib/log-reader.js | 会话日志枚举、zstd frame 扫描、存储记录解码 | | lib/client.js | 手写浏览器 bundle(window.__ModuleLoader__.load):设置页「Token 统计」分区(顶层 settings.section),直接以 RPC 信封调用 /api/tokenStats/aggregate | 验证 - node test/aggregate.test.mjs —— 对真实会话根做聚合并打印报告。 - 临时实例端到端(克隆 profile 到独立 DSH_HOME,dsh --profile web --port ):loader 行 active、 /api/tokenStats/aggregate 返回文档、/plugins/@kaguyaluna2333/dsh-token-stats/client.js 200、index.html 启动图含本包。 已知限制 - 统计口径是日志口径:被压缩掉的轮次仍计入(与 dsh-session-stats 一致)。 - cacheWriteTokens 在多数提供方上报中为 0;合计(含缓存)数字对提示缓存敏感。 - 报告读取的是持久化日志的快照;会话正在运行时的最新请求可能尚未落盘(检查点间隔内)。 品牌 Logo 与外壳补丁 - 页面 Logo:分区页顶部的品牌头(渐变圆角徽标 + 上升柱 + token 圆点,内联 SVG,随主题变色)位于 lib/client.js,随插件 bundle 分发,无需额外操作。 - 侧边栏图标:设置外壳(dsh-client-ui-settings-general)的 navIcon() 对分区 id → 图标是硬编码的(models / agent-presets / plugins 之外一律回退到齿轮)。为了让「Token 统计」分区有自己的图标,scripts/patch-shell.mjs 会向两处内置外壳 bundle 注入一个分支(自定义 SVG 图标): - ~/.npm/_npx/*/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js(浏览器 profile 用) - /Applications/DSH Desktop.app/Contents/Resources/app.asar.unpacked/...(桌面端用) 幂等:已打过补丁的文件会跳过;CLI / 桌面端升级覆盖外壳后,重跑一次即可: node scripts/patch-shell.mjs
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kaguyaluna2333/dsh-token-stats
跨会话统计 Token 用量并查看趋势与逐请求明细
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目