Back to home

julygotostudy

model-balance-flyout

DeepSeek Harness 模型余额悬浮层插件:实时显示 API 账户余额与上下文占用率

Stars
0
Language
JavaScript
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

dsh-balance-flyout 模型余额悬浮层

DeepSeek Harness 开发的动态 Cordis 插件:在页面右下角显示一个可拖动悬浮层,实时展示 DeepSeek API 账户余额当前会话上下文占用率

![状态灯说明:绿=正常,黄=账户不可用,红=查询出错]

功能

  • 账户余额:通过 DeepSeek 官方 GET https://api.deepseek.com/user/balance 查询
    • 账户总余额(total_balance
    • 赠送余额(granted_balance
    • 充值余额(topped_up_balance
  • 上下文占用率:与输入框 StatsLine 同源contextPressure projection),显示 15% · 153.3K / 1M 格式
  • 可拖动:鼠标/触摸拖到任意位置,右下角默认停靠
  • 自动刷新:每 30 秒自动刷新,另有手动「刷新」按钮
  • 主题适配:使用 --dsw-alias-* 主题变量,自动适配亮/暗色

安全设计

  • API 密钥不进入浏览器:密钥只在 Host 进程内通过 DSH credentials 服务解析(DEEPSEEK_API_KEY 环境变量引用),Client 端永远拿不到原始密钥
  • 密钥不硬编码:本仓库不包含任何真实凭据,运行时的密钥来自你的本地 ~/.dsh/.credentials.yaml(或环境变量)
  • Host 端通过 subprocess 调用 Node 发起带 Authorization 头的 HTTPS 请求(动态插件 Host 无全局 fetch,且 web.fetch 不支持自定义请求头)

安装与运行

本插件按 DSH 动态 Cordis 插件(cordis_define / cordis_run)设计,可直接在 DSH 会话中加载:

前置条件

  • DeepSeek API Key 已配置:
    # ~/.dsh/.credentials.yaml
    DEEPSEEK_API_KEY: sk-xxxxxxxx
    
  • 本机可访问 https://api.deepseek.com,且 node 在 PATH 中

定义并运行

  1. 使用 DSH 的 cordis_define 工具,以 host 提供 host.js 内容、client 提供 client.js 内容
  2. cordis_run 激活(Client 端首次运行需在页面中批准)
  3. 页面右下角出现悬浮层即成功

文件说明

文件说明
src/host.jsHost 端插件:余额查询 RPC、上下文占用率 RPC
src/client.jsClient 端插件:可拖动悬浮层 UI

技术细节

Host 端 RPC

方法入参返回
balance/query{ ok, isAvailable, currency, totalBalance, grantedBalance, toppedUpBalance }
session/context{ sessionId }{ ok, projectedTokens, contextWindow }

数据口径

  • 账户余额:DeepSeek 官方 /user/balance 接口,三个字段均为字符串金额
  • 上下文占用率:读取 sessionProjections.snapshot(session).values.contextPressureprojectedTokens / contextWindow 计算百分比——与输入框 StatsLine 完全同源,避免 token-meter 纯启发式估算(surfaceTokens)与 provider 实测(totalTokens)的口径差异

许可证

MIT