Plugin-for-checking-API-balance
A plugin for checking API-balance on DSH website conveniently
- Stars
- 0
- Language
- JavaScript
- Created
- Sep 1, 2026
- Updated
- Sep 1, 2026
Introduction
Plugin for checking API balance
一个用于 DeepSeek Harness (DSH) 的动态 Cordis 插件:在页面右下角显示一个可拖拽、可吸附的 DeepSeek 鲸鱼悬浮球,点击后弹出对话框展示当前 DeepSeek API 的余额,并带「Q 弹」动画与音效。
功能特性
- 🐳 DeepSeek 鲸鱼图标:使用 DSH 官方
FishLogo的 SVG path,蓝紫渐变圆角背景。 - 🖱️ 可拖拽 + 吸附:自由拖动,松手后自动吸附到最近的屏幕边缘或角落(带弹性缓动)。
- 💬 余额对话框:显示总余额、充值余额、赠送余额、币种、账户可用状态、更新时间,支持刷新与关闭;对话框会随图标位置智能选择弹出方向,并带指向图标的气泡尾巴。
- 🎵 Q 弹特效:点击触发果冻式
scale弹跳动画,并用 Web Audio API 实时合成「boing」音效(无需任何外部音频文件)。 - 🔒 安全:API key 通过 DSH 的 credentials 机制读取(环境变量
DEEPSEEK_API_KEY),不会硬编码在代码里。
工作原理
| 端 | 职责 |
|---|---|
host.js | 读取 API key,通过 subprocess 启动 node 子进程调用 https://api.deepseek.com/user/balance,返回精简余额数据 |
client.js | 渲染悬浮球与对话框、处理拖拽/吸附/动画/音效,通过 host.call('get-balance') 获取数据 |
为什么 Host 端用
subprocess而不是fetch:DSH 动态插件的 Host 沙箱禁用了fetch,而web.fetch服务又不支持自定义Authorization头,因此改用node子进程发起带鉴权的请求(API key 通过环境变量DSH_BALANCE_KEY传入,不写入命令行参数)。
安装 / 加载
这是一个 DSH 动态 Cordis 插件,运行于当前会话进程内,不持久化。在 DSH 中通过动态插件工具加载:
- 打开 DSH 的「Cordis」能力,新建一个动态插件(例如 idPrefix
bal)。 - 将
host.js的内容作为code.host,将client.js的内容作为code.client提交定义。 - 运行该 Package(首次运行浏览器端可能需要审批)。
也可直接参照
host.js/client.js内的函数体(return { ... }部分)进行加载。
前置条件
- 已配置 DeepSeek API key:DSH 的 credentials 里存在
DEEPSEEK_API_KEY(默认读取.dsh/.credentials.yaml中的该引用,也可在llm-deepseek设置中自定义apiKeyEnv与baseURL)。 - 系统
PATH中可执行node。
文件说明
.
├── host.js # Host 端插件源码(函数体)
├── client.js # Client 端插件源码(函数体)
└── README.md # 本文档
免责声明
本插件仅用于个人学习与本地工具用途。请勿将包含密钥的文件提交到公开仓库;本仓库不包含任何密钥。