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

模型用量仪表盘 ZSN12/DSH-model-usage

DeepSeek Harnessv0.8.2
ZSN1271 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 模型用量仪表盘 —— 设置页「模型用量」

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

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

自动兼容检查有告警:npm 同名包「dsh-model-usage」归属 liuchaoxu/dsh-model-usage,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZSN12/DSH-model-usage
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-model-usage」归属 liuchaoxu/dsh-model-usage,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-model-usage @ 0.8.2
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 16:14:17

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    src/index.ts:61
    if (!existsSync(STORE_FILE)) return
  • 读取本地文件
    src/index.ts:62
    const raw = readFileSync(STORE_FILE, 'utf8')
  • 写入本地文件
    src/index.ts:79
    mkdirSync(STORE_DIR, { recursive: true })
  • 写入本地文件
    src/index.ts:80
    writeFileSync(STORE_FILE, JSON.stringify(record) + '\n', { flag: 'a' })
  • 写入本地文件
    src/index.ts:300
    writeFileSync(STORE_FILE, '', 'utf8')
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
DSH-model-usage npm 包名:dsh-model-usage(npm 要求小写)· 仓库名:DSH-model-usage DeepSeek Harness 模型用量仪表盘 —— 设置页「模型用量」 像 Codex 用量页一样查看你的 DSH Token 消耗 —— 按模型 API 逐次采集、本地持久化、浏览器端聚合展示,全程不经过任何第三方服务。 ✨ 功能一览 - 📊 顶部统计栏:累计 Token 数 / 峰值 Token 数 / 最长聊天时长 / 当前连续天数 / 最长连续天数 - 🔥 Token 活动热力图:GitHub/Codex 风格 7×N 网格,近 30 天 / 90 天 / 6 个月 / 1 年 可切,悬停显示每日用量 - 📋 用量明细:真实消耗 Tokens / 总请求数 / 总成本(估算) / 缓存命中 / 推理 Tokens 五张 KPI 卡 - 🛡 缓存命中率:cache read token 占比进度条 - 🤖 模型列表:按 provider/model 聚合,显示总 token、调用、输入、输出、推理 - 🔄 5s 自动刷新 + 手动刷新 + 模型筛选下拉 - 💾 本地持久化:每次调用 append 写入 ~/.dsh/storages/model-usage.jsonl,重启不丢 📦 安装
展开完整文档(README 剩余 1 节)
DSH-model-usage

npm 包名:dsh-model-usage(npm 要求小写)· 仓库名:DSH-model-usage

DeepSeek Harness 模型用量仪表盘 —— 设置页「模型用量」

像 Codex 用量页一样查看你的 DSH Token 消耗 —— 按模型 API 逐次采集、本地持久化、浏览器端聚合展示,全程不经过任何第三方服务。

✨ 功能一览

- 📊 顶部统计栏:累计 Token 数 / 峰值 Token 数 / 最长聊天时长 / 当前连续天数 / 最长连续天数
- 🔥 Token 活动热力图:GitHub/Codex 风格 7×N 网格,近 30 天 / 90 天 / 6 个月 / 1 年 可切,悬停显示每日用量
- 📋 用量明细:真实消耗 Tokens / 总请求数 / 总成本(估算) / 缓存命中 / 推理 Tokens 五张 KPI 卡
- 🛡 缓存命中率:cache read token 占比进度条
- 🤖 模型列表:按 provider/model 聚合,显示总 token、调用、输入、输出、推理
- 🔄 5s 自动刷新 + 手动刷新 + 模型筛选下拉
- 💾 本地持久化:每次调用 append 写入 ~/.dsh/storages/model-usage.jsonl,重启不丢

📦 安装

要求:DeepSeek Harness(含 web profile)与 pnpm。

方式一:源码构建 + 挂载(推荐)

1. 克隆并构建
git clone https://github.com/ZSN12/DSH-model-usage.git
cd DSH-model-usage
pnpm install
pnpm build # 产出 lib/index.js + lib/client.js + lib/types
pnpm pack # 产出 tarball

2. 装进 web profile
dsh plugin --profile web add file:dsh-model-usage-0.1.0.tgz

方式二:profile 直挂(开发用)

// ~/.dsh/profiles/web/package.json
{
"dsh": { "profile": { "bundles": [ /* ..., / "dsh-model-usage" ] } },
"dependencies": { "dsh-model-usage": "link:/path/to/dsh-model-usage" }
}

cordis.patch.yml 会注册 model-usage 插件,设置页出现「模型用量」分区。改完重启 dsh web(host 半路由随之加载);浏览器端改动需重新 pnpm build 后刷新页面。

🔌 架构

| 半 | 文件 | 职责 |
| Host | src/index.ts | 包装 llm/stream waterfall 采集每次调用的 usage chunk;持久化到 jsonl;注册 HTTP 路由 |
| Host | src/report.ts | 共享的 wire contracts(记录结构 / 聚合行 / 单价表) |
| Client | src/client/index.ts | 注册 settings.section 分区(模型用量, order 12) |
| Client | src/client/UsageSection.tsx | 仪表盘 UI:统计栏 / 热力图 / KPI / 命中率 / 模型列表 |
| Client | src/client/UsageSection.module.css | 样式(CSS Modules, 随皮肤令牌适配) |

Host 采集原理

ctx.on('llm/stream', async function (options, next) {
// 透传流,同时捕获 type === 'usage' 的 chunk for await (const chunk of next()) {
if (chunk?.type === 'usage' && chunk.usage) captured = chunk.usage
yield chunk
}
// 调用结束后 append 一条 UsageRecord 到 jsonl })

记录字段:{ ts, provider, model, inp, out, cr, cw, rsn, dur }。启动时回放 jsonl(上限 50,000 条),内存聚合出报告。

HTTP 端点

| 端点 | 说明 |
| GET /api/model-usage?days=&model= | 聚合报告 JSON(rows / totals / daily / summary / debug) |
| POST /api/model-usage/reset | 清空记录与 jsonl(⚠️ 无鉴权,仅限本机使用) |

💰 成本估算说明

KPI 卡里的「总成本(估算)」按 src/report.ts 内嵌的公开单价表(美元/百万 token)关键词匹配计算,不是官方账单。各模型价格会变动,如有偏差请自行更新单价表。

🔒 隐私与数据

- 所有用量数据仅写入本机 ~/.dsh/storages/model-usage.jsonl(纯本地,无任何上传)
- 单价表与代码均为静态数据,不读取 API key、聊天内容或会话内容
- MAX_CALLS = 50_000 内存上限,超出后裁剪最旧记录(磁盘文件仍 append,重启回放时截断)

🧑💻 开发

pnpm install
pnpm build # tsc 类型声明 + tsdown 双 bundle
pnpm watch # tsdown watch
pnpm typecheck # tsc --noEmit

lib/ 为构建产物(已 gitignore),发布走 pnpm pack(prepublishOnly 自动构建)。

📄 License

MIT

灵感来自 openai/codex 的用量页设计。本项目非 DeepSeek 官方出品。
预览分享卡片长什么样 ↓ZSN12/DSH-model-usage
分享 · DeepSeek Harness Hub
ZSN12/DSH-model-usage

DeepSeek Harness 模型用量仪表盘 —— 设置页「模型用量」

回到顶部