Skip to content

Repository files navigation

DeepSeek 余额监控

License: MIT .NET Framework Platform

Windows 桌面悬浮窗工具,实时监控 DeepSeek API 账户余额与可用状态。托盘图标显示余额概览,悬浮窗支持贴边隐藏、拖拽移动、明暗主题。UI 遵循 Fluent 2 设计规范。

本次重大变更(v1.5.2)

界面与设置交互有破坏性变化,升级后建议重新查看一遍设置项。

  • 界面全面重建(Fluent 2) — 全套 UI 按微软 Fluent 2 规范重做:双层表面体系(底色 + 内容卡片)、1px contour 描边、顶层窗口 8px / 控件 4px 圆角、Segoe UI Variable 字体阶梯(Caption 12 / Body 14 / Subtitle 20),强调色改为 DeepSeek 品牌蓝 #4D6BFE(深色提亮 #7C93FF)。图标改用 Fluent UI System Icons(MIT),以 SVG 嵌入 EXE、运行时矢量绘制并随主题着色。
  • 设置窗「改动即生效」 — 移除窗口底部的「保存 / 取消」按钮。托盘常驻工具不应让用户为每次微调多确认一次:所有改动立即落盘并同步到悬浮窗、刷新定时器与开机自启;关窗(含 Esc)只表示离开,不再表示放弃。API Key 输入去抖 700ms 后自动刷新一次余额,避免逐字打字就打网络请求。
  • API Key 卡片重构 — 「测试连接」从窗口底部移入该卡片、紧贴它所测试的输入框;卡片内部改为「12px 内边距 + 首行(标题 + 输入框 + 显隐按钮)+ 次行(测试连接 + 状态文字)+ 12px 内边距」的对称节奏,状态行合并 Key 格式校验与连接结果并按语义着色。
  • 按钮与弹层按 Fluent 2 修正 — 标准按钮取消整圈描边,改为「浅填充 + 仅底部 1px 描边」,宽度由文字实测宽度 + 左右各 12px 推导;右键 / 托盘菜单重做为 8px 圆角 MenuFlyout,悬停为整行 4px 圆角胶囊;弹层文字垂直居中,全局图标与文字间距统一为 12px。
  • 低余额阈值输入改为自绘 Fluent 数字框(支持按住连点),深色主题下不再露出系统控件的白色圆角块。

完整变更记录见 CHANGELOG.md。

功能

  • 实时余额查询 — 通过 DeepSeek /user/balance API 定期获取余额(默认每 1 分钟刷新,可调)
  • 桌面悬浮窗 — 紧凑卡片显示余额及状态指示点,拖拽移动,贴边自动隐藏
  • Fluent 2 UI — 按微软官方规范实现:双层体系、4/8px 圆角、Segoe UI Variable 字体阶梯、DeepSeek 蓝强调色
  • 位置记忆 — 拖动结束后立即保存悬浮窗位置,下次启动自动恢复
  • 托盘图标 — 通知区图标直接显示余额概览,单击打开悬浮窗,右键提供 Fluent 风格菜单
  • 多主题 — 明亮 / 黑暗 / 跟随系统三种模式,设置页即时预览
  • 安全存储 — API Key 通过 Windows DPAPI(DataProtectionScope.CurrentUser)加密保存在本地
  • 开机自启 — 可选开机自动启动
  • 轻量无依赖 — 单 EXE 文件,仅需 .NET Framework 4.x(Windows 自带)

截图

明亮模式 黑暗模式
悬浮窗-明亮 悬浮窗-黑暗
设置页-明亮 设置页-黑暗

快速开始

  1. 从 Releases 下载最新版 DeepSeekBalanceMonitor.exe
  2. 双击运行,程序将在系统托盘显示图标
  3. 右键托盘图标 →「设置」
  4. 输入你的 DeepSeek API Key
  5. 关闭设置窗口,悬浮窗即显示余额

没有 API Key?前往 DeepSeek 开放平台 注册并创建。

从源码构建

需要 .NET Framework 4.x SDK(csc.exe,Windows 自带)。

