DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

InkiChang /

InkiChang/dsh-usage-panel

Verified

DSH sidebar usage panel: DeepSeek official balance and new-api relay station balances with today's spend.

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

dsh-usage-panel

给 DeepSeek Harness 加一块侧栏常驻用量面板:轮播显示 DeepSeek 官方账号(或手填的官方 API key)与各中转站(new-api 系)的余额、今日消耗,官方站点额外标注当前处于高峰还是空闲时段。

这是什么

DSH 本身不展示 API 用量。这个插件在左侧边栏底部放一个小块,把「还有多少钱、今天花了多少」直接摆在眼前,不用每次打开各个站点的后台。

  • 官方站点:余额来自 https://api.deepseek.com/user/balance。若 DSH 已登录官方账号,无需填写 key,直接读账号余额;也可以改成「手填 API key」来单独盯某一个 key。手填 key 属未验证路径(原因见「已知限制」)。
  • 中转站:按 new-api 的接口形态读取配额与消费统计,支持多个站点并列轮播。
  • 高峰/空闲:官方定价在工作日高峰时段是空闲时段的 2 倍,块上用一个「峰 / 闲」字块标出来,配合悬停浮层里的高峰、空闲分账。

功能

能力 说明
侧栏常驻块 固定在左栏底部,宽度随侧栏自适应、居中
多站点轮播 官方账号、多个官方 key、多个中转站可同时存在,按间隔轮播
不遮挡会话列表 常驻块按自身高度给侧栏滚动区留出底部边距,列表滚到底时最后一个会话停在块上方
余额 + 今日消耗 每个站点两行数字,未配置或出错时给出原因与入口
峰 / 闲字块 仅官方站点显示,颜色随主题自适应
悬停浮层 余额与今日消耗;中转站另有本月已用、本月起算日,官方另有高峰/空闲分账
手动刷新 点击块上的时间即可立即刷新
设置浮层 增删站点、测试连接、显示开关、刷新间隔,全部在面板内完成
只存本机 令牌与 key 落在 ~/.dsh/usage-panel/config.json,不外发

位置与遮挡:常驻块贴在侧栏底部,会自动测量自身高度,并把相同的底部边距写到会话列表的滚动容器上;列表滚到底时,最后一条会话停在块的上方而不是被它盖住。窗口缩放、主题切换、轮播换站之后都会重新测量一次。

界面

截图取自真实桌面端窗口,站点名与令牌已打码。

侧栏常驻块 · 官方站点(峰 字块表示当前处于高峰时段):

侧栏常驻块 · 官方站点

侧栏常驻块 · 中转站:

侧栏常驻块 · 中转站

悬停展开 · 官方站点(余额、今日消耗,以及高峰与空闲分账):

悬停浮层 · 官方站点

悬停展开 · 中转站(今日与本月来自站点统计接口):

悬停浮层 · 中转站

设置浮层(在面板内增删站点、测试连接、调整刷新间隔):

设置浮层

安装

需要已安装 DSH(桌面端或 @deepseek-ai/dsh 均可)。把本仓库目录作为插件包安装:

# 在 DSH 会话里让插件管理器安装本地目录(换成你的绝对路径)
plugin_manager action=install_bundle target="C:\path\to\dsh-usage-panel"

安装或卸载插件后,完整退出并重启一次 DSH,否则侧栏看不到这块面板。原因:DSH 在进程启动时读取插件清单、注册插件的后端入口与前端资源;运行中的进程不会因为重新安装而重建这张表,只刷新页面(Ctrl+R)同样加载不到新装的代码。实测表现是:插件文件已经在磁盘上,页面刷新后前端资源仍然 404、侧栏位置为空。

分辨规则只有一条:包已经装好、代码只是改了 client.js(界面代码)时,Ctrl+R 就能取到新版本;改了 index.js(插件后端)或重新装卸过插件,就必须重启。

