在输入区实时查看账户余额与本次会话花费
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
paolomandica/dsh-cost-usage-monitor
在输入区实时查看账户余额与本次会话花费
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1