# deepseek-tray DeepSeek 余额查询系统托盘工具,基于 Go + `getlantern/systray` 实现。 ## 特性 - **单文件分发**:图标使用 `//go:embed` 编译进 EXE,无外部依赖 - **.env 配置**:API Key 存储在 EXE 同级目录的 `.env` 文件中,右键菜单可一键编辑 - **托盘常驻**:系统托盘显示实时余额,鼠标悬停查看详情 - **自动刷新**:可配置定时刷新间隔,支持开关切换 - **低余额告警**:余额低于 ¥1 时弹出 Windows 提示框,亦可开关 - **无感运行**:编译 `-ldflags -H=windowsgui` 隐藏命令行窗口,适合 NSSM 做成 Windows 服务 - **资源占用极低**:内存 ~5 MB,CPU 几乎为零 ## 快速开始 ### 1. 放置 .env 文件 在 `deepseek-tray.exe` 同目录创建 `.env` 文件: ``` DEEPSEEK_API_KEY=sk-你的DeepSeek密钥 ``` 也可在托盘右键菜单中选择「打开 .env 配置文件」自动创建模板并编辑。 可选配置: | 环境变量 | 默认值 | 说明 | |----------|--------|------| | `DEEPSEEK_API_KEY` | (必填) | DeepSeek API 密钥 | | `DEEPSEEK_BALANCE_URL` | `https://api.deepseek.com/user/balance` | 余额查询接口 | > 配置优先级:系统环境变量 > .env 文件 > 默认值。.env 不覆盖已存在的环境变量。 ### 2. 运行 ```cmd .\deepseek-tray.exe ``` 图标将出现在系统托盘中,右键菜单包含: - **余额显示**:实时显示当前余额 - **刷新余额**:手动触发一次查询 - **自动刷新: 开启/关闭**:切换定时刷新 - **低余额告警: 开启/关闭**:切换余额不足提醒(默认阈值 ¥1) - **打开 .env 配置文件**:用记事本打开编辑 Key - **关于**:查看当前运行状态 - **退出**:关闭程序 ### 3. 使用 NSSM 设为 Windows 服务(开机自启) ```cmd nssm install DeepSeekTray "C:\路径\deepseek-tray.exe" nssm set DeepSeekTray AppDirectory "C:\路径\" nssm start DeepSeekTray ``` EXE 同目录下的 `.env` 文件会被服务自动加载。 ### 4. 开机自启(手动方式,可选) `Win + R` → 输入 `shell:startup` → 将 `deepseek-tray.exe` 快捷方式拖入。 ## 开发编译 ```bash go build -ldflags="-H=windowsgui" -o deepseek-tray.exe ``` ## 项目结构 ``` deepseek-tray/ ├── main.go # 主逻辑:托盘、菜单、事件循环、.env 读取、API 调用 ├── msgbox_windows.go # Windows MessageBox 封装 + 记事本打开 ├── icon.ico # 托盘图标(编译时嵌入) ├── go.mod / go.sum # Go 模块依赖 └── README.md ``` ## 许可 CC0 1.0 Universal