跳转到内容

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):不降级、不补零。