desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs
第 1 条注释,第 1 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:1
//! kimi wire JSONL 家族共享解析件(Kimi Code A12 / Kimi Work A13,M4)。第 2 条注释,第 2 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:2
//!(空行)第 3 条注释,第 3 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:3
//! 两产品是同一 wire 协议家族的不同产品身份(adapters.md「分家族复用的范围」:第 4 条注释,第 4 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:4
//! 数据根、实例身份和日志 revision 独立,不因内核同名合并);本模块是类比第 5 条注释,第 5 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:5
//! jsonl.rs 的根级共享模块,只复用经两产品真实数据分别检查一致的辅助逻辑:第 6 条注释,第 6 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:6
//!(空行)第 7 条注释,第 7 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:7
//! - metadata 首行探测:protocol_version 是字符串,已观察的 1.5/1.4 均如此;第 8 条注释,第 8 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:8
//! - usage.record 四互斥字段:inputOther、output、inputCacheRead、第 9 条注释,第 9 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:9
//! inputCacheCreation;没有原生 total,见 M0 本地读取结果。第 10 条注释,第 10 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:10
//! - epoch 毫秒时间:本机 82 个 wire.jsonl 实读全部为毫秒(1.78e12–1.79e12),第 11 条注释,第 11 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:11
//! 无秒级样本——超出合理毫秒域的值记诊断跳过,**不做 ×1000 猜测**;第 12 条注释,第 12 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:12
//! - `event.usage` 回声去重:`context.append_loop_event` 的 step.end 事件内第 13 条注释,第 13 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:13
//! `usage` 是 usage.record 的逐字段回声(M0 实读:二选一计账,防止双计);第 14 条注释,第 14 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:14
//! 实测 958/960(1.5)与 1329/1329(1.4)——被打断的步可能没有回声,第 15 条注释,第 15 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:15
//! 已观察的回声是记录子集;回声合计超过记录时提示格式差异。第 16 条注释,第 16 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:16
//! - subagent.completed 对账:主线 wire 的 `subagent.completed.usage` 是子代理第 17 条注释,第 17 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:17
//! wire 截至 completed.time 的逐次 Σ 快照(本机 2026-09-25 复证逐字段相等),第 18 条注释,第 18 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:18
//! 子代理 wire 自身已逐次入账 ⇒ completed 绝不产生事件(计入即双计);第 19 条注释,第 19 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:19
//! - usageScope 语义(实读):`turn` = 主循环 LLM 调用;`session` = 会话级第 20 条注释,第 20 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:20
//! 辅助调用(本机全部出现在 full_compaction.begin…complete 区间 = 压缩摘要第 21 条注释,第 21 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:21
//! 调用,llm.request kind=compaction 对应)⇒ 按辅助调用入账;第 22 条注释,第 22 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:22
//! - 逐次身份:usage.record **无 uuid/messageId**(稳定 ID 只存在于回声侧:第 23 条注释,第 23 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:23
//! step.end 的 `uuid`/`messageId` 字段,与记录侧无关联键)⇒ 事件键采用第 24 条注释,第 24 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:24
//! `{session 目录}:{agent}:{time}:{同毫秒序号}`——本机 Kimi Work 实测存在第 25 条注释,第 25 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:25
//! 跨文件同毫秒的 usage.record(swarm 并行子代理与主线同毫秒完成 2 对),第 26 条注释,第 26 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:26
//! 键必须含身份段;同文件同毫秒重复时追加序号并记诊断,确定性且重扫稳定。第 27 条注释,第 27 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:27
//!(空行)第 28 条注释,第 28 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:28
//! 产品差异分别用测试数据检查,见 tests/fixtures/kimi-code 与 kimi-work:第 29 条注释,第 29 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:29
//! - Kimi Code 1.5:usage.record 带 `agentId`;目录 `sessions/<wd>/session_<uuid>/`;第 30 条注释,第 30 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:30
//! model 为 alias/model;已观察 desktop 产品版本为 1.0.3。第 31 条注释,第 31 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:31
//! - Kimi Work 1.4:usage.record **无** agentId(身份来自 agents/<id>/ 目录);第 32 条注释,第 32 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:32
//! 目录 `sessions/<wd>/<conv-*|ctitle-*>/`;model 为裸 id;宿主 daimon第 33 条注释,第 33 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:33
//! state.json 的 createdBy=daimon-kernel-adapter。第 34 条注释,第 50 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:50
/// 合理毫秒下界(domain):早于此的 time 视为秒级/异常,跳过不猜测换算。第 35 条注释,第 52 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:52
/// 合理毫秒上界(2286 年):防御未来异常值;实读上限 1.79e12。第 36 条注释,第 55 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:55
/// kimi wire usage.record 原始四字段:互斥、无 total(M0 实读结论)。第 37 条注释,第 56 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:56
/// Kimi Code/Work 共用;M4 将其从 usage_map.rs 移入家族模块。第 38 条注释,第 65 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:65
/// kimi wire 四互斥字段 → 规范化 usage:input_total/total_tokens 派生求和,第 39 条注释,第 66 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:66
/// 无 source total;reasoning 无字段保持 unknown。第 40 条注释,第 96 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:96
/// 扫描时传入的产品身份(kimi_wire 不持有产品状态,身份由各产品目录注入)。第 41 条注释,第 98 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:98
/// 事件键命名空间(= adapter_id:kimi-code / kimi-work)。第 42 条注释,第 100 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:100
/// 统计归属 Agent 名(kimi-code / kimi-work)。第 43 条注释,第 102 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:102
/// 本版本实现的解析器版本串。第 44 条注释,第 106 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:106
/// 实读已观测、明确不产事件的记录类型(静默忽略;清单外类型一次性诊断)。第 45 条注释,第 107 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:107
/// 覆盖本机 82 个 wire.jsonl 的全部观测类型(1.5 + 1.4 并集)。第 46 条注释,第 109 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:109
// 生命周期/控制第 47 条注释,第 134 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:134
// 子代理生命周期(completed 单独处理:快照不产事件)第 48 条注释,第 139 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:139
// 上下文/压缩控制第 49 条注释,第 147 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:147
// 请求/工具快照(llm.request 与 usage.record 无稳定关联键,不并账)第 50 条注释,第 154 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:154
// token_counting 是上下文估算/累计表(非逐次 usage),计入会造成计算错误第 51 条注释,第 159 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:159
// 文件历史/杂项第 52 条注释,第 164 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:164
/// metadata 首行探测结果(家族共享;detect 与 scan 共用)。第 53 条注释,第 170 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:170
/// 首行探测结论:Pending(无完整行)/ Metadata(身份确认)/ NotMetadata第 54 条注释,第 171 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:171
/// (fail closed 原因)。IO 错误走 `Err`。第 55 条注释,第 179 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:179
/// 有界读取首行并按家族指纹识别 metadata 头。第 56 条注释,第 201 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:201
// 实读 1.4/1.5 均为字符串;非字符串形态按 None 处理(走注册表回退语义)。第 57 条注释,第 209 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:209
/// 持久化解析上下文(跨增量轮次的计数、对账累计与一次性诊断标志)。第 58 条注释,第 214 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:214
/// 事件键序号状态:同毫秒冲突时递增(本机实读未观测到冲突)。第 59 条注释,第 218 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:218
/// 对账累计(i64 饱和;回声侧只用于对账不用于计账)。第 60 条注释,第 219 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:219
/// 记录侧只累计 **turn scope**:session scope(压缩摘要)无回声第 61 条注释,第 220 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:220
/// (实读 1.4:1329 回声 == 1329 turn 记录;session 8 条全无回声)。第 62 条注释,第 271 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:271
/// epoch 毫秒合理性(实读全为毫秒;越界记诊断,不换算秒值)。第 63 条注释,第 276 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:276
/// 解析 usage 四互斥字段;缺失/类型错误/负值/超限返回 None(调用方记诊断跳过)。第 64 条注释,第 301 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:301
/// 由文件路径推导会话/代理身份:`…/<session>/agents/<agent>/wire.jsonl`第 65 条注释,第 302 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:302
/// (agent = 父目录名;session = 再上一层的 agents 目录的父目录名)。第 66 条注释,第 303 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:303
/// Kimi Work 1.4 的 usage.record 无 agentId 字段,身份只能来自目录。第 67 条注释,第 320 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:320
/// 构造一条 usage.record 事件(家族共享;身份与计算规则的依据见模块头)。第 68 条注释,第 337 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:337
// 稳定身份:ns + 会话目录 + 代理 + 记录侧 time + 同毫秒序号第 69 条注释,第 338 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:338
// (usage.record 无 uuid/messageId)。session/agent 段必需:本机 Kimi Work第 70 条注释,第 339 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:339
// 实测存在**跨文件同毫秒**的 usage.record(swarm 并行子代理与主线同毫秒第 71 条注释,第 340 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:340
// 完成 2 对),仅靠 time+序号会跨文件撞键(conflict 丢事件)。第 72 条注释,第 390 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:390
/// 家族共享增量扫描(kimi-code / kimi-work 的版本实现统一委托到这里)。第 73 条注释,第 448 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:448
// 版本分派(探测/扫描同一注册表,由产品目录注入)。第 74 条注释,第 493 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:493
// 同毫秒序号(重扫稳定的确定性身份)。第 75 条注释,第 524 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:524
// 实际样本中 session scope 是压缩摘要辅助调用;第 76 条注释,第 525 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:525
// turn scope 按代理身份:非 main 目录 = sub_agent。第 77 条注释,第 561 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:561
// step.end 的 event.usage 是 usage.record 的回声(防双计二选一):第 78 条注释,第 562 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:562
// 只累计对账,不产事件。第 79 条注释,第 575 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:575
// 主线快照:等于子代理 wire 截至 completed.time 的 Σ(M0 + 本机复证)。第 80 条注释,第 576 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:576
// 子代理 wire 已逐次入账 ⇒ 不产事件;仅计数供对账说明。第 81 条注释,第 619 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:619
// 回声对账只在读到文件尾时进行(文件仍在增长时半程对账无意义)。第 82 条注释,第 622 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:622
// 记录侧 = turn scope Σ;回声 ⊆ turn 记录(打断步无回声,实读 958/960):第 83 条注释,第 623 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:623
// 差值>0 是信息性子集关系;回声超过记录侧才是异常(格式变化信号)。第 84 条注释,第 650 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:650
// 主线 subagent.completed 快照:明细在子代理自己的 wire(另一文件/实例),第 85 条注释,第 651 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:651
// 本文件无对账明细侧——如实报告计数与 no_detail_in_file,不伪造比较。第 86 条注释,第 665 行
desktop/src-tauri/crates/core/src/adapters/kimi_wire.rs:665
// 无 usage 记录的文件是正常形态(如仅 error 步的 wire):不降级、不补零。