previous-draft/collectors/codex.py
第 1 条注释,第 1 行
previous-draft/collectors/codex.py:1
# 文件编码为 UTF-8;保留原生编码声明。第 2 条注释,第 2 行
previous-draft/collectors/codex.py:2
"""codex 采集器:~/.codex/sessions/**/rollout-*.jsonl 的 token_usage_record。
input_tokens 含缓存命中部分,这里拆分为:input = input_tokens - cached_input_tokens,cache_read = cached_input_tokens,cache_write = cache_write_input_tokens。
模型名跟踪:usage 记录本身不带模型,模型出现在 event_msg(thread_settings_applied)等行里。增量读取时新数据块可能只含 usage 行,因此:1. 每个文件的"最近已知模型"持久化到 source_state(model:<path>),跨增量块保留;2. 仍解析不出模型的事件,按时间戳回扫全文件,取最近一条不晚于该事件的模型行补齐。"""第 3 条注释,第 36 行
previous-draft/collectors/codex.py:36
"""全文件扫描模型行,返回按文件顺序的 (ts, model) 列表(跳过 usage 行)。"""第 4 条注释,第 58 行
previous-draft/collectors/codex.py:58
"""取最近一条 ts_model <= ts 的模型行;事件早于首条模型行时用首条。"""第 5 条注释,第 81 行
previous-draft/collectors/codex.py:81
# 未解析出模型的事件下标