Skip to content

修复:请求日志的积分列一直为空(记账时漏拷 snapshot.credit) - #493

Closed
wocaoniubi123 wants to merge 1 commit into
aimod-cc:betafrom
wocaoniubi123:fix-request-credit
Closed

wocaoniubi123 wants to merge 1 commit into
aimod-cc:betafrom
wocaoniubi123:fix-request-credit

Conversation

@wocaoniubi123

Copy link
Copy Markdown

修什么

请求日志的「积分」列一直是空的。成因不是上游不给,而是记账时漏拷:RequestTelemetry::snapshot() 已经从上游 usage 里解析出 credit,但 record_entry 只拷了 token 四件套,credit 没拷,于是 NewRequestEntry.credit 恒为 None → 落库 NULL → 界面显示「上游没有返回积分消耗」。

一行修复:

 entry.cache_read_tokens = snapshot.cache_read_tokens;
+entry.credit = snapshot.credit;

影响哪些家(实测,不是推断)

修复前用调试流量抓原始 SSE 报文逐家核对 usage 里到底有没有积分类字段:

上游 原始 usage 里的积分 键名 在 CREDIT_KEYS 里 修复后
WorkBuddy ✅ "credit":0.58 credit ✅ 会显示(如 0.58)
Loomy ✅ "points_consumed":1 points_consumed ✅ 会显示(如 1)
CodeArts ❌ 只有 token 三件套 — — 仍是 —
小浣熊 Raccoon ❌ 只有 token 三件套 — — 仍是 —
Trae ❌ 只有 token + cache_* / cluster — — 仍是 —
  • Trae 那条是代码实锤:插件 trae/stream.rs 把上游 usage 整个 .cloned() 透传,所以下发给客户端的就是上游原件 —— 上游确实没给。
  • CodeArts / Raccoon 是同一透传形态(未逐行核对 adapter,属推断),大概率同样没给。
  • 也就是说这个修复只影响上游真会上报积分的家,不会凭空造出读数。

复现与验证

  • 复现:调试模式的原始报文里 "usage":{…,"credit":0.58,…};同一条请求 token 记对了(662444)、credit 是 NULL。
  • 修复后:在自建分支上编了 3.4.2 的 Windows 包,装上连发几条 WorkBuddy 请求,库里 credit 落了 0.05 / 0.15 / 0.44 / 0.54,界面正常显示。
  • 只改 Rust,ui/ 未动 —— frontend-artifacts 那道闸不受影响。

没做什么

  • 没动失败请求的清零逻辑(normalize / finalize_interrupted 仍然清掉失败请求的用量,这是既有契约)。
  • 没动界面文案:— 的 tooltip 还写着「上游没有返回积分消耗」,对"插件没透传积分"的那几家措辞偏绝对。改它要动 6 语言 i18n,如需要可以另开一个小 PR。

🤖 本条回复由 AI Agent 生成

`RequestTelemetry::snapshot()` 已从上游 usage 解析出 credit(WorkBuddy 的 `usage.credit`、Loomy 的 `points_consumed`),但 `record_entry` 只拷了 token 四件套,漏了 credit,于是 `NewRequestEntry.credit` 恒为 None、落库 NULL,界面显示「上游没有返回积分消耗」。实测原始报文里 `usage.credit=0.58`,同一条请求 token 记对了、credit 是 NULL。修后自建 3.4.2 包验证:库内 credit 落 0.05/0.15/0.44/0.54。
@aimod-cc

aimod-cc commented Nov 5, 2026

Copy link
Copy Markdown
Owner

感谢反馈,这个问题我已在本地修复,将于下个版本推出更新解决。

@aimod-cc aimod-cc closed this Nov 5, 2026
@wocaoniubi123
wocaoniubi123 deleted the fix-request-credit branch November 7, 2026 10:34
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