HOFO-GYG/dsh-balance-watch0

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 端用户。

パッケージ
dsh-balance-watch
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/08/14

インストール

検証済み bundle がないか、互換性チェックに失敗しています。先にリポジトリの説明を読んでください。 README 全文を読む ↗

ドキュメント

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.jshost 半部(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.mjshost 半部单元测试(mock ctx / fetch / 时钟,15 项断言),node test-host.mjs 运行

数据流:浏览器 fetch('/api/dsh-balance') → 本地 dsh web 服务(插件路由)→ 服务端用密钥查询 DeepSeek /user/balance → 只把余额 JSON 返回浏览器。

安装 / Install(无需 pnpm / no pnpm required)

  1. 把本仓库复制到 /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"
    
  2. /profiles/web/cordis.patch.yml 末尾追加:

    - insert:
        - id: balance-watch
          name: 'dsh-balance-watch'
    
  3. 重启 dsh web,刷新浏览器页面。

或者使用官方插件管理命令(需先安装 pnpm):

dsh plugin --profile web add 

测试 / Test

node test-host.mjs

依赖 / Dependencies

  • 运行时:仅使用 DSH 内置服务(webServercredentials)与全局 fetch,无第三方依赖
  • 客户端 bundle 通过 dsh.client.inject 复用 DSH 已提供的 dsh-client-runtimedsh-client-localedsh-client-ui-conversation

License

MIT