ai-shushu/dsh-quota-meter 预览 preview

ai-shushu/dsh-quota-meter

Per-session quota meter for DSH: real-token billing, live progress bar, budget blocking, configurable multi-model pricing.

项目介绍Project Overview

DSH 会话额度监控插件:按真实 token 用量与可配置价目表记账,输入框上方实时显示 2px 消耗进度条,额度耗尽时自动拦截模型调用并弹窗提示。价目表按 (provider, model) 二元组管理,支持峰谷分时定价与官方价格手动同步。注意:子代理消耗并入父会话额度,辅助调用同样计费;需正确配置模型价,未配置将回退至 fallback。

DSH plugin that bills each session by real token usage against a configurable per-(provider, model) price list, showing a live 2px spend bar above the input and blocking new model calls once the budget is exhausted. Supports peak/off-peak time-of-day pricing, manual sync of official DeepSeek rates, and per-session persistence. Caveat: sub-agent and auxiliary calls roll up into the parent session's bill, and unpriced models fall back to a default rate.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:ai-shushu/dsh-quota-meter

ai-shushu/dsh-quota-meter 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

Quota Meter · 会话额度监控

Per-session spend & quota meter for DSH — real token billing, live progress bar, budget blocking, configurable multi-provider model pricing.

给 DSH 的每个会话窗口设置金额额度:按真实 token 用量 × 可配置价目表记账,输入框上方显示消耗进度条,额度耗尽时自动拦截新的模型调用。

Screenshots / 效果

设置额度 消耗反馈
Set quota Billing feedback
未配价模型提示 限额弹窗
Unpriced model Quota exhausted

✨ Features / 特性

  • Real-token billing — 按 dsh llm/stream 的真实 usage 记账,缓存命中/未命中/输出分档计费
  • Live progress bar — 输入框上方 2px 细条实时显示剩余额度(右对齐倒退),请求发起时左侧"燃烧"亮点脉动,扣费瞬间弹出 金额徽标
  • Budget blocking — 额度耗尽自动拦截新的模型调用(agent/pre-step),并弹出提示
  • Configurable pricing — 价目表 UI 可编辑、按模型持久化;支持峰谷(time-of-day)定价,每个模型可自定义时区与高峰时段
  • Per-provider model pricing (v0.6+) — 价目表以 (provider, model) 二元组为键:多个厂家提供同名同 ID 模型(如两个厂家的 deepseek-v4-pro)可独立配价、独立记账,互不覆盖;「添加模型」的平台字段从目录下拉选择(受控枚举),杜绝手滑拼错厂家产生重复
  • Update check (v0.6+) — 价格弹层内检测远端最新版本(git ls-remote 为主、GitHub API 兜底):发现新版本时提示更新方式(bash install.sh / dsh plugin --profile web update);纯提醒、不自动改代码,30 分钟缓存避免频繁打远端
  • Per-session scope — 记账按会话独立;子代理消耗自动并入父会话额度(沿代理链上溯到根父),额度条显示真实总花费;辅助调用(标题生成/上下文压缩)同样计费
  • Persistent ledger — 额度与已花金额跟随会话持久化(~/.dsh/storages/quota-meter-shushu/sessions/),重启 dsh 不丢;会话关闭时自动清理,与对话记录生命周期一致

📦 Install / 安装

Any machine with dsh CLI — 任意装有 dsh 的机器,一条命令:

dsh plugin --profile web add github:ai-shushu/dsh-quota-meter

Locked version — 锁版本安装(推荐正式环境):

dsh plugin --profile web add github:ai-shushu/dsh-quota-meter#v0.4.0
  • Client(进度条/弹层 UI)→ 刷新浏览器即生效
  • Host(记账/拦截/接口)→ 重启 dsh web 进程生效
  • Uninstall / 卸载dsh plugin --profile web remove quota-meter-shushu

Local development — 本地开发用 checkout 链接(改动即时反映): dsh plugin --profile web add /path/to/quota-meter-plugin

💰 Pricing / 计价

价目表动态可编辑(UI 入口:额度条行尾「价格」),持久化到 ~/.dsh/storages/quota-meter-shushu/prices.json。 按 2026-08-17 起 DeepSeek 官方价(涨幅后),单位 ¥/每 1M tokens:

deepseek-v4-flash

缓存命中 缓存未命中 输出
空闲时段 ¥0.05 ¥1.5 ¥4.5
高峰时段 ¥0.10 ¥3.0 ¥9.0

deepseek-v4-pro

缓存命中 缓存未命中 输出
空闲时段 ¥0.15 ¥4.5 ¥13.5
高峰时段 ¥0.30 ¥9.0 ¥27.0
  • Peak hours / 高峰时段:北京时间 9:00–12:00、14:00–18:00(每个峰谷模型可自定义时区与区间)
  • 未知模型回退到 fallback 模型价
  • 计价模型:计费输入 = 未缓存输入 + 缓存命中输入,输出单独计价

🔄 官方价格同步(v0.5+)

价格弹层右上角「从DS官方更新价格」:抓 DeepSeek 官方定价页(中文版,¥/每 1M tokens,含高峰/空闲两档)→ 与当前价目表 diff → 弹层内展示变更明细(旧→新 + 新增模型)→ 确认后一键应用并持久化。

  • 手动确认才写盘:抓取/比对全自动,应用必须点一下;官方改价不会静默覆盖你手动调整过的价格
  • 只动数据不动结构:不改 fallback / ignored / plans,不删模型,非官方模型不动
  • 安全降级:网络不可用 / 页面改版解析失败 → 提示失败并保留当前价,不影响记账
  • 抓取结果在 host 侧缓存 60 秒(连点/多窗口不重复请求官方页);无需 API Key
  • 官方峰谷窗口(北京时间 9–12、14–18)随页面脚注一并校验/更新
  • 删除模型立即生效(与「忽略/Plan」一致,无需再点"保存"——避免"删了但没保存、刷新又回来");官方新增模型可在 diff 卡片里直接「忽略」,不再提示

🧠 How it works / 工作原理

模型调用结束 → llm/stream 流中 {type:'usage'} 块
  → Host 按模型查价目表(峰谷自动选档)折算金额
  → 累加到会话记账本(spent / calls)
  → 客户端 1s 轮询 /quota/state → 进度条前进 + 扣费徽标弹出
额度耗尽 → agent/pre-step 返回 reject → 拦截新调用 + 提示弹窗

🛠 Develop / 开发

git clone git@github.com:ai-shushu/dsh-quota-meter.git
dsh plugin --profile web add ./dsh-quota-meter   # 本地链接安装

index.js(host)/ lib/client.js(client)→ client 刷新即生效,host 重启生效。

📄 License / 许可

MIT

上一个 Prev dsh-side-panel 下一个 Next pi-trace-extension