输入框下方实时显示 DeepSeek API 账户余额,支持手动刷新与自定义间隔自动刷新。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:02Muller25/dsh-api-balance
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
实时显示 DeepSeek API 账户余额的 DeepSeek Harness(dsh web)插件。 Real-time DeepSeek API account balance readout for the DeepSeek Harness web GUI.
在会话输入框下方的读数带(conversation.composer.dock)显示:
API 余额 CNY 18.22 · 可用 · 14:32:05 更新
- 每 30 秒自动刷新(挂载时立即查询一次)
- 刷新模式可选:手动刷新 / 每 10 秒 / 每 30 秒 / 每 1 分钟 / 每 5 分钟 / 自定义间隔;选择「自定义…」会弹出输入窗口(范围 5–3600 秒,含校验与错误提示),偏好保存在浏览器 localStorage,刷新页面后仍保留
- 手动模式下点击「刷新」按钮即时刷新;自定义间隔确认后即时生效
- 刷新失败时保留上次数据并显示黄色「刷新失败」,悬停可见具体原因,下一次自动轮询自动恢复
- 余额不可用时显示红色「不可用」
- API 密钥通过 dsh 的 credentials 服务按需解析(
DEEPSEEK_API_KEY),不出宿主进程
架构
| 文件 | 平台 | 作用 |
|---|---|---|
lib/index.js |
Host | 注册精确路由 GET /api/abal-balance;每次请求实时解析凭证并 curl https://api.deepseek.com/user/balance |
lib/client.js |
Client (web) | 手工编写的 window.__ModuleLoader__.load 格式 bundle(dsh web 的标准客户端包格式,无需构建管线);在输入框读数带渲染余额,每 30s fetch 刷新 |
lib/client.d.ts |
— | 客户端类型占位 |
依赖的宿主服务:webServer、credentials、shell、sandboxPolicy(均为 dsh 标准服务)。
客户端侧仅依赖 react(种子模块)与 slots 服务。
说明:curl 调用以
danger-full-access策略运行 —— 它是只读网络请求、无文件副作用,绕过平台沙箱 runner 是刻意的(在 Windows ACL 受限令牌下该请求已验证会失败)。
安装(在目标 dsh web 部署上)
本仓库声明了 dsh.bundle manifest,可直接用 GitHub 依赖安装(推荐):
dsh plugin --profile web add github:02Muller25/dsh-api-balance
或手动放置:
- 将本包放入 profile 的 node_modules:
$DSH_HOME/profiles/node_modules/api-balance/(完整目录,含package.json、cordis.patch.yml与lib/)。 - 在 profile 的
cordis.patch.yml追加(必须是insert块 —— 补丁语义只允许新增行,普通条目只能覆盖已有行;仓库根目录已附一份可直接参考):
- insert:
- id: api-balance
name: 'api-balance'
- 重启 dsh web 服务(组合只在启动时读取)。
启用 / 禁用 / 卸载
- 禁用:补丁条目加
disabled: true,重启 - 卸载:删除补丁条目 + 删除
profiles/node_modules/api-balance/,重启 - 设置 → 插件市场中的列表是只读的(对官方插件同样如此),启停均通过补丁 + 重启完成
自定义
- 刷新模式与间隔:读数带右侧的下拉框(手动 / 10s / 30s / 1min / 5min / 自定义…),「自定义…」弹出输入窗口,范围 5–3600 秒;偏好持久化在
localStorage(键dsh.api-balance.refresh) - 读取的凭证:
lib/index.js中credentials.resolve('DEEPSEEK_API_KEY') - 余额接口:
lib/index.js中BALANCE_URL
已知限制
- 若对 profile 执行
pnpm install,手动放入node_modules的包可能被清理,需重新放置或改为正式依赖安装。
更新日志
v0.2.1 — DeepSeek Harness 插件:API 余额实时显示(手动 / 自定义刷新)
- 刷新模式可选:手动 / 每 10 秒 / 每 30 秒 / 每 1 分钟 / 每 5 分钟 / 自定义间隔(5–3600 秒)
- 「自定义…」弹出输入窗口,显示范围并校验(越界/非数字禁用确定,回车确认,Esc/遮罩取消)
- 偏好持久化在
localStorage;手动模式点击「刷新」即时刷新
v0.2.0
- 首次引入刷新模式控制与 MIT 许可证、效果示意图
v0.1.0
- 首个版本:实时显示 DeepSeek API 余额(每 30 秒固定刷新)
许可证
MIT © 2026 02Muller25
链接
同类插件
bowenliang123/dsh-context★ 1556
DSH 上下文洞察面板:Context 仪表盘 + /context命令 + Context 浏览器,查看 Context的分类组成、内容详情、演进趋势、压缩/注入事件、统计等一站式 Context 全生命周期管理。
Han-1413141/dsh-cost-meter★ 344
会话与当日 API 费用统计、预算图框(已用%)、官方余额、历史看板,支持峰谷计价与官方价格一键同步。
wssfk12138/dsh-damage-pulse★ 214
在 DSH Web 界面追踪 DeepSeek Token 用量、单次与会话费用及账户余额,并显示缓存感知的扣费动画。
zh667/TokenLedger★ 202
侧边栏用量面板:把 Token 归属到实际服务该请求的中转站,站点从已有的 provider 配置中读出,无需额外配置;含今日/本月/累计三窗口、按站点与模型下钻、一年活跃度热力图,以及 New API / Sub2API / DeepSeek 余额。
Ychris12138/dsh-usage-stats★ 168
多供应商用量看板:按供应商/模型统计 Token 与日期下钻,统一展示账户余额,并追踪 OpenCode Go / Z.ai 订阅额度。
PolinniZhong/dsh-personal-center★ 120
DeepSeek Harness 个人中心:跨会话用量统计、按模型成本估算、全局自定义指令、外观全局字号、数据驱动的桌面宠物(位图/矢量皮肤)与会话状态概览,纯本地离线运行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。