Skip to content

feat: 增强每日用量工具洞察与标题栏适配#43

Open
kts-kris wants to merge 4 commits into
BigPizzaV3:mainfrom
kts-kris:feat/daily-token-usage-tool-insights
Open

feat: 增强每日用量工具洞察与标题栏适配#43
kts-kris wants to merge 4 commits into
BigPizzaV3:mainfrom
kts-kris:feat/daily-token-usage-tool-insights

Conversation

@kts-kris

@kts-kris kts-kris commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

用户价值

这次更新让 Codex Daily Token Usage 从一个简单的 Token 计数器,升级为更接近“每日 Codex 工作用量报告”的工具。

用户不只可以看到今天消耗了多少 Token,还可以进一步理解:这些用量是普通对话带来的,还是来自命令执行、MCP、插件等工具辅助工作;同时,在用户还没有手工配置 Model 单价时,也能直接基于 OpenAI API Pricing 的 Standard 参考价看到预估成本。

这对用户的直接价值是:

  • 更清楚地解释“今天 Token 为什么涨得多”;
  • 能看到 MCP / 插件 / 工具调用次数、调用率和调用密度;
  • 能在可关联时看到工具辅助工作对应的大致 Token 和成本;
  • 未配置价格时也能开箱即用地看到成本估算,不必先手工查价和填价;
  • 自定义价格仍然可以覆盖预置价,适配团队内部折扣、特殊计费或非标准场景;
  • 分享图可以作为更完整的用量报告,而不是只有总 Token 的截图;
  • 标题栏空间变化时不会和“打开位置”、Codex++ 等按钮重叠,重启后也能保持正确位置,日常使用更稳定。

改动内容

1. OpenAI 模型参考价预置

  • 更新到 1.4.12
  • 内置 OpenAI API Pricing 页面公开的 Standard 参考价,单位为 USD / 1M tokens
  • 覆盖 text、ChatGPT、Codex、Search、Deep research、Computer use 以及可计价的部分 specialized 模型。
  • 成本计算会优先使用用户自定义价格;用户只填写部分字段时,未填写字段继续回退到预置价。
  • 价格设置区增加“预置 / 自定义 / 未定价”状态标识:
    • 预置价会作为 placeholder 展示;
    • 用户手工输入后显示为自定义;
    • 点击“恢复预置”会清除自定义价格并回到预置价。
  • Model 列表会区分“自定义”和“预置参考价”,用户能知道当前成本来源。

2. 工具调用洞察

  • 增强工具调用采集:
    • 解析应用暴露出的真实 function_call payload;
    • 识别 mcp__server__tool 这类 MCP 工具名称;
    • 增加 DOM 兜底,覆盖当前页面可见的 Codex 工具卡片,例如 exec_command
  • 详情页新增工具洞察指标:
    • 工具总调用次数;
    • MCP / 插件调用拆分;
    • 可识别的工具辅助请求数;
    • 工具调用率;
    • 每 10 万 Token 的工具调用密度;
    • 能关联到 Token turn 时展示关联用量;
    • Top 工具列表。
  • 分享图新增独立的“工具调用”区块,并优化布局,避免工具区、关联用量和底部说明发生错位或重叠。

3. 标题栏动态避让

修复今日用量入口和 Codex 原生“打开位置”按钮可能重叠,以及 Codex 重启后今日用量被错误挤到左侧的问题。

现在的策略是:

  • 仍然优先锚定 Codex++;
  • 但硬锚点不再允许穿透障碍物;
  • header surface 只用于定位顶部区域,不参与避让计算;
  • pointer-events: none 的非交互容器不再占用布局空间;
  • 只扫描顶部 chrome / header 内的真实交互控件,避免正文内容误触发 compact;
  • 在锚点左侧按行寻找最近可用空位;
  • 空间足够时保持完整显示;
  • 只有确实没有完整空间时才缩成 compact icon;
  • 通过 MutationObserverResizeObserverrequestAnimationFrame 做动态重算,覆盖“打开位置”这类后出现按钮;
  • right 坐标向外取整,避免 8px 安全间距被四舍五入吃掉。

4. 关联用量修复

修复工具调用区域“关联用量”长期显示“待关联”的问题。

现在的策略是:

  • 解析 UUID v7 中携带的真实时间戳;
  • 保存 external turn 的 conversationKey
  • 在同会话内,用 UUID 时间戳和 Token turn 时间戳做窗口匹配;
  • 匹配结果明确标记为估算,避免把它伪装成精确关联。

这样用户可以看到工具辅助请求大致对应的 Token 和成本,同时界面仍保留“部分为时间估算”的提示。

5. 版本和索引

  • codex-daily-token-usage 更新到 1.4.12
  • 同步更新 index.json 中的版本号和 sha256
  • 新脚本 hash:66c6af995d1908961b0931d0a41dd804d807b041a4291eb86144627becca4dbe

为什么有价值

之前插件能告诉用户“用了多少 Token”,但很难解释“这些 Token 是怎么用掉的”,也要求用户先自己配置 Model 价格后才能看到成本。对真实 Codex 工作流来说,这两个问题都会影响复盘质量。

这次更新后,用户可以同时看到:

  • 用量总量;
  • Model 分布;
  • 预估成本;
  • 成本来源是预置价还是自定义价;
  • 工具调用对工作量的影响;
  • 可分享的完整日报图。

这让插件更适合日常成本观察、团队内部用量解释,以及对“为什么今天成本升高”的快速判断。

说明和边界

  • 预置价格来源:OpenAI API Pricing 页面 Standard 档,参考链接:https://developers.openai.com/api/docs/pricing
  • 有上下文分档的模型,当前按短上下文价预置;这是为了避免在前端无法稳定判断上下文分档时误用更复杂的规则。
  • Cache writes、Batch、Flex、Priority、工具调用按次费用、Web search 额外调用费、容器分钟费不纳入当前模型 token 成本估算。
  • 价格只用于本地估算,不代表官方账单;用户可以用自定义价格覆盖预置价。
  • DOM 兜底当前主要覆盖可见的 Codex shell 工具卡片,例如 exec_command
  • MCP 和插件调用会在前端暴露 mcp-request/tools/callmcp__server__tool 这类函数名时被统计。
  • 关联用量会优先做精确关联;当只能通过同会话时间窗口匹配时,会明确标记为估算。

验证

  • 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 ../test-codex-daily-token-usage.js
  • git diff --check
  • 已热注入本地 Codex App 验证:
    • 页面内版本为 1.4.12
    • 默认价可查到 gpt-5.4、legacy text、specialized 模型;
    • 当前快照可同时区分自定义价和预置参考价;
    • 今日用量入口与“打开位置”、Codex++ 无重叠;
    • 标题栏空间充足时保持完整显示,不会误 compact;
    • Codex 重启后不再被 pointer-events: none 的 header surface 错误挤到左侧;
    • 关联用量已从“待关联”变为可展示的估算用量,并提示“部分为时间估算”。

@kts-kris kts-kris marked this pull request as ready for review July 7, 2026 07:37
@kts-kris kts-kris force-pushed the feat/daily-token-usage-tool-insights branch from 5463f25 to cf402d5 Compare July 7, 2026 07:46
@kts-kris kts-kris changed the title feat: enhance daily token usage tool insights feat: 增强每日用量工具洞察 Jul 7, 2026
@kts-kris kts-kris changed the title feat: 增强每日用量工具洞察 feat: 增强每日用量工具洞察与标题栏适配 Jul 9, 2026
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