web-search-deepseek 丢弃 usage:联网搜索的模型 turn 被计费,却不计入任何 token 统计 #7189
Replies: 1 comment 1 reply
|
结论:你的判断成立,而且比「丢弃」更彻底 —— 它从来没有被读进来过,同时 token-meter 也接不住它,所以这不是一个字段漏传的问题。 1. 这条路径根本不在 LLM 接缝上
2. 响应类型里根本没有放 usage 的地方
3. 唯一落盘的是「请求」,而且上游自己把它标成 log-only
事件形态见 4. 决定性的一条: 5. 就算发了事件,统计层也不会认: 只认 ⇒ 最小修复(三处小改):①
诚实边界:我没有核对你的账单 CSV 对账数字(2,098 vs 1,288 次请求、13.7/23.74 元、352 次搜索)—— 本机没有平台 CSV 也没有那段会话日志;你引用的 |
Uh oh!
There was an error while loading. Please reload this page.
现象
dsh-web-search-deepseek的每次联网搜索都是一次真实的模型调用(Anthropic 兼容 Messages 端点https://api.deepseek.com/anthropic/v1+ 原生web_search工具,复用同一个DEEPSEEK_API_KEY,会被计费),但响应只经mapAnthropicResponse()取搜索结果、usage被丢弃,会话里仅session.append("web/deepseek-search-llm-request", request)—— 只记请求,不记用量。后果
token-meter的tokenUsage投影、usage_report.mjs、会话台账系统性漏算搜索开销;报表只把它列为「旁路调用不计入上表:…联网搜索 N 个会话」,只有会话数、没有 token,容易被读成"没有成本"。实测对账(2026-09-19,单 key,DSH 0.1.5-rc.1,Windows)
request_countinput_cache_miss_tokensinput_cache_hit_tokensoutput_tokens当天
web_search共 352 次,折算每次约 31.4k 未命中输入 + 1.9k 输出,正好填平差额。命中列持平是关键判据:搜索结果是全新内容,不产生缓存命中,所以只有未命中/输出/请求数在涨。(dsh-web-fetch-http无模型调用,本地抓取,不计费。)按官方空闲时段单价(命中 0.02 / 未命中 1 / 输出 4 元每百万)换算:搜索占当天账单 58%(13.7 / 23.74 元)。建议
dsh-web-search-deepseek中读取并记录响应的usage(例如追加web/deepseek-search-llm-usage事件),再由token-meter折叠进tokenUsage;复现
用平台按 key 导出的
amount/costCSV,对比本地日志中 usage 之和:request_count、input_cache_miss_tokens、output_tokens三项均高于日志,而input_cache_hit_tokens基本持平;差值与该天web_search调用次数高度相关。相关但不同的已有讨论
#2554 讨论的是
pi-ai按 OpenAI 语义读取cached_tokens导致的缓存命中/未命中映射分类问题;本贴是搜索 provider 丢弃响应usage,两者不是同一个 bug。All reactions