HOFO-GYG/dsh-balance-watch ↗★ 0
dsh-balance-watch
DSH web plugin: DeepSeek account balance badge next to the model picker, served by a local host route that never leaks the API key.
AI 분석
核心用途是在模型选择区直观展示 API 余额。适合注重密钥安全、希望在切换模型时顺便查看余额及低余额警告的 Web 端用户。
설치
검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗
dsh-balance-watch
DSH Web 插件:在模型选择器旁显示 DeepSeek 账户余额徽章。
A DSH web plugin that puts a DeepSeek account-balance badge right next to the model picker.
功能 / Features
- 徽章常显
Balance,点击后向上弹出明细面板:总余额 / 赠送余额 / 充值余额、多币种、更新时间、手动刷新 - 数据经插件自带的本地路由
GET /api/dsh-balance获取:服务端解析DEEPSEEK_API_KEY并缓存(60 秒),API key 永不进入浏览器 - 每 2 分钟自动轮询,打开面板时即时刷新;provider 故障时降级显示 5 分钟内的最近数据并标注错误
- 余额低于 ¥5 时徽章变红,悬停提示"余额偏低"
- 排版与官方模型选择器一致(字号/字重/颜色层级)
架构 / Architecture
| 文件 | 说明 |
|---|---|
lib/index.js | host 半部(Node,ESM,零依赖):ctx.webServer.register 挂载 /api/dsh-balance 路由,ctx.credentials.resolve('DEEPSEEK_API_KEY') 在服务端取密钥;单飞(single-flight)缓存 + 失败降级;仅接受回环 Host 与 GET/HEAD |
lib/client.js | 浏览器半部(DSH client-bundle 格式):注册 conversation.input.right 槽位(模型选择器左侧),React 徽章 + 弹窗,zh/en 双语 |
test-host.mjs | host 半部单元测试(mock ctx / fetch / 时钟,15 项断言),node test-host.mjs 运行 |
数据流:浏览器 fetch('/api/dsh-balance') → 本地 dsh web 服务(插件路由)→ 服务端用密钥查询 DeepSeek /user/balance → 只把余额 JSON 返回浏览器。
安装 / Install(无需 pnpm / no pnpm required)
-
把本仓库复制到
/profiles/node_modules/dsh-balance-watch(Windows 默认C:\Users\\.dsh\profiles\node_modules\):Copy-Item -Recurse "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-balance-watch" -
在
/profiles/web/cordis.patch.yml末尾追加:- insert: - id: balance-watch name: 'dsh-balance-watch' -
重启
dsh web,刷新浏览器页面。
或者使用官方插件管理命令(需先安装 pnpm):
dsh plugin --profile web add
测试 / Test
node test-host.mjs
依赖 / Dependencies
- 运行时:仅使用 DSH 内置服务(
webServer、credentials)与全局fetch,无第三方依赖 - 客户端 bundle 通过
dsh.client.inject复用 DSH 已提供的dsh-client-runtime、dsh-client-locale、dsh-client-ui-conversation
License
MIT