codex额度查看工具开发完成1.0版本

This commit is contained in:
wxf
2026-07-16 14:45:15 +08:00
commit 7ab290fffa
27 changed files with 7100 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# 发现与决策
## 需求
- 参考桌面 `codexorbit-1.2.3` 的功能开发 Vue 版本。
- 使用前端技术和 JavaScript。
- 样式重新设计,不使用原项目图片。
- 最终可构建为 Windows EXE。
## 原项目发现
- 原项目为 C#、WPF、.NET Framework 4.8、x64 WinExe。
- 读取 `%USERPROFILE%\.codex\sessions` 下的 `rollout-*.jsonl`
-`event_msg` / `token_count` / `rate_limits` 记录提取 primary 与 secondary 时间窗口。
- 5 小时窗口为 300 分钟,周窗口为 10080 分钟。
- 使用文件监听器更新额度;窗口位置写入本地配置文件。
- 不需要服务器或数据库。
## 组件地图
| 模块 | 单一职责 | 数据契约 |
|------|----------|----------|
| `App.vue` | 组合应用外壳与额度面板 | 使用 `useUsage`,向面板传入快照 |
| `QuotaTile.vue` | 以悬浮标签展示单个周期百分比和垂直刻度 | props: `value`, `label`, `tone` |
| `UsagePanel.vue` | 展示双窗口额度、状态与重置时间 | props: `snapshot`; emit: `refresh` |
| `useUsage.js` | 管理 IPC 订阅、刷新和演示数据 | 返回只读快照、连接状态和刷新动作 |
| Electron main | 窗口、托盘、日志解析和文件监听 | 通过 `usage:snapshot` IPC 推送快照 |
| Electron preload | 仅暴露受限桌面 API | `getUsage`, `refreshUsage`, `onUsage` |
## 视觉方向(第二版)
- “瑞士编辑排版 × 工业仪表”:奶油纸张色、炭黑信息块、朱红和酸绿色功能色。
- 去掉发光圆环,改为大数字、分段刻度和两种材质并置,提升扫读效率。
- 使用纯 CSS 几何元素,不使用图片;保留非对称圆角作为识别特征。
## 视觉方向(最终精简版)
- 去掉外层卡片、阴影、边框、标题、状态、重置时间与刷新按钮。
- 只保留圆形额度表盘、百分比和 `5h/7d` 标签。
- 5 小时快照已经过期时视为不存在,界面只显示周额度。
- Electron 窗口根据一枚或两枚表盘自动调整宽度,避免透明区域拦截桌面操作。
## 视觉方向(独立原创版)
- 放弃圆环参考,改为无边框、无阴影的悬浮额度标签。
- 以大号百分比、单色信号点和右侧垂直刻度表达额度,不增加业务文案。
- 周额度使用酸绿色,5小时额度使用珊瑚红;两者存在时并列,不存在时自动收缩。