架构说明
August 22, 2026 · View on GitHub
双面架构
本插件采用"双面"架构,Host 端(Node.js)和 Client 端(浏览器)通过 RPC 通信。
Host(Node.js 进程)
├─ 余额查询:shell 执行 curl → api.deepseek.com/user/balance(Bearer 鉴权)
├─ 用量聚合:session/event 实时监听 + 90 天历史扫描(按 seq 去重)
├─ 三方插件:clientModules.graph() + clientPath() + open -R 定位
├─ RPC 路由:/bmon/api/get-state · refresh · recharge · set-config ·
│ get-usage · list-plugins · open-plugin-dir · check-updates · update-plugin
│ install-plugin · uninstall-plugin · search-plugins · get-plugin-info · featured-plugins
├─ 持久化:配置自动保存到 config.json 文件
└─ 模型工具:query_api_quota
Client(浏览器)
├─ 入口:输入框工具行右侧 3 个 SVG 图标按钮
├─ 浮层:组件内自渲染 fixed 面板(不依赖 overlay 槽位)
├─ 图表:Miyu chart/heat 色板,深色/浅色自适应
└─ 轮询:每 15 秒与 Host 同步状态,支持增量更新
RPC 路由
| 路由 | 说明 |
|---|---|
get-state | 获取完整状态(余额、配置、轮询状态等) |
refresh | 强制刷新余额 |
recharge | 获取充值链接 |
set-config | 更新配置(账户、阈值、间隔等),自动持久化 |
get-usage | 获取用量统计(1d/7d/30d/all) |
list-plugins | 列出已安装插件(区分官方/三方) |
open-plugin-dir | 打开插件目录 |
install-plugin | 安装插件(调用 dsh plugin add) |
uninstall-plugin | 卸载插件(调用 dsh plugin rm) |
update-plugin | 更新插件(先 rm 再 add) |
check-updates | 检查 GitHub 上的新版本 |
search-plugins | npm 搜索 |
get-plugin-info | 包详情 |
featured-plugins | 推荐插件列表 |
平台支持
- macOS / Linux:install.sh / uninstall.sh(Bash 脚本)
- Windows:install.ps1 / uninstall.ps1(PowerShell 脚本)
持久化机制
配置保存在插件安装目录的 config.json 文件中,包含:
- 账户列表(名称、API Key、自动读取标记)
- CNY/USD 告警阈值
- 刷新间隔
- 底部余额栏显示/隐藏设置
- 下一个账户 ID 计数器
启动时自动加载配置,保存设置时自动写入文件。