ArcanePivot
dsh-api-balance
DeepSeek Harness Web UI widget for viewing DeepSeek API balance from the host side.
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 15, 2026
Introduction
API $$
DeepSeek API 余额与本机 Token 用量,常驻 DSH 侧边栏。
不切网页,不把 API Key 交给浏览器,同时看清今日、本周、本月和累计用量。
简体中文 · English · v0.3.0 · 快速安装 · 完整安装手册 · 安全说明 · 更新日志
[!IMPORTANT]
v0.3.0仅支持@deepseek-ai/dsh@0.1.0-rc.6。这是非官方、版本锁定的补丁包,不是原生 Cordis 插件;安装器遇到其他 DSH 版本或已被修改的目标文件会拒绝执行。
实际效果
| 中文界面 | English UI |
|---|---|
![]() | ![]() |
查看 390 px 移动端窄屏效果
截图来自真实 DSH Web UI;余额、用量、更新时间、工作区和会话信息均使用演示数据或已移除。
为什么装它
| 余额与用量同屏 | Key 留在宿主端 | 随时可以还原 |
|---|---|---|
| 侧边栏常驻当前余额,点击查看余额明细、本机 Token 用量和每日趋势。 | 浏览器只请求同源 DSH 接口,API Key 不进入网页请求,也不会返回前端。 | 首次安装保存带 SHA-256 的官方原件;安装、卸载失败都会回滚。 |
- 中文显示
API 余额,英文显示API Balance - 余额低于
20 CNY时显示警示色 - 汇总今日、本周、本月和累计 Token;本周从周一开始
- 显示今日缓存命中率,以及可切换月份的每日用量柱状图
- 自动回溯本机仍保留的 DSH 会话,并排除分叉会话复制的历史前缀
- 支持手动刷新、点击外部关闭和
Esc关闭 - 兼容缺少
crypto.randomUUID()的 HTTP 与旧版 Safari 环境 - Windows 与 macOS 都有安装、卸载和重启辅助脚本
快速安装
1. 准备 DSH 和 API Key
本补丁只识别 npm 全局安装的指定版本;只用 npx 临时启动 DSH 时,安装器无法定位目标文件。
npm install -g @deepseek-ai/dsh@0.1.0-rc.6
启动 DSH 后,可在 设置 -> 模型 的 DeepSeek 卡片中保存 API Key;也可以让 DSH 进程从环境变量 DEEPSEEK_API_KEY 读取。
2. 获取项目
git clone --branch v0.3.0 --depth 1 https://github.com/ArcanePivot/dsh-api-balance.git
cd dsh-api-balance
也可以从 v0.3.0 发布页 下载源码包并在解压目录中执行下列命令。固定版本可以避免以后 main 更新时意外安装尚未发布的代码。
3A. Windows
.\install.ps1 -WhatIf # 先检查版本、文件和备份条件,不修改任何内容
.\install.ps1 # 备份官方原件、安装并复核 SHA-256
.\relaunch-dsh-web.ps1 # 重启默认 127.0.0.1:3080 的手动 DSH 进程
若 DSH 由计划任务管理,请重启原任务,保留它已有的环境变量、权限和后台窗口设置:
.\relaunch-dsh-web.ps1 -TaskName "<你的 DSH 计划任务名>"
3B. macOS
./install.sh --dry-run # 先检查,不修改
./install.sh # 备份官方原件、安装并复核 SHA-256
./relaunch-dsh-web.sh # 重启默认 127.0.0.1:3080 的手动 DSH 进程
若 DSH 由 launchd 管理,请重启原服务:
./relaunch-dsh-web.sh --launchd-label "<你的 launchd label>"
安装后普通刷新一次浏览器即可,不需要清除站点数据或对话记录。自定义端口、PowerShell 执行策略、卸载、升级和常见报错见完整安装手册。
工作方式
浏览器 DSH 宿主端
POST /api/llm.balance -----------> 解析 DEEPSEEK_API_KEY
不携带 API Key GET {baseURL}/user/balance
<------------- 返回规范化余额字段
POST /api/llm.usage -----------> 读取本机保留的 DSH 会话日志
月份 + 浏览器时区 仅在宿主内汇总,不请求外部服务
<------------- 返回日期、Token 汇总与覆盖范围
宿主端从 llm-deepseek 设置和 DSH 凭据服务读取 baseURL、apiKeyEnv 与 API Key。若配置了自定义 baseURL,密钥会发送到该地址,这与 DSH DeepSeek 模型适配器的行为一致;只应使用可信端点。
用量统计采用浏览器时区归日;本周从周一零点开始。它只覆盖本机仍保留的 DSH 会话,不包含已删除日志、其他客户端的调用,也不是 DeepSeek 官方账单。首次打开会回溯现存会话,当前 DSH 进程内会缓存未变化会话的汇总结果。
余额与用量都属于账户信息。任何能访问该 DSH Web UI 的人都能看到这些汇总,但看不到 API Key、提示词或回复正文。请继续用原有访问控制保护 DSH Web UI,详见安全说明。
兼容性
| 项目 | 支持范围 |
|---|---|
| DSH | 仅 0.1.0-rc.6 |
| Windows | Windows 10 / 11;Windows PowerShell 5.1 或 PowerShell 7 |
| macOS | macOS 自带 Bash 3.2 或更新版本;Node.js 与 npm 必须可用 |
| 界面语言 | 简体中文、英文 |
| Windows 实机验收 | Windows 10、Node 24、DSH 0.1.0-rc.6 |
| macOS 生命周期验收 | macOS Bash 3.2、Node 22、隔离的官方 rc.6 npm 文件副本 |
macOS 安装器已在隔离环境跑完安装、重复安装、卸载、重复卸载和篡改拦截。真实机器仍应先运行
--dry-run;Windows 对应使用-WhatIf。
卸载与升级
Windows:
.\uninstall.ps1 -WhatIf
.\uninstall.ps1
macOS:
./uninstall.sh --dry-run
./uninstall.sh
升级 DSH 前必须先卸载本补丁、恢复官方文件。不要把旧补丁重新套到新版本 DSH 上;等待本项目发布匹配的新版本。
从 API $$ v0.2.0 升级时,推荐在原安装目录切换到 v0.3.0 后重跑安装器,这样能复用经过校验的官方备份;使用全新目录时应先用旧目录卸载。完整步骤见安装手册。
验证
持续集成与本地验证会:
- 从 npm 获取官方
0.1.0-rc.6包 - 验证两个最小补丁可以干净应用
- 验证“官方文件 + 补丁”与
files/中完整文件逐字节一致 - 运行跨会话用量聚合测试:周一周界、时区、闰年、缓存和分叉去重
- 跑完 macOS 安装、幂等、卸载、回滚和篡改拦截测试
- 检查 Bash、PowerShell、JavaScript 语法及常见密钥和个人路径
./scripts/verify-patches.sh
文档
| 文档 | 内容 |
|---|---|
| 完整安装手册 | 下载、安装、重启、验证、卸载、升级和故障排查 |
| 安全说明 | Key 与余额数据流、可信端点和漏洞报告方式 |
| 更新日志 | 发布状态与版本变化 |
| 第三方声明 | DeepSeek Harness 修改产物的来源与许可证 |
| 参与贡献 | 报告问题、提交修改与隐私注意事项 |
项目边界
安装器只覆盖两个已编译文件:宿主余额/用量路由和侧边栏界面。DSH 已提供 sidebar.footer.action 插槽和 Client-to-Host 私有调用机制;后续版本计划迁移到官方扩展点,取消覆盖核心编译文件。
API $$ 是产品显示名称;仓库、安装目录和代码标识继续使用 dsh-api-balance,避免 $ 在命令行中被解释为特殊字符。
许可证
本项目新增代码采用 MIT 许可证。仓库包含的 DeepSeek Harness 修改产物仍保留原始 MIT 许可与版权,见第三方声明。

