Plugin-for-checking-API-balance
其他 活跃维护

Plugin-for-checking-API-balance

FishingTofu0120/Plugin-for-checking-API-balance

轻量级浏览器插件,安装后直接在对应平台页面侧边栏呼出查询入口,一键获取API账户实时余额,无需跳转多级操作页面,无冗余配置,查询结果即时返回准确数据。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
9 KB
仓库大小
25 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:FishingTofu0120/Plugin-for-checking-API-balance
git clone https://github.com/FishingTofu0120/Plugin-for-checking-API-balance.git
git clone git@github.com:FishingTofu0120/Plugin-for-checking-API-balance.git
README.md main

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 中通过动态插件工具加载:

  1. 打开 DSH 的「Cordis」能力,新建一个动态插件(例如 idPrefix bal)。
  2. 将 host.js 的内容作为 code.host,将 client.js 的内容作为 code.client 提交定义。
  3. 运行该 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    # 本文档

免责声明

本插件仅用于个人学习与本地工具用途。请勿将包含密钥的文件提交到公开仓库;本仓库不包含任何密钥。