Skip to content

fix(usage): add manual backfill for missing historical costs#2586

Open
Ghibli1024 wants to merge 1 commit intofarion1231:mainfrom
Ghibli1024:fix/usage-pricing-backfill
Open

fix(usage): add manual backfill for missing historical costs#2586
Ghibli1024 wants to merge 1 commit intofarion1231:mainfrom
Ghibli1024:fix/usage-pricing-backfill

Conversation

@Ghibli1024
Copy link
Copy Markdown

@Ghibli1024 Ghibli1024 commented May 5, 2026

Summary / 概述

为“用量统计 / 模型定价”面板增加一个手动“补全历史成本”操作。

当用户在已有用量记录之后才补充某个模型的定价时,历史记录里的 0 成本不会自动重新计算。这个 PR 把已有的历史成本回填能力暴露到前端,让用户在补充或更新模型定价后,可以主动把历史上未计费的用量重新计算出来。

Problem / 问题背景

用量成本是在请求日志写入时计算的。如果当时模型还没有价格配置,这些日志会以 0 成本保存。

之后用户虽然可以在模型定价里手动添加价格,但这只更新了价格表,并不会自动改写已经存在的历史用量记录。因此会出现“新价格已经配置了,但历史统计金额仍然缺失”的情况。

What Changed / 变更内容

  • 在模型定价面板增加“补全历史成本”按钮。
  • 新增 Tauri command,调用现有的 backfill_missing_usage_costs 数据库回填逻辑。
  • 回填后返回实际更新的历史用量行数。
  • 前端回填成功后刷新用量相关查询缓存。
  • 根据回填结果显示本地化 toast:已补全多少条,或没有需要补全的记录。
  • 更新中 / 英 / 日三种语言文案。
  • 增加 PricingConfigPanel 组件测试,覆盖点击按钮、触发回填和成功提示。

Related Issue / 关联 Issue

Fixes #2532

Screenshots / 截图

After / 修改后
Pricing backfill button and success toast

Checklist / 检查清单

  • pnpm typecheck passes / 通过 TypeScript 类型检查
  • pnpm format:check passes / 通过代码格式检查
  • cargo clippy passes (if Rust code changed) / 通过 Clippy 检查(如修改了 Rust 代码)
  • Updated i18n files if user-facing text changed / 如修改了用户可见文本,已更新国际化文件

Validation / 验证

  • pnpm typecheck
  • pnpm format:check
  • pnpm vitest run tests/components/PricingConfigPanel.test.tsx --maxWorkers=1 --minWorkers=1
  • cargo fmt --check
  • cargo clippy -- -D warnings
  • TZ=UTC cargo test
  • Fork GitHub Actions CI passed: Ghibli1024/cc-switch#1 / CI run (Frontend Checks, Backend Checks)

Copy link
Copy Markdown
Owner

@codex review
@claude review

@claude
Copy link
Copy Markdown

claude Bot commented May 6, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

手动补充模型定价后,是否可以重新计算历史用量成本?

2 participants