forked from daodao97/code-switch
-
Notifications
You must be signed in to change notification settings - Fork 26
添加自适应热力图和图标搜索功能 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
添加自适应热力图和图标搜索功能 #24
+2,216
−183
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 添加 pauseLogging 标志,在 GetLogs/GetRecentLogs/ClearLogs 执行期间暂停日志捕获 - 添加日志过滤规则,过滤 Wails 框架内部日志和 JSON 序列化日志 - 解决打开控制台界面时日志无限递归导致控制台输出大量转义字符的问题
实现热力图自适应容器宽度,并为图标选择添加搜索功能 主要变更: - 新增 useAdaptiveHeatmap composable,封装热力图自适应逻辑 - 热力图根据容器宽度动态计算显示列数,移除横向滚动条 - 使用 ResizeObserver 监听容器尺寸变化,采用节流优化性能 - 图标选择下拉框添加搜索筛选功能,支持实时过滤 - 为供应商卡片的编辑和删除按钮添加 tooltip 提示 - 修复图标选择器和等级选择器的按钮样式问题
优化 GitHub Actions release 工作流,在所有构建产物文件名中包含版本号
主要变更:
- macOS: codeswitch-macos-*.zip → CodeSwitch-v{VERSION}-macos-*.zip
- Windows: CodeSwitch.exe → CodeSwitch-v{VERSION}.exe
- Windows: updater.exe → updater-v{VERSION}.exe
- Windows: 安装器添加版本号后缀
- Linux: CodeSwitch.AppImage → CodeSwitch-v{VERSION}.AppImage
同步更新 latest.json 和 release notes 中的文件名引用
- 新增 formatTokenNumber 函数,支持大数值自动换算 - ≥1,000 显示为 k,≥1,000,000 显示为 M,≥1,000,000,000 显示为 B - 保留 2 位小数精度 - 应用于表格和统计卡片中的 token 显示 - bump version to v2.6.15
- 新增 formatTokenNumber 函数到首页组件 - 供应商卡片 Tokens 显示支持单位换算 - 热力图 Tooltip 的 token 指标支持单位换算 - bump version to v2.6.16
- 添加 TOKEN 流量卡片点击弹窗,展示输入/输出 token 明细 - 缓存卡片显示缓存命中率(格式:1.23M (45.6%)) - 日志列表新增金额列,直观展示每条请求的费用 - 补充中英文国际化文案
- 将命中率与缓存数字分开显示 - 命中率使用较小字体和浅色 - 支持亮色/暗色主题
新增托盘菜单显示今日用量与预算比例的功能 - 添加 budget_total 应用设置项,支持在通用设置中配置预算总额(USD) - 托盘菜单显示今日已用金额和预算总额 - 使用 ASCII 进度条直观展示用量占比(28 字符宽度) - 点击托盘图标时自动刷新用量数据 - 前端增加预算输入框及国际化支持 此功能帮助用户直观监控每日 API 消费情况,便于成本控制
- 使用 SetEnabled(false) 替代 SetDisabled(true) - 移除误提交的 exe 文件
新增托盘弹出窗口,提供更丰富的用量展示 - 添加独立 Tray 组件,支持实时用量、进度条、倒计时和预测 - 支持预算周期配置(每日/每周),可自定义刷新时间和刷新日 - 新增倒计时显示和消耗速率预测开关 - 托盘面板设置项移至独立分组,便于管理 - 后端增加 StatsSinceTimestamp 接口支持周期统计
- 托盘预算区域添加百分比标签显示 - 托盘面板设置移至独立 section,改善布局层级 - 修复 macOS 应用激活时自动弹出主窗口的问题
- 根据周期模式动态显示"今日预算"或"本周预算" - 倒计时格式改为"XX天 HH:MM:SS",支持跨天显示 - 预测耗尽时间改为完整日期时间格式 - 主窗口默认宽度调整为 1400px
- 托盘窗口顶部显示 Claude Code 品牌标识 - 实时显示托管状态(托管中/未托管)及状态指示灯 - 主窗口默认高度调整为 1040px
新增用量手动调整和多维度预测方法选项,提升预算管理灵活性
**核心变更:**
1. 用量调整功能
- 新增 budgetUsedAdjustment 配置项,支持手动补录已用金额
- 托盘窗口和用量计算逻辑同步应用调整值
- 前后端完整支持用量偏移计算
2. 预测方法增强
- 新增 budgetForecastMethod 配置,支持 5 种预测算法:
* cycle: 本周期平均速度(默认)
* 10m: 近 10 分钟速度
* 1h: 近 1 小时速度
* yesterday: 昨日平均速度
* last24h: 近 24 小时速度
- 预测计算优化,支持跨周期数据查询和边界保护
3. 托盘窗口优化
- 倒计时显示精度从秒级改为分钟级
- 刷新频率从 1 秒优化为 60 秒,降低 CPU 占用
- 预测耗尽时间显示格式优化(移除秒级显示)
4. 国际化支持
- 新增中英文文案,覆盖用量调整和预测方法所有选项
**文件变更:**
- frontend/src/components/General/Index.vue: 用量调整和预测方法配置 UI
- frontend/src/components/Tray/Index.vue: 托盘窗口预测逻辑和性能优化
- frontend/src/locales/zh.json & en.json: 国际化文案
- frontend/src/services/appSettings.ts: 前端配置类型定义
- services/appsettings.go: 后端配置服务和默认值
- main.go: 托盘用量计算逻辑整合调整值
- version_service.go: 版本号更新至 v2.6.20
实现 Codex 平台独立的预算管理功能,与 Claude Code 完全解耦: 后端变更(services/appsettings.go): - 新增 9 个 Codex 专属配置字段 - 添加 budget_total_codex、budget_used_adjustment_codex 等预算核心字段 - 新增预算周期配置 budget_cycle_enabled_codex、budget_cycle_mode_codex - 支持独立的预算刷新时间和预测方法配置 前端配置界面(components/General/Index.vue): - 添加完整的 Codex 预算配置 UI(+132 行) - 实现与 Claude Code 相同的配置能力:预算总额、已用调整、周期模式、刷新时间 - 支持预算倒计时和预测耗尽时间显示 - 添加独立的表单验证和持久化逻辑 托盘窗口架构重构(components/Tray/Index.vue): - 重构为工厂模式,使用 createTrayCard 函数创建独立卡片实例 - 提取平台无关的公共逻辑,支持多平台并行展示 - 每个卡片拥有独立的状态管理:used、total、forecastRate 等 - 支持 Claude 和 Codex 双卡片同时显示,各自独立计算预算数据 - 优化数据刷新逻辑,避免重复请求(refreshBusy 标志) 国际化支持(locales/*.json): - 新增 trayPanelClaude 和 trayPanelCodex 标签 - 支持托盘窗口双平台标题区分 类型定义完善(services/appSettings.ts): - AppSettings 接口新增 9 个 Codex 配置字段类型 - 更新默认配置值,确保类型安全 此功能使用户可以为 Claude Code 和 Codex 分别设置预算, 独立监控每个平台的使用情况,提升多平台使用体验
调整 General 组件的 panel-title 样式,改进间距和视觉层次 - 重构 padding 和 margin 设置,提升标题区域的视觉平衡 - 添加底部分割线和字间距优化,增强可读性 优化 Main 组件的等级徽章显示效果 - 改用 inline-flex 布局,确保徽章内容垂直居中对齐 - 增强选择器特异性,避免样式冲突 - 调整圆角半径和最小宽度,统一视觉风格 - 为所有等级徽章添加明确的文本居中对齐 升级应用版本至 v2.6.21
Owner
|
牛的,我一会看一下就merge |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
实现热力图自适应容器宽度,并为图标选择添加搜索功能
主要变更:
变更文件: