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

用量中心 loommii/dsh-provider-usage

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

常驻卡片实时查看 AI 服务用量余额与本地 Token 统计

29.9/100
综合分
0
GitHub 星标
50
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @loommii/dsh-provider-usage
npm 源 · @loommii/dsh-provider-usage 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · model
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 40 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 24 处,展示前 22 条)
  • 读取本地文件
    lib/index.js:24
    try { return JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version || '0.11.0' }
  • 读取本地文件
    lib/index.js:589
    raw = await readFile(config.providersFile, 'utf8')
  • 写入本地文件
    lib/index.js:601
    try { await rename(config.providersFile, config.providersFile + '.corrupt-' + Date.now()) } catch { }
  • 写入本地文件
    lib/index.js:609
    await mkdir(dirname(config.providersFile), { recursive: true, mode: 0o700 }).catch(() => {})
  • 写入本地文件
    lib/index.js:611
    await writeFile(tmp, JSON.stringify(doc, null, 2), { mode: 0o600 })
  • 写入本地文件
    lib/index.js:612
    await chmod(tmp, 0o600)
  • 写入本地文件
    lib/index.js:613
    try { await rename(tmp, config.providersFile) } catch (e) { await writeFile(config.providersFile, JSON.stringify(doc, null, 2), { mode: 0o600 }) }
  • 写入本地文件
    lib/index.js:613
    try { await rename(tmp, config.providersFile) } catch (e) { await writeFile(config.providersFile, JSON.stringify(doc, null, 2), { mode: 0o600 }) }
  • 发起网络请求
    lib/index.js:722
    res = await fetch(url, {
  • 发起网络请求
    lib/index.js:804
    res = await fetch(url, {
  • 读取本地文件
    lib/index.js:940
    const st = await fsStat(path)
  • 读取本地文件
    lib/index.js:984
    const st = await fsStat(p); mtimeMs = st.mtimeMs
  • 读取本地文件
    lib/index.js:989
    try { const st2 = await fsStat(cur.path); path = cur.path; mtimeMs = st2.mtimeMs } catch { continue }
  • 读取本地文件
    lib/index.js:1131
    try { st = await fsStat(config.sessionsDir) } catch { return localFail(state, 'no-sessions', '未找到 DSH 会话目录:' + config.sessionsDir) }
  • 读取本地文件
    lib/secure-store.js:52
    const raw = await readFile(file, 'utf8')
  • 写入本地文件
    lib/secure-store.js:61
    await writeFile(tmp, JSON.stringify(doc, null, 2), { mode: 0o600 })
  • 写入本地文件
    lib/secure-store.js:62
    await chmod(tmp, 0o600)
  • 写入本地文件
    lib/secure-store.js:64
    try { await (await import('node:fs/promises')).rename(tmp, file) } catch (e) { await writeFile(file, JSON.stringify(doc, null, 2), { mode: 0o600 }) }
  • 写入本地文件
    lib/secure-store.js:65
    await chmod(file, 0o600)
  • 写入本地文件
    lib/secure-store.js:91
    await mkdir(dir, { recursive: true, mode: 0o700 })
  • 读取本地文件
    lib/secure-store.js:93
    const raw = await readFile(keyFile, 'utf8')
  • 写入本地文件
    lib/secure-store.js:98
    await writeFile(keyFile, key.toString('base64') + '\n', { mode: 0o600 })
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 实时查看用量余额
  • 本地Token统计
  • 常驻卡片展示

DSH 插件:OpenCode Go 用量查询——点击浮鲸弹出对话框(M1)

README

由 DeepSeek 最新模型翻译生成
dsh-provider-usage — DSH「用量中心」 当前版本 v0.15.0 · npm @loommii/dsh-provider-usage · 更新历史 v0.15.0 更新摘要(适配 dsh 0.1.7-rc.1) - 适配 DSH 0.1.7-rc.1(Session 格式 v4),修复该版本带来的两处回归: - DSH 模型设置读取恢复:0.1.7-alpha.1 移除了 ctx.settings.get(),插件改用 describe() 读取命名空间配置;自定义 apiKeyEnv / displayName 重新生效 (旧版 DSH 行为不变) - 本地 Token 统计世代感知:Session 从 v3 迁移到 v4 时同一天不再重复计账;旧世代会话文件被清理后,历史天按当前世代重算而不是丢失贡献(LOCAL_PARSE_VERSION → 4) - 完整变更见 CHANGELOG v0.14.0 更新摘要 - 卡片停靠吸附:拖到屏幕边缘松手,卡片自动吸附并收成把手(供应商配色 + 主数字徽章),鼠标移上滑出、移开收回;拖住把手离开边缘即恢复自由拖动;卡片设置页可关闭
展开完整文档(README 剩余 1 节)
dsh-provider-usage — DSH「用量中心」

当前版本 v0.15.0 · npm @loommii/dsh-provider-usage · 更新历史

v0.15.0 更新摘要(适配 dsh 0.1.7-rc.1)

- 适配 DSH 0.1.7-rc.1(Session 格式 v4),修复该版本带来的两处回归:
- DSH 模型设置读取恢复:0.1.7-alpha.1 移除了 ctx.settings.get(),插件改用
describe() 读取命名空间配置;自定义 apiKeyEnv / displayName 重新生效
(旧版 DSH 行为不变)
- 本地 Token 统计世代感知:Session 从 v3 迁移到 v4 时同一天不再重复计账;旧世代会话文件被清理后,历史天按当前世代重算而不是丢失贡献(LOCAL_PARSE_VERSION → 4)
- 完整变更见 CHANGELOG

v0.14.0 更新摘要

- 卡片停靠吸附:拖到屏幕边缘松手,卡片自动吸附并收成把手(供应商配色 + 主数字徽章),鼠标移上滑出、移开收回;拖住把手离开边缘即恢复自由拖动;卡片设置页可关闭
- 修复 fork 会话重复记账:本地 Token 统计不再把 fork 继承的历史事件重复计入(根因:DSH Session 格式 v3 起 header 不再携带 inheritedEventCount,继承边界改由事件流
session/end-seed{inherited:true} 标记传递;沿用 header 字段解析恒为 0 导致继承部分重复统计)
- 完整变更见 CHANGELOG

v0.13.0 更新摘要

- Command Code 自定义月度额度:添加 / 编辑 Command Code 提供方时可自定义「月度额度 (USD)」,月已用 / 月剩余百分比按此额度计算,不再依赖订阅端点返回的 planId → 额度映射表;留空则保持原有自动推算(Go 10 / GOAT 70 / Pro 80 / Max 150 / Ultra 300 USD)
- 自定义额度按提供方实例独立保存(providers.json),改额度后自动强制刷新卡片(绕过 30s 缓存); 5 小时 / 周窗口始终走官方 API 原数据,不受影响
- 完整变更见 CHANGELOG

v0.12.0 更新摘要(适配 dsh 0.1.5-rc.2)

- 适配 DSH 0.1.5-rc.2(Session 格式 v3):修复升级后本地 Token 统计不再计数的问题。
根因:新版会话日志按格式版本命名(session.v3.jsonl.zstd),插件原先只认旧名 session.jsonl.zstd;现已两种文件名同时兼容,事件内部格式经逐字段核对无需改动

DSH Web GUI 插件 「用量中心」:一个常驻右下角的用量卡片,实时显示你的 AI 服务用量 / 余额,不用再打开网页查;附带本地 Token 统计页,不联网也能看自己今天用了多少。

v0.8.0 更新摘要(适配 dsh 0.1.2-alpha)

- 适配 dsh 0.1.2-alpha 破坏性重构:修复升级后「设置页无用量中心 / 卡片消失」与 duplicate loader entry id 启动崩溃(根因:v0.6.0 包名迁移时 cordis.patch.yml 与 client 注册 id 仍用旧名,叠加 alpha 新的客户端发现机制导致静默失联)
- host 侧 API 契约、会话文件解析、平台注入(react / slots)经逐项核对在 alpha.4 全部兼容
- 完整变更与用户升级指引见 CHANGELOG

v0.6.0 更新摘要

- 新增提供方 Command Code(订阅+余额混合卡):5 小时 / 周 / 月窗口使用量 + 月度剩余额度(USD),主数字为月已用百分比
- 窗口重置倒计时修复:之前 5 小时/周窗口的"重置"字段恒为空,现在正常显示倒计时
- 请求 User-Agent 跟随版本号:告别硬编码残留,升版不再漏改
- 订阅端点短超时:新增 subscriptionTimeoutMs(默认 5s),防止次要端点挂起拖累整体响应
- 月百分比智能隐藏:Command Code 月用量无法推算时隐藏整行,避免"0% 还没用"的误导
- 完整变更见 CHANGELOG

支持的提供方

| 提供方 | 显示内容 |
| OpenCode Go(订阅) | 5 小时 / 7 天 / 月度三个窗口的已用百分比 + 进度条 + 重置倒计时 |
| DeepSeek(余额) | 账户余额(CNY) |
| Command Code(订阅+余额,自定义) | 5 小时 / 周 / 月窗口使用量 + 月度剩余额度(USD),主数字为本月剩余百分比(3 位小数向下取整) |
| AMD Radeon Cloud (中国)(余额+配额,自定义) | 今日剩余额度(pts)+ 今日已用/限额 + 单日窗口进度条 + 重置倒计时(无周/月窗口;国际版位置预留) |

功能

- 常驻用量卡片:右下角悬浮,一眼看到剩余量;可随意拖动,位置自动记住
- 自动刷新:每 30s 自动更新;想看最新数据点卡片上的 ↻ 立即重新查询
- 多实例:可以同时配置多个提供方(如多个 OpenCode Go 账号),点卡片 logo / 名称切换查看
- 本地 Token 统计:自读本机 $DSH_HOME/sessions 会话文件,按天聚合今天的 Token 用量(按提供方分类 + 按模型汇总,汇总表跟随所选提供方),只读本地、不联网;数据落盘 $DSH_HOME/provider-usage/daily-stats/,历史天封存只算今天;设置页可一键重置统计缓存(不影响会话记录)
- 状态提示:正常 / 未更新 / 注意 / 错误,请求中显示「查询中」动画
- Key 安全:密钥只在 DSH 进程内解析使用,界面上一律打码显示;自定义 Key 可加密保存在本机(AES-256 加密),不落明文

安装 / 卸载

GitHub

安装
dsh plugin --profile web add github:loommii/dsh-provider-usage

安装指定版本(可选)
dsh plugin --profile web add github:loommii/dsh-provider-usage#v0.6.0

卸载
dsh plugin --profile web remove @loommii/dsh-provider-usage

npm

安装
dsh plugin --profile web add @loommii/dsh-provider-usage

卸载
dsh plugin --profile web remove @loommii/dsh-provider-usage

安装 / 卸载后重启 dsh web 即可生效。

npm 包名为 @loommii/dsh-provider-usage(无 scope 的 dsh-provider-usage 在 npm 上已被他人占用)。

快速开始

1. 打开 DSH 设置 → 用量中心 → 「提供方」
2. 添加实例:
- OpenCode Go 订阅:需要 OpenCode Go 的 API Key(默认读取 OPENCODE_GO_API_KEY)
- DeepSeek 余额:需要 DeepSeek 开放平台的 API Key(默认读取 DEEPSEEK_API_KEY)
- Command Code(自定义):仅「添加自定义提供方」可选;需要 Command Code 后台生成的 API Key(user_xxx),填进本插件加密保存
- Key 也可以直接填进本插件保存(加密存储,不进 DSH 凭证)
3. 回到主界面,右下角就会出现用量卡片,每 30s 自动刷新

使用说明

- 提供方实例的增删改、Key 设置都在 设置 → 用量中心 里完成,改动即时生效,无需重启
- 每个实例可在编辑里用「启用」开关管理状态:开 = 启用(绿)/ 关 = 暂停(灰),保存后生效;新添加的提供方默认启用。暂停后该实例不再轮询查询(卡片 30s 自动刷新跳过它),卡片切换菜单里也不可选;暂停的若是当前卡片实例会自动切到其他启用实例,全部暂停时卡片隐藏。
启用/暂停只影响查询与卡片选择,编辑 / 删除 / Key 配置都原样保留
- 设置页有三个标签:「提供方」管理实例,「用量统计」查看本地 Token 统计,「卡片设置」自定义卡片显示
- 卡片设置:可分别开关卡片上的信息模块(主数字 / 副行信息 / 窗口进度条 / 状态 chip / 提供方名称),也可整体「显示卡片」开关隐藏整卡;隐藏后不再轮询查询。全部模块关闭时卡片视为隐藏,并提供「恢复默认」一键还原
- 设置保存在本机浏览器中;删掉实例不会上传或泄露任何 Key
- 卡片拖动后的位置会自动保存,下次打开还是老位置

配置项(可选)

以下配置写入 profile 的 bundle 配置(cordis.patch.yml / 设置页),全部有合理默认值,不配也能用:

| 配置项 | 默认值 | 说明 |
| baseUrl | – | 仅覆盖 OpenCode Go 的查询地址(历史语义);其余提供方用内置官方地址 |
| timeoutMs | 15000 | 出站请求超时(上限 30000) |
| subscriptionTimeoutMs | 5000 | Command Code 订阅端点(次要端点)超时;慢网络可调大 |
| maxSessions | 30 | 本地 Token 统计扫描的会话文件数上限(上限 100) |
| sessionsDir | $DSH_HOME/sessions | 本地 Token 统计的会话目录覆盖 |

License

MIT
预览分享卡片长什么样 ↓loommii/dsh-provider-usage
分享 · DeepSeek Harness Hub
loommii/dsh-provider-usage

常驻卡片实时查看 AI 服务用量余额与本地 Token 统计

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部