dsh-token-dashboard: Aggregating DSH Local Sessions into a Token Usage Dashboard

前言

DeepSeek Harness(DSH)在单个会话里已经能看 Token 用量,但项目一多、模型和子代理、分叉会话分散在各处,很难回答「这段时间一共烧了多少、哪几个模型占大头、某次请求慢在哪」。社区插件 @shi-yangyang/dsh-token-dashboard(维护者 shi-YangYang,分类:客户端)在本地把会话日志聚合成原生看板,以 Token 用量为主线,并可选做费用估算,不写日志、不改请求、不上传会话。

这是什么

dsh-token-dashboard 是一个本地优先的 Cordis 插件:Host 通过官方 sessionPersistence 读会话日志,用与 @deepseek-ai/dsh-token-meter 一致的四桶口径折叠数据;Client 通过 DSH Slot 注册 main 面板和侧边栏 footer 入口,用宿主 React 与主题 Token 渲染。会话日志始终是唯一事实来源。

  • 包名:@shi-yangyang/dsh-token-dashboard(npm 上无 scope 的 dsh-token-dashboard 是另一个项目,勿混用)
  • 许可证:MIT
  • 已在 DSH Desktop 0.2.1-rc.3(Cordis 4.0.5)验证;构建需 Node.js 22.18+ 与 pnpm

核心功能

下面介绍 README 中已列出的能力,均针对当前 profile 的本地会话。

全局与时间范围

  • 当前 profile 下所有会话的总量、未缓存输入、输出、缓存读/写、请求数、缓存命中率和会话数
  • 时间范围:今天、最近 7 / 30 / 90 天、全部或自定义;KPI 与 Usage 图表同一范围

模型、会话与请求

  • 模型与会话:可搜索、筛选、排序的分页表格,会话详情抽屉
  • 请求日志:按每次计费请求展示时间、应用、供应商、模型、新增输入、输出、缓存命中、成本、速度和首字耗时(每页最多 12 条,最新在前)

费用估算

  • 内置 357 个 OpenRouter 模型快照与 DeepSeek 高峰价;可本地覆盖单价,或从 OpenRouter 刷新
  • 费用为 USD 列表价估算,非 provider 账单;内置快照日期 2026-10-30

界面与数据边界

  • DSH Slot、主题 Token、中英文界面;导出时自动去掉工作目录
  • HTTP 接口只读、同源,不暴露 prompt、assistant 文本、工具参数、凭据或文件内容

统计口径遵循公开 tokenUsage 规则:四个互斥 provider 桶、同一次 attempt 的最终样本替换流式样本、重试开新 attempt、分叉继承前缀不计入总量(实现见仓库 src/host/fold.ts)。

安装与启用

当前文档说明需从源码构建后作为本地 bundle 安装,资料中未给出 dsh plugin add github:... 一类命令。

1、构建(在插件源码目录)

先满足 Node 22.18+ 与 pnpm。在目录内执行:

pnpm install

pnpm install 会通过 prepare 自动构建 Host 与 Client,生成不入库的 lib/ 与 client/。改源码后可执行:

pnpm build

2、安装到 DSH

在 DSH Plugins 界面选择本地 bundle,目标指向该插件目录;或在 DSH Agent 中执行:

plugin_manager(action: "install_bundle", target: "/absolute/path/to/dsh-token-dashboard")

若 profile 中 bundle 被禁用,需启用后刷新 DSH Web 页面。入口在侧边栏底部、Settings 上方的 Token 用量。

3、更新与重启

更新 Host 代码后需重启 DSH;仅改 Client 时刷新页面即可。

典型用法

打开 Token 用量 后,可按页面分工查看:

页面 内容
概览 所选范围内的全局 KPI 与 Usage 图表
模型 按供应商/模型统计的 Token 分布与请求数
会话 搜索、筛选、排序、分页和会话详情
请求日志 逐条计费请求
费用 预估总费用、逐模型明细、单价覆盖与在线价目刷新

顶部可切换语言、设置扫描间隔(5 / 10 / 30 / 60 秒)、点 立即同步 或导出。扫描间隔控制本地会话轮询。

请求日志中:成本按浏览器当前价目即时计算,未定价模型显示 —;速度 = 输出 Token / 实测请求窗口;首字 = step/start 到首个 stream record 的时间,无 stream 时间戳时为 —。单价覆盖与在线价目缓存在浏览器 localStorage。

Host 提供的只读路由(同源)包括:GET /dsh-token-dashboard/stats(支持 ETag/304 与 ?refresh=1)、/requests(如 ?offset=0&limit=24)、/prices、/health、/verify。存在 Host Connection 时路由复用其鉴权。

适用场景与注意

适合谁

  • 长期在 DSH 里开多会话、多模型,需要跨会话汇总 Token 与趋势的人
  • 需要按模型/会话/单次请求排查用量或延迟,并做本地费用粗算的人

边界与限制

  • 只覆盖当前 DSH profile 的本地会话;远程、云端和其他 profile 不包含
  • 首次打开会扫描历史进内存缓存;DSH 重启后缓存清空,无持久化索引
  • 会话跳转依赖可选的 uiWorkspace.openSession 宿主服务

安装前

插件以当前 DSH 进程权限运行,安装前应自行审阅源码与 MIT 许可证。社区目录 SkillHub 插件页 与 GitHub 仓库相互独立,并非 DeepSeek / 幻方官方应用商店;DSH 生态强调「一切皆插件」,选用社区 bundle 需自行承担信任与更新成本。

结尾

@shi-yangyang/dsh-token-dashboard 把分散在各会话里的 Token 用量收成一块原生看板,只读本地日志,可选费用估算,适合把「用了多少、花在哪、哪次请求慢」问清楚。详情与构建说明见 GitHub:shi-YangYang/dsh-token-dashboard,目录索引见 SkillHub。

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

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

Xiaoye