dsh-quota-pill:在 Composer 下方查看 DeepSeek 余额与会话消耗

前言

在 DSH Web 里写会话时,界面自带的统计药丸会显示耗时和 token,但不会告诉你账号还剩多少钱、这一轮对话大概花了多少。要去「设置 → 账户」或平台页面查余额,又要打断当前节奏。若你希望在输入区旁边持续看到余额与「本次会话」的额度变化,并顺带感知当前是高峰还是空闲计价时段,社区插件 dsh-quota-pill 就是针对这一痛点的客户端方案。

这是什么

dsh-quota-pill(目录名 jiangluoyiyi/dsh-quota-pill)由维护者 jiangluoyiyi 发布,分类为客户端。简介为:在 composer dock 中展示 DeepSeek 账号余额与按 Session 统计的消耗。

它是一个本地 bundle:装进当前 profile 后对所有会话生效,只跑客户端半边,不注册 Host 服务、不下发工具、也不进入模型上下文。药丸挂在 conversation.composer.dock,用独立 id quota(order: 10)排在 DSH 自带 stats 药丸之后。

药丸与展开卡片

Composer 下方常驻一行,与自带统计药丸并排,例如:

谷 余额¥8.75 │ 消耗¥0.42
  • 峰 / 谷:峰 表示高峰时段(价格翻倍、警示色);谷 表示空闲时段(半价、弱化灰)。
  • 两个数值使用等宽数字(tabular-nums),避免位数变化时左右抖动。
  • 消耗尚未结算时显示 消耗—,药丸宽度保持稳定;版本号不占药丸,只在展开卡片里显示。

点击药丸可展开明细,包含余额分项、本次会话消耗、当前时段与三项单价(规则说明留在 README,不占卡片空间)。排版上数值右对齐、单价两位小数,单位以灰色小字标注「元 / 百万 tokens」。

核心功能

显示项 含义 数据来源
余额 可用余额合计(充值钱包 + 赠送额度,按币种相加) Host ctx.remote.account.getBalance()
消耗 进入该会话时记录基线余额,与当前余额的差值 本地计算
峰 / 谷 当前高峰或空闲 本地按北京时间判定
充值钱包 / 赠送额度 分项,保留平台币种(¥ / $) 同 getBalance
时段与单价 当前时段、剩余倒计时、缓存命中 / 未命中 / 输出单价 内置 PRICE_TABLE
版本号 当前页面加载的 bundle 版本 构建常量,在卡片操作行

余额数据与「设置 → 账户」同源,底层为 GET https://platform.deepseek.com/api/v0/users/get_user_summary,鉴权由 Host 保管,不进入浏览器。

峰谷规则(与 官方模型 & 价格 对齐):北京时间周一至周五 9:00–12:00、14:00–18:00 为高峰,其余(含周末)为空闲;空闲价为高峰价的一半。卡片内标价表覆盖 deepseek-flash 与 deepseek-v4-pro 两套单价。插件如实说明:标价不等于实际扣费;默认按 deepseek-flash 取价,可用 globalThis.__DSH_QUOTA_PILL_MODEL__ = 'deepseek-v4-pro' 覆盖;法定节假日未从高峰判定中排除;价格变动需同步 client.js 中的表并由验证脚本校验。

未登录、读取失败、余额为 0 等各有可读状态,不会把失败伪装成 0 余额。

刷新与状态

场景 行为
首次挂载 立即读一次
空闲 每 45s
会话运行中 每 20s
一轮结束 4s 后补读
读取失败 20s → 60s → 120s 退避
展开卡片 额外 getState() 自检

同一页面只有一个读取循环;切换会话不会重启。调用失败时保留上一次成功读数并标为陈旧。

安装与启用

本机开发目录(仓库已链接进 profile):

plugin_manager { action: "install_bundle", target: "<本目录绝对路径>" }

从 GitHub 安装:

plugin_manager { action: "install_bundle", target: "https://github.com/jiangluoyiyi/dsh-quota-pill" }

安装后硬刷新页面(Ctrl+Shift+R 或菜单重载)才会看到药丸。之后代码改动由宿主 bundle 轮询(默认约 500ms 比较 mtime/ctime/size)推送到已打开页面。判断是否加载到最新代码:点开卡片,底部灰字 vX.Y.Z 为准(当前 package 版本为 0.1.9);药丸本身不显示版本号。

典型用法与可选配置

  1. 按上文执行 install_bundle 并刷新页面,登录 DeepSeek 账号(非仅 API key)后即可在 composer 下方看到药丸。
  2. 若默认模型为 deepseek-v4-pro,在加载 bundle 前设置:
globalThis.__DSH_QUOTA_PILL_MODEL__ = 'deepseek-v4-pro';

卡片不显示模型名,换模型后单价会随之变化。

本地离线验证(不替代浏览器实测):

node verify/verify-quota-pill.mjs

适用场景与注意

适合谁:长期在 DSH Web 里跑会话、希望一眼看到账号余额、本会话大概花了多少、以及当前是否处于高峰计价的开发者。

权限与安全:插件以当前 DSH 进程权限运行,安装前应阅读 GitHub 仓库 源码与许可证,自行判断是否信任维护者 jiangluoyiyi。社区目录 SkillHub 插件页 为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

已知限制(README 原文要点):

  • 「本次会话」是本地测量:平台不提供会话级账单;其他窗口、设备或 API 扣费也会计入差额。
  • 刷新页面后基线重新累计;多会话同时运行时差额无法归属到单个会话。
  • 仅用 API key、未账号登录时,getBalance 为 null,显示「未登录账号」。

开发集成时注意:getBalance 入参须为严格的 AccountClientMetadata(version, locale, timezoneOffsetSeconds);Remote 返回 { ok, value } 信封,业务数据在 value 内,勿直接读顶层 status。

结尾

dsh-quota-pill 把账户余额、会话级消耗估算和峰谷单价提示收进 composer dock 一颗药丸,减少切页查账的次数。需要安装命令、价格表与契约细节时,以仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