DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
B

dsh-billing-badge

Billing Badge

DeepSeek Harness 网页 GUI composer 的计费周期与账户余额状态标签:在缓存命中统计信息后显示一个原生风格的胶囊标签,点击后打开面板。DeepSeek Harness 计费时段与余额插件

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:devacc8/dsh-billing-badge#ca7baabeaf84b85cc74ca41dfbf571bc62615a39
README兼容性版本

兼容性与来源证明

Billing Badge 以 dsh-billing-badge 发布,当前版本为 0.1.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/17

版本

0.1.4stable
2026/10/17
0.1.3stable
2026/9/18
0.1.2stable
2026/9/18
查看其余 2 个版本收起版本
0.1.1stable
2026/9/13
0.1.0stable
2026/9/13

相关插件

正在加载相关插件…

最新版
0.1.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Connect Workbuddydsh-connect-workbuddy把本机登录的 WorkBuddy 模型(国内版与国际版)接入 DeepSeek Harness:每次刷新按上游目录自动读取每个模型的积分倍率,支持逐模型图片输入开关、多账号切换与账号池自动换号,并提供每日签到、卡片与输入框里的胶囊积分读数等只读积分概览。Cost Meterdsh-cost-meterDeepSeek Harness 会话费用统计插件:本会话成本、当日费用、历史记录与官方价格同步,支持多厂商多模型价格计费(内置 170+ 模型 ID 价格目录与自动匹配)、主流 Coding Plan 订阅额度查询与显示(16 家,含 WorkBuddy 官方积分、OpenDesign 工作区查询、含小米 MiMo Token Plan 控制台 Cookie 查询、SCNet Token Plan 本地 Credits 计量与火山方舟 Volcano Ark Coding Plan AK/SK 签名查询

README

dsh-billing-badge

English | 中文

Billing season and account balance for the DeepSeek Harness web GUI. A pill in the composer's statistics row, immediately after the native Cache hit reading, that opens a small panel with the full picture.

2288M tok · Cache hit 99.8% · ● Off-peak · 2h13m

The pill in the composer statistics row and the panel it opens

What it shows

WhereWhat
The pilla coloured dot (amber for peak, green for off-peak), the season, and the time until it flips
The panel (click)billing season, next switch with the Beijing wall clock, current Beijing time, account balance with its currency, the granted and topped-up split when the account has one, and a refresh button

The season rule is the published one: peak is Beijing time, Monday to Friday, 09:00-12:00 and 14:00-18:00. Everything else, including all of Saturday and Sunday, is off-peak at half price.

The balance

The numbers come from the official GET /user/balance endpoint, and the three of them mean different things:

total_balance = granted_balance + topped_up_balance
  • total_balance, shown as Account balance, is everything you can spend.
  • granted_balance, shown as Granted, is credit DeepSeek gave you. The endpoint reports only the part that has not expired, so a lapsed grant disappears from this row on its own.
  • topped_up_balance, shown as Topped up, is money you paid in.

The panel names the two parts only when the account is actually split. With no grant the topped-up amount is the whole balance, so the split would repeat the account balance row above it, and that account shows one row instead. Granted appears as soon as the endpoint reports one.

is_available is a top-level field of the response and answers one question: is the balance enough for API calls. The panel adds a warning row when the answer is no, and stays quiet otherwise, because the flag is true for every funded account.

The currency is taken from the response, never assumed: an account reporting USD is not labelled with a CNY sign.

Why another one

Two community plugins cover parts of this, and both taught something:

  • dsh-price-phase shows the season. Its countdown once pointed at Saturday 09:00 after Friday close, an event that does not happen, and it centres its badge on a hashed CSS class, which collides with the model chip when the model name is long. This plugin compares each candidate boundary with the instant before it and only counts a real state flip, and its chip is an ordinary flex child in the native statistics row.
  • dsh-usage-monitor shows the balance, but formats it as CNY whatever the API reports.

This plugin deliberately does not do cost or token accounting.

Install

From npm:

dsh plugin --profile web add dsh-billing-badge

or straight from the repository:

dsh plugin --profile web add github:devacc8/dsh-billing-badge

then restart dsh web. The package declares dsh.bundle.patch, so the host half is reconciled into the profile's bundle list automatically.

Works on DeepSeek Harness 0.2.x, prereleases included, and on the 0.1.5 and 0.1.6 builds that came before it. Older builds render the composer statistics as one labelled row and the chip joins it; 0.1.6 moved those readings into the composer dock as pill buttons; 0.2.1 grouped them into activity and usage pills, and the chip follows the usage group. The package declares engines.dsh with the range it supports, so the harness can report a mismatch instead of loading the plugin silently.

Working on the plugin itself, install the checkout by path instead:

dsh plugin --profile web add link:/absolute/path/to/dsh-billing-badge

Security

A balance is a small surface, so it stays small:

  • the API key is resolved in the host through the DSH credentials seam (ctx.credentials.resolve('DEEPSEEK_API_KEY'), environment fallback) and never reaches the browser;
  • the single route requires the x-dsh-billing-badge: 1 header and rejects a cross-origin Origin, so a cross-site page cannot reach it;
  • nothing is written to disk, and no endpoint other than api.deepseek.com is contacted;
  • a missing key, an HTTP error or a network failure all degrade to a state the panel renders, never to a throw.

Development

The season logic lives in lib/season.js as a plain ESM module so it can be tested directly. A browser bundle cannot import a sibling file (the loader resolves only platform seeds, materialized packages and registered factories, and a self-subpath require throws "missed the module table"), so scripts/inline-season.mjs copies the module into lib/client.js between two markers with export stripped, and test/client-sync.test.mjs fails if the copy drifts.

npm test          # 30 tests: season rule, countdown invariant, host route, bundle
npm run sync      # re-inline season.js into the bundle
npm run check     # sync check plus a syntax check of both halves

The countdown has an invariant test rather than fixtures: every 13 minutes across nine days, the reported target must be in the future, must change the season, and the season must not change before it.

Layout

lib/season.js    season rule, countdown, formatting (source of truth, tested)
lib/index.js     host half: the balance route
lib/client.js    browser half: the pill and its panel, with season.js inlined
cordis.patch.yml mounts the host half into the profile
scripts/         the inliner
test/            season, sync, host and bundle tests

GitHub Actions runs npm test and npm run check on Node 20 and 22.

MIT.