DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

mzqmzqmzqmzq /

mzqmzqmzqmzq/dsh-api-cost-meter

Verified

Live API spend meter for DeepSeek Harness: today's cost and the open window's cost, pushed over SSE and priced from token usage.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@dfdc7dd4

API 费用计量(dsh-api-cost-meter)

简体中文 | English

在 DeepSeek Harness 的输入框下方加一行常驻读数,实时显示今日与当前窗口的 API 调用费用:

今日 ¥0.5488 · 本窗口 ¥0.1372

点击读数会在其上方浮出一个明细面板(position: fixed,不参与布局,所以对话与输入框不会位移), 列出分模型的费用、调用次数与输入 / 缓存命中 / 输出 token。点面板外、按 Esc 或再次点击读数即可关闭。

安装

dsh plugin add dsh-api-cost-meter

或在 Harness Web UI 的 设置 → 插件 → 添加 里粘贴包名 dsh-api-cost-meter。 装好后输入框下方即出现读数;若没有出现,刷新一次页面。

要求:DSH Web 界面(dsh web)。插件无第三方运行时依赖。

显示什么

  • 今日:本机时区当天 00:00 起,所有会话(含子代理会话)的合计。
  • 本窗口:当前打开会话从第一条消息起的合计,切换会话即切换。

实时:Host 通过 SSE(/plugin/cost-meter/stream)在每次模型调用结束时立即推送一帧,前端不做高频轮询; 金额变化用 420ms 缓动滚动到位,不硬跳。模型调用进行中(llm/stream 在途)时,读数左侧会亮起一个呼吸小圆点 表示「正在生成」——此时金额尚未计入,因为费用要等该次调用返还 usage 才能结算。 SSE 不可用时前端自动退回 1.5 秒轮询。

费用是怎么算的

每次模型调用都会在会话日志里留下一条 assistant/message,其 usage 记录 inputTokens / cacheReadTokens / cacheWriteTokens / outputTokens。插件按下面的官方价目 (人民币 / 百万 tokens)逐条结算后累加:

模型 缓存命中输入 缓存未命中输入 输出
deepseek-flash 空闲 0.02 / 高峰 0.04 空闲 1 / 高峰 2 空闲 4 / 高峰 8
deepseek-v4-pro 空闲 0.15 / 高峰 0.30 空闲 4.5 / 高峰 9 空闲 13.5 / 高峰 27
  • 高峰时段:北京时间周一至周五 09:00–12:00、14:00–18:00;其余为空闲时段,价格减半。 法定节假日未内置日历,按高峰计。
  • deepseek-v4-flash、deepseek-v4-flash-vision-exp、deepseek-chat、deepseek-reasoner 按 deepseek-flash 计价。
  • 价目来源:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/(2026-11 抓取)。 DeepSeek 调价后需更新 index.js 顶部的 PRICES。
  • 未收录的模型仍统计 token 与调用次数,但费用记 0,并在读数旁以「未配置价格」提示模型名(不臆造价格)。

数据从哪来

  • 实时:Host 订阅 session/event,只对 assistant/message 做 O(1) 累加。
  • 历史:插件加载时通过 sessionPersistence 从磁盘日志回填当天用量(最多最近 200 个会话, 每个会话从日志尾部回读、遇更早事件即停),所以重启不会把当天已花的钱清零。会话在 session/created 时也会补读,覆盖恢复/继续的旧会话。
  • 同一事件用「每个目标各自的 seq 下界」去重,实时与回填不会重复计费。

隐私

插件只读本地会话日志,不向任何外部服务发送数据。Host 仅注册两条只读本机路由:

GET /plugin/cost-meter/state?sessionId=<SessionId>   # 单次快照(轮询兜底)
GET /plugin/cost-meter/stream?sessionId=<SessionId>  # SSE 推送

两者都只接受 GET、拒绝跨站请求(sec-fetch-site 非 same-origin 时返回 403), 响应里只有费用与 token 统计,不含任何对话内容。

已知限制

  • 只覆盖 deepseek-flash 与 deepseek-v4-pro 两档官方价目;其他模型显示 token 但不计价。
  • 节假日日历未内置,法定节假日按高峰计价。
  • 金额是按 token 用量推算的费用,不等于账单;实际扣费以 DeepSeek 平台账单为准。

开发

npm pack --dry-run   # 查看发布内容
  • Host 入口 index.js(纯 ESM,无依赖):订阅事件、聚合、注册路由。
  • Client 入口 client.js:window.__ModuleLoader__.load 注册到 conversation.composer.dock(id cost-meter,order 2)。
  • 文案:client.js 内置 zh / zh-CN / en 字典;locale/*.json 是插件管理器中显示的标题与描述。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit dfdc7dd410a2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout