
crazywoola/dsh-balance
dsh-balance
DeepSeek Harness balance plugin for the Settings page
Install
npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/package.tgz`Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-balance)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from crazywoola/dsh-balance, cleaned of badges and images.
dsh-balance
DeepSeek Harness 插件,用于查询 DeepSeek / StepFun API 余额、各提供方的可用模型和多维消费统计。API Key 仅由本机 Host 使用,不会发送到浏览器。
界面使用 Harness 原生侧栏、主页面和主题变量。侧栏“插件”下方新增“用量统计”,独立查看所有对话的提供方、模型、会话和日期统计;默认显示全部提供方与全部时间,支持提供方和日期范围筛选。活动打卡图按浏览器时区的星期 × 24 小时汇总请求次数,圆点大小随次数变化;悬停或使用方向键可查看请求数与 token 明细。选择器采用主题化浮层菜单,支持方向键、Home/End、Enter、Escape 和按名称检索。设置页支持 DeepSeek / StepFun 切换。运行 pnpm preview 可查看使用示例数据的新版界面。
聊天框底部会跟随当前会话所选的提供方与模型更新余额;设置页可独立切换提供方。
功能
- DeepSeek:查看总余额、充值余额和赠送余额
- StepFun:查看可用余额、总充值金额、总赠送金额及预付费 / 后付费账户类型
- 提供方独立缓存;支持大小写不敏感的 Provider ID
- 在聊天框下方显示当前 provider、模型和余额,兼容模型选择器与
/model切换 - 从当前提供方的
/models接口读取可用模型、所属组织与创建时间 - 在设置页按所选 provider、模型、会话和日期查看实际 usage 消费,并在当前会话的“消费”Tab 查看请求明细
- 明确区分已计费、免费(已知价格且费用为 0)与未计费请求;缺少 provider usage、未知 provider 或未知模型时不进行费用估算
- 日期按浏览器 IANA 时区分组;DeepSeek 峰谷价格始终按北京时间计算
- DeepSeek 费用显示 USD、StepFun 显示原生 CNY;配置
usdToCny后显示人民币合计 - 缓存查询结果并支持手动刷新
- 依据 DeepSeek 峰谷定价,在高峰时段(北京时间 9:00–12:00、14:00–18:00)将聊天框下方的余额指示灯变为橙色
- 原生支持简体中文和英文,并跟随 Harness 系统语言切换
- 支持 Harness 已保存的
DEEPSEEK_API_KEY
兼容性
0.11.0 适配 DeepSeek Harness 0.2.1-rc.2(上游版本),需要 Node.js 22.19+(22.x)或 24+。所有 DSH peer 依赖和开发依赖均锁定为 0.2.1-rc.2。Harness 0.2.0-rc.2 用户请继续使用插件 0.10.2;本次源码不再兼容 Harness 0.1 的接口。
也可在本地构建并打包源码,再用 dsh plugin --profile web add /absolute/path/to/package.tgz 安装生成的 .tgz 文件,随后重启 Harness:
pnpm install --frozen-lockfile
pnpm pack
消费统计通过新版只读会话句柄读取,以 inheritedEventCount 排除分叉继承的记录;会话页在 token 用量变化或一轮运行结束后刷新;统计页面每 15 秒检查更新,重新聚焦或返回页面时刷新,隐藏页面暂停查询。兼容 assistant/message 和重试/取消请求的 assistant/attempt,读取最后一条 stream usage,并以重试边界区分独立请求,同一次请求的重复结算仅计一次。
全局统计会跳过当前 dsh 无法读取的旧格式或损坏会话,并显示未纳入统计的会话数量;其余会话仍正常统计。部分读取结果不缓存,下次刷新会重试。单个会话无法读取或所有会话都读取失败时,仍明确显示读取错误,不将失败记录当作零消费。
分类明细采用带数量的 Tab 面板,在模型、提供方、会话和日期之间切换;窄屏自动改用主题化选择器。每页默认 10 条,可选择 5 / 10 / 20 条。会话消费页分别查看模型汇总与请求明细,请求支持模型筛选。长名称省略显示,悬停保留完整名称。
安装
dsh plugin --profile web add @pinkbanana/dsh-balance@latest
dsh --profile web
打开 http://127.0.0.1:3080/,进入“设置 → 模型余额”。该入口位于“Agent 预设”下方,余额摘要也会显示在已有会话的聊天框下方。API Key 可在“设置 → 模型”中保存,或通过 DEEPSEEK_API_KEY 环境变量提供。
消费统计从已保存会话日志读取,包含当前运行会话已写入的记录,不展示 prompt 内容。可在插件配置中增加固定汇率,例如:
usdToCny: 7.2
官方提供方 ID deepseek-official 与旧 ID deepseek 均受支持(大小写不敏感),共享 DeepSeek 凭据、余额及模型缓存。底部保留实际模型 ID,例如 deepseek-flash;价格未知的新模型仍标为“未计费”。
StepFun 配置
在“设置 → 模型”中添加自定义提供方,Provider ID 填写 StepFun(stepfun、STEPFUN 等大小写写法均可),保存 API Key。Harness 默认将其保存为 STEPFUN_API_KEY;也可以直接设置该环境变量。在“设置 → 模型余额”选择 StepFun 即可查询。
按 StepFun 账户 API 使用 Bearer 认证请求 GET https://api.stepfun.com/v1/accounts。金额按 CNY 展示;总充值 / 总赠送金额按文档展示为累计金额,不与当前余额相加。接口没有服务可用性字段,后付费账户不会因为余额为零或负数而显示“服务不可用”。
若模型配置使用其他凭据引用,可在本插件配置中覆盖(baseUrl 是 API 前缀,StepFun 应包含 /v1):
providers:
- id: StepFun
apiKeyRef: MY_STEPFUN_KEY
baseUrl: https://api.stepfun.com/v1
已有的顶层 apiKeyRef / baseUrl 继续用于 DeepSeek;providers 覆盖对应提供方的余额与模型查询。配置不读取自定义模型的 Base URL,默认查询官方 API。余额、可用模型与设置页统计随所选提供方切换。聊天框摘要使用当前会话的实时选择;会话“消费”保留该会话历史上所有 provider 的用量。
…

