父票:#134(CLI usage 多 provider 落账,已交付并关闭)
调研依据:docs/research/kimi-usage-outlet.md(2026-08-18)
背景
kimi CLI(0.34.0 → 最新 0.37.2 均如此)stdout stream-json 无 usage 出口——PromptJsonWriter 只写 5 种 JSON 行,turn.step.completed 携带的 usage 被显式 no-op。但带外出口存在:session 的 ~/.kimi-code/sessions/<wd-slug>/<session_id>/agents/main/wire.jsonl 中 usage.record 事件四桶(input/output/cacheRead/cacheCreation)齐全,session_id 可从 stdout 的 session.resume_hint 解析。
本票只出设计,实现票另行开立。
设计决策点
产出物
- 设计文档(docs/ 下),钉死上述决策
- 实现票的 AC 清单
下游消费方
#120 缓存命中率聚合(已交付)——kimi 线目前因 usage=null 完全缺数,本设计落地后补齐。上游 kimi-code stdout usage 事件需求另行提 issue(提出后在此回填链接),上游若实现,本方案可被 stdout 正道替换。
父票:#134(CLI usage 多 provider 落账,已交付并关闭)
调研依据:
docs/research/kimi-usage-outlet.md(2026-08-18)背景
kimi CLI(0.34.0 → 最新 0.37.2 均如此)stdout stream-json 无 usage 出口——
PromptJsonWriter只写 5 种 JSON 行,turn.step.completed携带的 usage 被显式 no-op。但带外出口存在:session 的~/.kimi-code/sessions/<wd-slug>/<session_id>/agents/main/wire.jsonl中usage.record事件四桶(input/output/cacheRead/cacheCreation)齐全,session_id可从 stdout 的session.resume_hint解析。本票只出设计,实现票另行开立。
设计决策点
session.resume_hint解析失败时的兜底extractProviderUsagekimi 分支(现返回 null)的替换方式,stdout 为主 wire 补还是纯 wire产出物
下游消费方
#120 缓存命中率聚合(已交付)——kimi 线目前因 usage=null 完全缺数,本设计落地后补齐。上游 kimi-code stdout usage 事件需求另行提 issue(提出后在此回填链接),上游若实现,本方案可被 stdout 正道替换。