.\build.ps1

构建产物:DeepSeekBalanceMonitor.exe

手工编译

$csc = "${env:WINDIR}\Microsoft.NET\Framework64\v4.0.30319\csc.exe"

# 图标资源参数(每个 SVG 一项)
$icons = Get-ChildItem "Icons\svg" -Filter *.svg | ForEach-Object { "/resource:Icons\svg\$($_.Name)" }

& $csc /nologo /target:winexe /optimize+ /win32icon:AppIcon.ico /out:DeepSeekBalanceMonitor.exe `
  /r:System.dll /r:System.Core.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll `
  /r:System.Web.Extensions.dll /r:System.Security.dll /r:System.Net.Http.dll `
  $icons `
  Core.cs NativeMethods.cs AssemblyVersion.cs FluentTheme.cs IconLoader.cs FluentControls.cs IconPainter.cs `
  FloatingBalanceForm.cs SettingsForm.cs TrayAppContext.cs Program.cs

配置

配置文件位于:%AppData%\DeepSeekBalanceMonitor\settings.ini

配置项 说明 默认值
refresh_minutes 余额刷新间隔(分钟) 1
low_balance_threshold 低余额提醒阈值(元),0 关闭 10
api_key DPAPI 加密存储的 API Key 空
theme_mode 主题模式:Light / Dark / System System
auto_hide 悬浮窗贴边自动隐藏 true
always_on_top 悬浮窗置顶 true
auto_start 开机自启 false
dock_side 贴边方向:Left / Right / Top / Bottom 自动
window_x / window_y 悬浮窗位置 自动

技术栈

  • 语言 — C# 5+ (.NET Framework 4.x)
  • UI — WinForms 全自绘,Fluent 2 设计令牌(FluentTheme.cs)
  • 图标 — 运行时解析内嵌 SVG(IconLoader.cs),Fluent UI System Icons(MIT)
  • HTTP — HttpClient 单例,超时 30 秒,自动重试一次
  • 加密 — System.Security.Cryptography.ProtectedData (DPAPI)
  • 构建 — 纯 csc.exe 命令行编译,无 MSBuild / Visual Studio 依赖

项目结构

DeepSeekBalanceMonitor/
├── Core.cs              # DPI 缩放、模型、设置管理、DPAPI 加密、API 客户端
├── NativeMethods.cs     # Win32 P/Invoke
├── FluentTheme.cs       # Fluent 2 设计令牌(颜色/字体/圆角,明暗双主题)
├── IconLoader.cs        # 内嵌 SVG 图标解析(path→GraphicsPath)与主题着色
├── FluentControls.cs    # Fluent 控件:菜单渲染器、开关、下拉、按钮、输入面板
├── IconPainter.cs       # 托盘图标自绘
├── FloatingBalanceForm.cs  # 悬浮窗桌面窗体(贴边、拖拽、自绘布局)
├── SettingsForm.cs      # 设置窗口(SettingsCard 式布局)
├── TrayAppContext.cs    # 托盘上下文(菜单、刷新调度、开机自启)
├── Program.cs           # 入口 + 全局 HTTP 配置
├── AssemblyVersion.cs   # 程序集版本(1.5.3)
├── build.ps1            # 构建脚本(含 SVG 图标嵌入)
├── Icons/svg/           # Fluent UI System Icons SVG 源文件(编译时嵌入 EXE)
├── AppIcon.ico          # 应用程序图标(编译进 EXE)
├── CHANGELOG.md         # 变更日志
├── LICENSE              # MIT 许可证
└── .gitignore

图标授权

界面图标来自 Fluent UI System Icons(© Microsoft Corporation,MIT License),可免费商用。SVG 以源文件形式随仓库分发,构建时嵌入 EXE,运行时按主题着色绘制。

许可

MIT License


本工具仅用于查询 DeepSeek API 余额,不会收集或上传任何个人信息。API Key 仅在你本地加密存储,用于直接调用 DeepSeek 官方接口。

About

DeepSeek API余额托盘监控 - 桌面悬浮窗

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages