Skip to content

fix: 避免每日用量入口重叠#33

Open
kts-kris wants to merge 2 commits into
BigPizzaV3:mainfrom
kts-kris:fix/daily-token-usage-floating-collision
Open

fix: 避免每日用量入口重叠#33
kts-kris wants to merge 2 commits into
BigPizzaV3:mainfrom
kts-kris:fix/daily-token-usage-floating-collision

Conversation

@kts-kris

@kts-kris kts-kris commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

变更说明

修复 Codex Daily Token Usage 在 Codex++ 顶栏控件较多、窗口较窄或 Codex++ 版本入口占位时,右上角入口与现有控件重叠的问题。本次将脚本更新到 1.4.7

主要优化:

  • 入口定位优先检测 #codex-plus-menu,将 Codex Daily Token Usage 放在 Codex++ 版本入口左侧,并保留安全间距。
  • 如果没有检测到 Codex++ 菜单,则复用 Codex++ 的 header toolbar anchor 思路:以右侧第一个原生 toolbar button 的 left/top/height 计算同一顶栏行位置。
  • 如果锚点位置不可用或会碰撞,继续回退到原有的顶部障碍物扫描,在同一顶栏行向左寻找空档。
  • 如果同一行没有足够空间展示完整入口,则退化为只显示 Σ 的 compact icon,降低占用宽度。
  • 修复外部 Codex Token Usage 数据无可靠时间戳时被归入“今天”的问题:不再用 Date.now() 兜底,避免首次打开时把历史用量错误累计到今日。
  • 同步 index.json 中的 version、updated_at 和 sha256。

根因

之前的版本主要依赖固定 right: 280px 和碰撞扫描。这个方式能避开部分重叠,但没有利用 Codex++ 自身已经计算好的版本入口位置,也没有以右侧原生 toolbar button 作为稳定锚点,因此在某些顶栏布局下仍可能和 Codex++ 1.x 入口或原生按钮区域距离不稳定。

另外,外部用量源的历史 turn 如果缺少可靠时间戳,旧逻辑会用当前时间兜底,导致历史 tokens 在首次打开时被错误计入今天。

验证

  • jq empty index.json
  • node --check scripts/codex-daily-token-usage.js
  • node --check outputs/codex-daily-token-usage.js
  • CODEX_DAILY_TOKEN_USAGE_SCRIPT=scripts/codex-daily-token-usage.js node ../test-codex-daily-token-usage.js
  • node work/test-codex-daily-token-usage.js
  • 已确认脚本 SHA-256 与 index.json 一致:660499e55ac2f4b6cafd32403a584d9a8b0b6d761c5e68d27d793611df4af3b7

@kts-kris kts-kris force-pushed the fix/daily-token-usage-floating-collision branch from cf76d7c to 4b53f76 Compare June 27, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant