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

余额用量计费 paolomandica/dsh-cost-usage-monitor

DeepSeek Harness
paolomandica25 天前有提交已提供中文文档扫描:未发现敏感能力

在输入区实时查看账户余额与本次会话花费

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add paolomandica/dsh-cost-usage-monitor
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    index.js:117
    const response = await fetch(BALANCE_URL, {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 底栏显示账户余额
  • 按会话统计用量费用
  • 按token用量计价

DeepSeek Harness 插件:在编辑器底栏显示账户余额和每个会话的用量费用,按服务商上报的 token 用量计价。

README

由 DeepSeek 最新模型翻译生成
dsh-cost-usage-monitor 一个 DeepSeek Harness 插件,把账户余额和会话用量费用放进 composer dock,紧挨着内置的统计 pill。 这些数字从哪来 | 数据 | 来源 | | 计费 token | tokenUsage 会话投影(@deepseek-ai/dsh-token-meter)——服务商上报的 uncachedInputTokens、cacheReadTokens、cacheWriteTokens、outputTokens | | 计价路由 | modelSelection 会话投影(@deepseek-ai/dsh-api-session-controller)——next 缺失时回退到 lastUsed | | 余额 | 本插件的 Host 半部分:它解析 DEEPSEEK_API_KEY 凭据,从文档中的 GET /user/balance 端点提供 GET /usage-monitor/balance,浏览器半部分再读取它 | | 每 1M token 价格 | 本插件——可编辑,持久化在 localStorage | 余额刻意在 Host 侧获取:API key 属于 Host,api.deepseek.com 不返回 CORS 头,余额也不属于任何会话投影。
展开完整文档(README 剩余 1 节)
dsh-cost-usage-monitor

一个 DeepSeek Harness 插件,把账户余额和会话用量费用放进 composer dock,紧挨着内置的统计 pill。

这些数字从哪来

| 数据 | 来源 |
| 计费 token | tokenUsage 会话投影(@deepseek-ai/dsh-token-meter)——服务商上报的 uncachedInputTokens、cacheReadTokens、cacheWriteTokens、outputTokens |
| 计价路由 | modelSelection 会话投影(@deepseek-ai/dsh-api-session-controller)——next 缺失时回退到 lastUsed |
| 余额 | 本插件的 Host 半部分:它解析 DEEPSEEK_API_KEY 凭据,从文档中的 GET /user/balance 端点提供 GET /usage-monitor/balance,浏览器半部分再读取它 |
| 每 1M token 价格 | 本插件——可编辑,持久化在 localStorage |

余额刻意在 Host 侧获取:API key 属于 Host,api.deepseek.com 不返回 CORS 头,余额也不属于任何会话投影。浏览器读取自己 Host 的路由,所以 key 永远不会到达页面:

// GET /usage-monitor/balance
{ "ok": true, "isAvailable": true, "fetchedAt": 1791234567890,
"wallets": [{ "currency": "CNY", "totalBalance": "42.50",
"grantedBalance": "5.00", "toppedUpBalance": "37.50" }] }
// failures answer 4xx/5xx with { "ok": false, "error": { "code", "message" } }

401/403 表示 DeepSeek 拒绝了凭据,503 表示该配置档没有配置 DEEPSEEK_API_KEY,504 表示服务商 10 秒内没有响应,502 表示服务商或网络出错。面板会直接显示这条消息,而不是一直等待。

费用只是估算。 运行时上报精确的 token 用量,但不带任何路由的货币价格,所以插件内置一张可编辑的价格表,初始值取自服务商的标价。以服务商的账单为准。

默认值是 DeepSeek 公布的非高峰标价(美元 / 1M token):

| 模型 | 输入(缓存未命中) | 缓存读取(命中) | 缓存写入 | 输出 |
| deepseek-flash(DeepSeek-V4.1-Flash)、deepseek-v4-flash、deepseek-chat | 0.15 | 0.003 | 0.15 | 0.6 |
| deepseek-v4-pro、deepseek-reasoner | 0.66 | 0.022 | 0.66 | 1.98 |
| 其他任意模型(回退行) | 0.15 | 0.003 | 0.15 | 0.6 |

周一至周五 UTC 01:00–04:00 和 06:00–10:00 期间,DeepSeek 按非高峰费率的两倍收取高峰费用。插件自己套用这个系数——Peak × 字段,默认 2——面板会说明当前生效的是哪档费率。中文公开节假日在上游属于非高峰,但这里没有建模,所以节假日的工作日按高峰计价。cacheWrite 没有单独公布的收费,按缓存未命中费率计算。

编辑会话当前模型的字段,然后按 Save prices;Reset to defaults 会丢弃覆盖值。路由不在表中的会话,由回退行计价;当模型还未知时,编辑器编辑的就是这一行。覆盖值持久化在 localStorage 的 dsh-cost-usage-monitor/prices/v1 下。

价格会变。AGENTS.md 记录了去哪里读当前价格,以及刷新这张表、上面 README 里的表、测试预期值的具体步骤。

行为

- 条目位于 conversation.composer.dock(顺序 20,在宿主统计胶囊之后),在有东西可报告之前一直隐藏:测得的用量,或者余额路由实际返回的钱包。
- 余额在首次挂载时读取,每 60 s 最多一次,跨挂载去重,并可从面板的 ↻ 按钮按需重新读取。条目卸载时计时器停止。
- 配置档里没有余额路由 → 面板会说明这一点,费用一侧仍然可用。凭据被拒绝或服务商不可达 → 面板显示原因。
- 不会向会话日志、模型请求或系统提示词写入任何内容。Host 一侧只注册那一个只读余额路由;组件本身是一个浏览器模块加上现有服务。

布局

package.json dsh.bundle.patch + dsh.client (platform, inject)
cordis.patch.yml inserts the Loader row
index.js Host half: registers GET /usage-monitor/balance
client.js Browser module: dock entry, panel, stores
locale/en.json Plugin-manager display metadata
locale/zh.json
icon.svg
assets/ README artwork
test/render.test.mjs Renders the browser half under a React double
test/host.test.mjs Drives the Host balance route under webServer/credentials doubles
AGENTS.md Where to read current prices; how to refresh them

安装

从 npm 安装 —— 预构建路径,所以 pnpm 从不运行构建脚本,用户也不授予安装时代码执行权限:

dsh plugin --profile desktop add dsh-cost-usage-monitor

从 GitHub 安装的是源码,不带构建好的入口点;用户授权后,pnpm 会运行包的 prepare 脚本。除非你要固定到某个已读过的 commit,否则优先用 npm 形式:

dsh plugin --profile desktop add github:paolomandica/dsh-cost-usage-monitor

开发期间,用绝对路径链接一份检出:

dsh plugin --profile desktop add /path/to/dsh-cost-usage-monitor

dsh plugin 在配置档目录里运行 pnpm,然后把每个声明了 dsh.bundle 的已安装包加入 dsh.profile.bundles。Host 重新组合配置档并浏览器包会实时发布;如果入口没有出现,刷新页面即可。确认包已通过页面的启动图完成组装:

curl -s -H "Cookie: <the dsh-auth cookie>" http://127.0.0.1:19387/ | grep -o 'dsh-cost-usage-monitor[^"]'

余额路由需要 Web 包的 webServer 服务,以及一个能解析到的 DEEPSEEK_API_KEY(凭据存储,或 Host 进程环境)。直接检查它——这条路由在回环地址上无需认证,和本地服务器的其余部分一样:

curl -s http://127.0.0.1:19387/usage-monitor/balance

测试

node --check index.js && node --check client.js
node test/host.test.mjs
node test/render.test.mjs

test/render.test.mjs 会拿一个精简的 React 替身来执行 client.js,用假的 slot 注册表驱动 apply(),把 fetch 打桩成余额路由,然后断言药丸和面板渲染出预期的费用、钱包和价格字段——包括空数据、凭据被拒、路由不可达这几种情况。它会冻结 Date,让高峰和非高峰电价都能确定性地跑到。

test/host.test.mjs 把 index.js 当普通模块导入(这同时也证明 Host 那一半没有解析任何 @deepseek-ai/ 包),在 webServer/credentials 替身上挂载路由,然后断言服务商请求、组装好的成功响应体,以及每一个失败码。

卸载

dsh plugin --profile desktop remove dsh-cost-usage-monitor

许可证

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

在输入区实时查看账户余额与本次会话花费

回到顶部