- 🖥️ 桌面悬浮窗 - 始终置顶,不影响工作
- 📊 实时数据 - 自动刷新积分使用情况
- 📈 可视化进度条 - 直观显示使用百分比
- 🔄 自动重试 - 网络异常时自动重试
- 📝 日志系统 - 完整的日志记录和轮转
- 🎨 圆角窗口 - 精美的 UI 设计
- ⚡ 轻量高效 - 低内存占用
- Windows 10/11
- Node.js 18+ (推荐使用 LTS 版本)
- Google Chrome 浏览器
- WSL (Windows Subsystem for Linux)
-
克隆仓库
git clone https://github.com/VimRev/MiMo-Credits-Widget.git cd MiMo-Credits-Widget -
安装依赖
cd widget npm install -
配置 WSL 服务
在 WSL 中运行 MiMo 积分服务(默认端口 19220):
# 在 WSL 中 python3 ~/mimo-credits-service.py
-
启动应用
双击运行
start-mimo-widget.bat或在命令行执行:start-mimo-widget.bat
# 方式 1: 使用启动脚本(推荐)
start-mimo-widget.bat
# 方式 2: 手动启动
cd widget
npx electron .| 区域 | 说明 |
|---|---|
| 顶部 | 计划名称和到期日期 |
| 进度条 | Token 使用百分比 |
| 统计 | 剩余额度、预估 Token 数、余额 |
| 状态指示灯 | 🟢 正常 / 🟡 缓慢 / 🔴 错误 |
| 颜色 | 状态 | 说明 |
|---|---|---|
| 🟢 绿色 | 正常 | 数据更新正常 |
| 🟡 黄色 | 缓慢 | 数据超过 2 个周期未更新 |
| 🔴 红色 | 错误 | 连接失败或请求超时 |
编辑 widget/config.js 可修改以下配置:
module.exports = {
// 数据服务端点
serviceUrl: 'http://127.0.0.1:19220/api/credits',
// 自动刷新间隔(毫秒)
refreshInterval: 30000,
// 请求超时时间(毫秒)
requestTimeout: 10000,
// 窗口尺寸
window: {
width: 268,
height: 176,
yOffset: 0, // 距离屏幕顶部的偏移量
},
};| 变量 | 说明 | 默认值 |
|---|---|---|
ELECTRON_LOG_DIR |
日志目录 | %APPDATA%/MiMo-Credits-Widget/logs |
SERVICE_PORT |
服务端口 | 19220 |
CHROME_CDP_PORT |
Chrome CDP 端口 | 9224 |
日志文件存储在 %APPDATA%/MiMo-Credits-Widget/logs/ 目录:
- 日志级别:DEBUG, INFO, WARN, ERROR
- 单文件最大:5MB
- 保留文件数:7 个
- 敏感信息自动脱敏
MiMo-Credits-Widget/
├── .gitignore
├── README.md
├── start-mimo-widget.bat # 启动脚本
├── open-mimo-login-chrome.bat
├── HERMES_FIX_INSTRUCTIONS.md
├── refactor-preview-final.png
└── widget/ # Electron 应用
├── config.js # 配置文件
├── main.js # 主进程
├── preload.js # 安全桥接
├── renderer.js # 渲染进程
├── logger.js # 日志模块
├── index.html # UI 结构
├── style.css # 样式表
└── package.json # 依赖配置
┌─────────────────────────────────────────────────────┐
│ start-mimo-widget.bat │
│ 启动 WSL 服务 → 健康检查 → 启动 Electron │
└─────────────────────────┬───────────────────────────┘
│
┌─────────────────────────▼───────────────────────────┐
│ Main Process (main.js) │
│ - 创建窗口 │
│ - IPC 通信 │
│ - 日志管理 │
└─────────────────────────┬───────────────────────────┘
│ contextBridge
┌─────────────────────────▼───────────────────────────┐
│ Preload (preload.js) │
│ - widgetAPI.close() │
│ - widgetAPI.getConfig() │
│ - widgetAPI.log() │
└─────────────────────────┬───────────────────────────┘
│
┌─────────────────────────▼───────────────────────────┐
│ Renderer Process (renderer.js) │
│ - 数据获取 (fetch) │
│ - UI 更新 │
│ - 错误处理 │
└─────────────────────────┬───────────────────────────┘
│ HTTP
┌─────────────────────────▼───────────────────────────┐
│ WSL Python Service (19220) │
│ - MiMo API 代理 │
│ - Chrome CDP 集成 │
└─────────────────────────────────────────────────────┘
# 进入 widget 目录
cd widget
# 安装依赖
npm install
# 启动开发模式
npx electron .# 查看实时日志
tail -f %APPDATA%\MiMo-Credits-Widget\logs\mimo-*.log# 启用调试输出
set NODE_ENV=development
npx electron .A: 确保 WSL 中的 MiMo 服务正在运行:
# 在 WSL 中检查
curl http://127.0.0.1:19220/api/creditsA: 检查 Windows 设置中是否允许应用置顶显示。
A: 检查网络连接和服务状态,查看日志文件获取详细错误信息。
A: 编辑 widget/config.js 中的 refreshInterval 值(单位:毫秒)。
- ✨ 添加日志系统
- ⚡ 优化圆角窗口性能
- 🐛 修复内存泄漏
- 🔄 添加错误重试机制
- 📊 修复百分比计算
- 🎨 重构 UI 设计
- 📈 添加进度条可视化
- 🔧 优化配置管理
- 🎉 初始版本
MIT License - 详见 LICENSE 文件
- GitHub: @VimRev
- Issues: GitHub Issues
如果这个项目对你有帮助,请给一个 ⭐ Star 支持一下!