快速开始

  1. 左栏底部出现用量块后,点块上的「设置」(尚未配置时显示「去设置」),或从 设置 → Usage 面板 进入。
  2. 官方站点:默认「数据来源」为 DSH 已登录账号,只要是已登录状态就会显示余额;想单独盯某个 key,把来源改成「手填 API key」并填入 key。
  3. 添加中转站:填站点地址(例如 https://relay.example.com)与访问令牌。部分站点还要求填写数字用户 ID(响应头 New-Api-User),填入后即可正常取数。
  4. 点「测试连接」确认能读到余额,再保存。

数据口径

官方站点

  • 余额:GET /user/balance,取 balance_infos 中人民币项。
  • 今日消耗:本机采样推算。官方只提供余额接口,没有用量明细,所以插件记录余额随时间的变化,用「当日首个样本余额 − 当前余额」估算今日消耗,并按采样时刻判断该笔消耗落在高峰还是空闲时段。
  • 推论:DSH 没运行的时段不会被统计,插件首次使用当天从启动时刻起算。
  • 端点与时段规则:高峰为北京时间周一至周五(不含法定节假日)09:00-12:00、14:00-18:00,其余时间为空闲,空闲单价为高峰的一半。设置里的「今天算节假日」开关用于临时调整判定。

中转站(new-api 系)

  • 余额:GET /api/user/self 的 data.quota 除以 quota_per_unit(来自 GET /api/status,默认 500000)得到基础金额;站点开启 display_in_currency 时再乘以 usd_exchange_rate(默认 7),单位按人民币显示,否则按美元显示。
  • 今日 / 本月已用:按优先级尝试三种接口,取到即止——
    1. GET /api/data/self(区间汇总,直接给 quota)
    2. GET /api/log/self/stat(区间统计)
    3. GET /api/log/self(明细列表逐条累加;单页被填满 100 条时视为统计不完整,不使用该结果)
  • 「本月起算」显示自然月首日,说明本月已用是从月初累计到现在,不会随账单日回退。

配置项

配置 位置 说明
刷新间隔 设置浮层 默认 300 秒,最小 60 秒
显示哪些站点 设置浮层 关闭后该站点不参与轮播
数据来源 官方站点卡片 DSH 已登录账号 或 手填 API key
用户 ID 中转站卡片 站点要求 New-Api-User 时填写
今天算节假日 设置浮层 强制把今天按空闲时段计价

配置文件:~/.dsh/usage-panel/config.json(站点与令牌)、~/.dsh/usage-panel/samples.json(余额采样,保留 4 天)。

隐私与安全

  • 所有请求只发往你在设置里填写的站点,以及 api.deepseek.com;没有第三方统计上报。
  • 令牌只写本机配置文件,界面上只显示前三位与后四位(例如 abc…wxyz)。
  • Windows 上 chmod 600 不生效,配置文件的实际保护来自用户目录权限;插件仍会尝试设置,失败不影响使用。
  • 插件提供的是本机只读诊断接口 GET /plugin/usage-panel/report,内容仅为版面几何信息,不含令牌。

已知限制

  • 手填官方 API key 是未验证路径:官方目前只对外提供 /user/balance,本机没有可用的官方 key,这条分支未经实测。它是「已登录账号」之外的可选来源,遇到问题时先改回账号来源再排查。
  • 官方今日消耗是采样估算,精度等于刷新间隔;插件未运行期间的消费不会被记录。
  • 中转站只按 new-api 的接口形态适配。其他面板(如 one-api 的不同分支)字段不一致时可能需要改 index.js 里的取数函数。
  • 不做跨站汇总:侧栏按站点轮播,浮层只显示当前站点自己的数字(不同站点的余额与单位不可直接相加)。
  • 只读取用量,不会触发任何计费操作。
  • 「不遮挡会话列表」是通过给宿主侧栏的滚动容器写内联 margin-bottom 实现的;宿主若大幅改版侧栏结构,这一处可能需要重新适配(症状是列表重新被压住,其它功能不受影响)。

开发

index.js            插件后端:取数、采样、配置读写、本地 HTTP 接口
client.js           界面部分:侧栏常驻块、悬停浮层、设置浮层
cordis.patch.yml    装配入口
locale/             中英文显示元数据
icon.svg            插件图标
docs/screenshots/   真实截图

开发时的生效规则:只改 client.js → Ctrl+R 即可;改 index.js、或动过 package.json / cordis.patch.yml → 完整退出重启。

许可

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit f863c6c6dba0

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