输入框下方实时显示 DeepSeek API 账户余额,支持手动刷新与自定义间隔自动刷新。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:02Muller25/dsh-api-balance
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 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
链接
同类插件
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 2314
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 1071
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 945
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
omdsh-dev/dsh-at-file★ 175
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
huiliyi37/dsh-tianshu-tui★ 143
DeepSeek Harness 的终端 UI(TUI)。
Nagi-ovo/dsh-visualize★ 95
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。