Skip to content

Latest commit

 

History

History
92 lines (71 loc) · 6.58 KB

File metadata and controls

92 lines (71 loc) · 6.58 KB

OpenCodeGoBoard 产品与工程路线

产品定位

从“用量展示面板”发展为本地优先的额度与用量工具,回答:数据是否完整、剩余额度还有多少、哪个窗口会先耗尽、每天/每周/自定义区间用了多少 Token 和费用。

P0:正确性、独立化与架构验证

  • 解析器兼容紧凑/带空格的 server-fn 序列化格式。
  • 为 usage 解析建立脱敏 Fixture 回归测试。
  • 不再吞掉批量同步中的单页错误。
  • 不再跨失败页或空页错误推进 deepest_page_fetched
  • 同步失败后保留已完成批次的插入数量,并区分 partial/error
  • Dashboard 的 OpenCode 配额只请求一次并复用于 overview。
  • 完成 Tauri 最小壳构建并记录实际尺寸。
  • 为配额 HTML、工作区解析和同步状态机补齐 Fixture/单元测试。
  • 建立数据库 schema version 和事务化迁移。
  • 增加数据健康状态:覆盖范围、缺失页、解析失败、最后成功同步。

P1:高价值基础体验

  • 新增 reasoning_tokenssession_id 字段和兼容迁移。
  • 会话聚合、未归属记录、会话明细下钻。(已在 1.3.0 精简迭代移除:记录页只保留原始记录。)
  • 24 小时时段趋势,补齐零值小时并使用本地时区。
  • 单指标趋势切换;“等效对比”用实际费用 vs 等效费用两条美元线替代归一化模式。
  • 建立语义颜色/文字 Token,移除关键内容的 10px 和过低透明度。
  • 标准、舒适、高对比度三档可读性设置。
  • 合并重复轮询、增加短时缓存、请求去重和取消。
  • 将回填目标从“页数”改成“最近 N 天/截至日期/全部”。
  • 明确 Ollama:删除未进入产品 UI 的休眠实现,聚焦 OpenCode Go。
  • 数据导出、备份、恢复和迁移前校验。(已在 1.3.0 精简迭代移除数据工具组与对应设置入口。)

P2:形成产品差异

  • 保存官方额度窗口快照。
  • 额度续航预测、最早耗尽窗口、能否撑到重置。(已在 1.3.0 精简迭代移除。)
  • 安全预算与异常消耗加速提醒。(已在 1.3.0 精简迭代移除;保留可选桌面额度提醒。)
  • 官方额度变化与本地用量对账,解释充值、重置、缺数和规则变化。(已在 1.3.0 精简迭代移除。)
  • 等效额度改用“额度单位”,规则支持套餐、账号和生效时间。(已在 1.3.0 精简迭代移除额度单位卡与接口。)
  • 使用连续快照自动校准模型权重,排除充值与重置区间。(入口已随精简移除,代码不再暴露接口。)
  • 会话/项目聚合:项目成本、缓存率和模型构成;项目名/目录/标题直接使用同步数据。(1.3.0 精简迭代已移除会话/项目视图,只保留原始记录。)
  • 账号维度展示瓶颈窗口,不再以平均剩余比例作为核心指标。

P3:智能决策与发布质量

  • 根据额度、重置时间和模型权重给出账号/模型建议。(已在 1.3.0 精简迭代移除。)
  • 可选桌面通知和阈值策略,避免默认打扰。
  • 签名发布、自动更新、回滚和校验和流程(生产密钥与 Windows 代码签名证书为发布前外部条件)。
  • 解析 Fixture 脱敏采集工具和兼容性诊断包。(入口已随数据工具组移除。)
  • 性能基准:冷启动、常驻内存、十万记录聚合和数据库索引(共享工作集未达到原 120 MiB 目标,详见 PERFORMANCE.md)。
  • 可访问性检查、键盘导航和图表非颜色表达。
  • 正式完成 Tauri Rust 后端迁移并删除 Electron/Hono/本地端口层。

Tauri 迁移的建议边界

保留:React/Vite 页面、i18n、视觉组件、统计口径及已验证 SQL。

替换:Electron 窗口/托盘、preload、本地 Hono HTTP 服务、Bearer Token/CORS/端口发现、better-sqlite3 原生 Node 模块。

优先纵向切片:应用启动 → 系统凭据 → 单账户配额 → SQLite → usage 同步 → Dashboard。每个切片完成后再删除对应 Electron 实现。

2026-08-14 Tauri 体积探针

  • 复用现有 1.07 MB 前端产物。
  • Release 可执行文件:3.45 MB。
  • NSIS 在线安装包:1.38 MB。
  • WebView2 模式:downloadBootstrapper,不内置离线运行时。
  • 首次干净构建约 5 分 43 秒;后续应在 CI 缓存 Cargo 依赖。

这些数字只证明当时的桌面壳和分发目标成立,不代表完整应用最终仍为 1.38 MB。

2026-08-15 Tauri 完整迁移结果

  • React 页面保留,数据、同步、额度智能、凭据、托盘和更新逻辑迁入 Rust/Tauri。
  • Electron、Hono、better-sqlite3、Bearer Token、CORS 和本地业务端口层已删除。
  • Release 可执行文件 7.53 MiB;NSIS 在线安装包 3.00 MiB。
  • 冷启动 195 ms;十万条聚合 p95 87.04 ms。
  • Windows 进程树私有内存 136.40 MiB;包含 WebView2 共享页的工作集 364.45 MiB,作为后续优化基线保留。
  • 正式公开发布仍需由仓库所有者配置更新签名私钥、更新端点和 Windows 代码签名证书。

2026-08-15 精简模式(默认极简 + 按需开启,最终形态)

  • 四组功能开关:token_statsusage_recordsquota_intelligenceadvanced_syncdata_tools 已整组删除。
  • 新安装默认极简;老配置迁移保持全开并显示一次性提示,退役的 data_tools 自动清理。
  • 极简 Dashboard:6 张核心卡(账户可用、最紧张额度窗口、总 Token、今日 Token、总费用、等效总费用)、逐账号配额条、最近 10 条用量;建议、续航、对账与额度单位区块已删除。
  • 极简设置页保留核心区块,高级区块随对应开关显示;数据管理、后端状态和检查更新已删除。
  • 记录页只保留原始记录;会话聚合与项目卡片已删除。
  • 用量统计页新增自定义开始/结束日期(按用户时区日界),趋势、汇总与模型排行均按区间统计。
  • 开关由 Rust service_settings.payload.feature_flags 持久化;极简/完整预设只是动作,持久化的只有组开关。
  • 被关闭功能隐藏路由/区块,后端跳过重计算并拒绝专有接口;基础同步与配额快照采集不受影响。
  • 双语 i18n、Rust/Vitest 测试、pnpm buildpnpm a11y:check 通过。
  • 等效总费用:按模型月额度档位把 15 刀档费用 ×4 折算到 60 刀口径,极简模式常驻;档位表可在设置中维护,默认来源 OpenCode 文档 2026-08-15。