还在手动查 DeepSeek 余额我开源了一个 Windows 托盘监控工具问题用 DeepSeek API 做开发的同学应该都有这个体会调着调着代码突然 401 了——余额耗尽。跑去官网登录、打开账单页面、查余额……这一套操作不仅打断思路还浪费时间。尤其是 API 高峰期跑批量任务的时候余额变化快手动刷新根本来不及。所以干脆写了一个常驻 Windows 系统托盘的 DeepSeek 余额监控工具挂后台自动查余额、超阈值弹窗提醒、历史消耗一目了然。代码已开源MIT 协议随意折腾。核心功能托盘常驻实时显示余额— 打开电脑就能看到不用打开浏览器自动定时刷新— 可自定义轮询间隔默认 5 分钟余额变化第一时间知道低余额弹窗预警— 设置阈值余额不足时 Windows 通知栏弹窗提醒今日消耗统计— 记录当日 API 调用消耗日均消耗自动计算历史数据持久化— 本地 SQLite 存储按天粒度记录支持 CSV 导出回看趋势多币种支持— 自动识别 CNY / USD按平台显示对应货币符号API Key 安全存储— 使用系统凭据管理 API Key不落盘明文技术架构项目分为三个核心模块1. 数据层 — API 请求 本地持久化DeepSeek 官方提供了查询余额的 APIGET https://api.deepseek.com/user/balance Authorization: Bearer api_key返回的 JSON 结构很简洁{is_available:true,balance_infos:[{currency:CNY,total_balance:8.66,granted_balance:0.00,topped_up_balance:8.66}]}本地用 SQLite 做历史记录存储每次轮询结果追加一条记录包含时间戳、余额、币种、状态等字段。按天聚合后可以绘制消耗曲线直观呈现余额变化趋势。2. 调度层 — 定时轮询引擎轮询引擎采用独立的后台线程驱动核心是一个可配置的时间循环支持自定义刷新间隔1-60 分钟滑块调节失败自动重试最多 3 次指数退避网络异常时保留上次余额数据不覆盖历史首次启动或网络恢复后自动立即刷新调度器与 UI 线程通过消息队列解耦余额更新后通过回调通知托盘 UI 刷新显示。3. 展示层 — Windows 系统托盘托盘图标的设计有几个细节图标数字渲染直接在托盘图标上渲染余额数字不依赖外部图片资源颜色编码余额充足显示绿色低于阈值变黄耗尽或异常变红右键菜单立即刷新 / 设置 / 查看历史 / 退出左键点击弹出悬浮详情面板总余额、充值余额、赠送余额、今日消耗关键技术决策为什么用 SQLite 存历史历史数据的价值在于趋势分析不需要高并发。SQLite 零配置、单文件、跨平台一致作为桌面应用的本地存储是最自然的选择。后期如果需要更丰富的可视化数据可以一键导出 CSV丢进 Excel 或 Python 做分析。API Key 安全存储明文存 Key 是大忌。这里使用 Windows 凭据管理器Credential Manager加密存储读取时由系统解密代码层面不接触明文 Key。这样即使程序被逆向Key 也不会泄露。自定义阈值提醒支持两个维度的预警余额阈值— 低于设定值时弹窗提醒「DeepSeek 余额不足请及时充值」日消耗阈值— 单日消耗超过设定值时提醒帮用户感知异常消耗比如代码里不小心死循环调 API两者结合可以有效防止「代码写着写着发现钱没了」的尴尬。开源与下载项目完全开源MIT 协议欢迎 Star / Fork / Issue。GitHubhttps://github.com/micc99/deepseek-balance-monitor可直接下载打包好的安装包Windows 安装程序 / 便携版也支持从源码构建gitclone https://github.com/micc99/deepseek-balance-monitor.gitcddeepseek-balance-monitor# 按项目 README 指引安装依赖并运行后续计划消耗趋势图表集成简单可视化欢迎提 PR 和 Issue一起把这个小工具做得更好用。