Back to home@qianmoyishu

dsh-balance

No description

Stars
0
Language
JavaScript
Created
Aug 27, 2026
Updated
Aug 27, 2026
GitHub repo

Introduction

dsh-balance(余额常驻小部件)

DeepSeek Harness 的 DeepSeek API 余额常驻小部件 + 峰谷定价高峰时段提示。

功能

  • 常驻可拖动:余额小部件常驻显示在界面右上角(默认),按住头部即可拖到任意位置,位置持久化到 localStorage(刷新/重启不丢)。挂在 shell.overlay 根级插槽,不占侧边栏插槽,也不和宠物等 其它插件的固定位抢位置;默认右上角、刻意避开右下角宠物区。
  • 收起/展开:头部「–」收成小药丸(只显示 ¥总余额 + 高峰档期符号),点「▸」展开。
  • 余额:总余额 / 充值余额 / 赠送余额、更新时间;每 60 秒自动刷新,也可手动刷新。
  • 高峰时段提示:根据 DeepSeek 峰谷定价,实时显示当前档期——
    • ⚡ 高峰时段(红):北京时间 09:00–12:0014:00–18:00
    • 🌙 闲时半价(绿):其余时间(闲时价格为高峰的一半);
    • 显示「xx 后切换」倒计时,悬停可见完整时段说明;每 30 秒自动重算档期。
  • 余额查询走服务端代理(/api/balance),DEEPSEEK_API_KEY 只在服务器进程内解析,不会下发到浏览器

高峰时段

时段定义在 lib/client.js 顶部的 PEAK_WINDOWS 常量(北京时间,分钟制,结束为开区间),官方调整后直接改这里即可:

const PEAK_WINDOWS = [
  { start: 9 * 60, end: 12 * 60 }, // 09:00 – 12:00
  { start: 14 * 60, end: 18 * 60 } // 14:00 – 18:00
];

档期按 Asia/Shanghai 时区计算,不依赖本机时区。

安装

仓库:https://github.com/qianmoyishu/dsh-balance

本地源码(开发中)方式:

dsh plugin --profile web add "link:C:\Users\hzyqi\Desktop\dsh-balance"

(发布 Release 后也可用 GitHub 地址一键安装:

dsh plugin --profile web add "https://github.com/qianmoyishu/dsh-balance/releases/latest/download/dsh-balance-0.2.1.tgz"

装完重启 dsh web 并刷新页面(新增/更新插件需要服务端重启加载 bundle)。

卸载

dsh plugin --profile web remove dsh-balance

使用前提

需要已配置 DEEPSEEK_API_KEY

  • 方式一(推荐):在 Web 界面 设置 → 模型 页面填写(写入凭据服务);
  • 方式二:启动 dsh 的环境变量里导出 DEEPSEEK_API_KEY

未配置时,小部件会提示“未配置 DEEPSEEK_API_KEY”,不会报错。

结构

dsh-balance/
├─ package.json        # bundle 元数据(dsh.bundle.patch / dsh.client)
├─ cordis.patch.yml    # 服务端插件注册(/api/balance 路由)
├─ dsh.plugin.json     # 插件清单
├─ lib/
│  ├─ index.js         # 服务端:余额代理路由(密钥不出服务器)
│  └─ client.js        # 客户端 bundle:常驻可拖动小部件 + 高峰提示
├─ test/               # 冒烟测试(npm test)
└─ README.md

接口

  • GET /api/balance{ ok, isAvailable, infos: [{currency,totalBalance,grantedBalance,toppedUpBalance}], fetchedAt }{ ok:false, error:"missing-key"|"upstream"|"network", message }
  • GET /api/balance/status{ ok, keyConfigured }

开发说明

  • 客户端 bundle 只依赖宿主平台 seed(react / react/jsx-runtime),无构建步骤, 直接编辑 lib/client.js 后重启 dsh web 生效。
  • 服务端改动同样需重启 dsh web。
  • 测试:npm test(服务端路由 mock + 客户端 bundle 加载/渲染)。
  • 纯手工维护,无 npm 依赖。

License

MIT