dongshan1999/dsh-toolkit ↗★ 0

dsh-toolkit

提供生图面板、图库及Token用量成本统计 适合需要生成图片、管理提示词并监控全局Token成本的用户。

包名
dsh-toolkit
兼容性
待验证
版本
1.3.0
许可证
MIT
最近更新
2026年9月30日

同名包的其他仓库

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dongshan1999/dsh-toolkit

组件二:Token 用量与活跃度(token-usage)

统计 DSH 全部会话(含 subagent)的 Token 用量与成本。数据来自会话事件流,不额外埋点; live 会话、持久化会话、subagent 会话三路合并,持久化会话按 revision 增量缓存,事件到达即失效缓存。

面板「Token 用量」

  • 顶部:真实消耗 Tokens 总量、总请求数、总成本;时间范围可切 今天(默认)/ 7 天 / 30 天 / 90 天 / 全部 / 自定义时间段;成本可切 $ 美元 / ¥ 人民币; 主数据 15 秒轮询,另有手动「刷新」。
  • 指标卡:新增输入、输出、缓存创建、缓存命中、推理、缓存命中率(带进度条)。
  • 活跃度:近一年按天的热力图(按当日请求数着色),显示活跃天数与日期区间。
  • 模型分布:模型 / 请求 / 输入 / 输出 / 缓存读 / 缓存写 / 总量 / 成本 / 占比。
  • 使用趋势:双 Y 轴折线(左 Token、右成本),各指标独立画线,从每条线自身第一个非 0 点起笔。
  • 请求查看:按会话聚合(会话 / 请求 / 输入 / 输出 / 缓存命中 / 总量 / 成本 / 最后活动), 可按 全部来源 / 主会话 / 子会话 过滤、按标题 / ID / 路径搜索,点行展开到单次请求明细。
  • 计价明细:折叠区,展开后可增改删价目、同步 models.dev、设置汇率。

计价:三层合并,自带价目表

  1. 内置表打底:components/token-usage/pricing-defaults.mjs 随插件分发(79 条,美元 / 每百万 Token),永远可用。
  2. 插件自有价目文件 ~/.dsh/token-usage/pricing.json(TOKEN_USAGE_PRICING 可改)覆盖内置表,条目分两种来源:
    • source: 'user' — 面板里手工添加 / 修改的价目,同步永不覆盖;
    • source: 'models-dev' — 从 models.dev 同步写入,下次同步整体替换。
  3. 删除墓碑 deletedModelIds — 删过的条目(含内置表里的)不会被同步复活。

文件缺失或损坏时只降级到内置表并在面板标注错误,不会把成本整体归零。

  • 同步 models.dev:面板「⟳ 同步 models.dev」拉 https://models.dev/api.json(15 秒超时), 过滤非文本模型,ID 归一化后只写入当前实际用过的模型;匹配不到就明确提示、不写任何价目。
  • 汇率:默认 7.2,可在计价明细里改。数据一律美元存储与计算,换算只发生在显示层。
  • 需要对齐网关与 models.dev 的命名差异时,在 components/token-usage/host.js 的 MODEL_ALIASES 里登记。

统计口径

  • 总量(loop)= 输入 + 输出 + 缓存读 + 缓存写,与会话行、顶部汇总同口径。
  • 成本 = (输入 × 单价 + 输出 × 单价 + 缓存读 × 单价 + 缓存写 × 单价) ÷ 1,000,000。
  • 模型名未命中价目时成本记 0,该次请求标「未配价」。

配置与环境变量

环境变量作用默认值
IMAGE_GEN_DIR生成图统一落盘目录(收藏固定在同级)/data/images
IMAGE_GEN_CONFIG模型目录配置文件/data/config.json
IMAGE_GEN_LIBRARY提示词库文件/data/library.json
CUSTOM_API_KEY默认密钥来源(每条模型也可用自己的 keyEnv)—
TOKEN_USAGE_PRICINGtoken-usage 自有价目文件~/.dsh/token-usage/pricing.json
MODELS_DEV_API_URLmodels.dev 同步源(自检用)https://models.dev/api.json
TOKEN_USAGE_DIAG设为 1 才写 token-usage 诊断日志(排障用)关闭

token-usage

方法与路径说明
GET /api/token-usage全量统计;range=today|7d|30d|90d|all|custom,自定义配 start / end,force=true 跳过缓存
GET /api/token-usage/summary只要汇总数字
GET /api/token-usage/pricing价目表与来源(builtin / overrides / sync / exchangeRate / error)
POST /api/token-usage/pricing{ action: 'upsert' | 'delete' | 'sync' | 'rate' }
GET /api/token-usage/activity近一年逐日活跃度(请求数 + Token 数)