desktop/src-tauri/crates/core/src/adapters/crush/common.rs
第 1 条注释,第 1 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:1
//! Crush 产品特有的公共部分(独立目录约定):第 2 条注释,第 2 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:2
//! 源库只读约定(复制自 adapters/goose/common.rs 的 hermes/kilo 同款实现)。第 3 条注释,第 3 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:3
//!(空行)第 4 条注释,第 4 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:4
//! 固定源码依据(charmbracelet/crush 1f3827bcd2d20f38076b2d46123683271e6ed9ba):第 5 条注释,第 5 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:5
//! - sessions.prompt_tokens/completion_tokens 是**最近一个非零 step 的上下文第 6 条注释,第 6 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:6
//! 规模快照**(agent.go:2060-2086 SET 覆盖;摘要后重置;标题请求另加一次),第 7 条注释,第 7 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:7
//! **不是用量累计** ⇒ 不作 token 统计(求和会虚增)。第 8 条注释,第 8 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:8
//! - sessions.cost 是累计(agent.go:2065),且子会话结束回卷进父行第 9 条注释,第 9 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:9
//! (coordinator.go:1742-1758)⇒ 只取 parent_session_id IS NULL 的根行第 10 条注释,第 10 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:10
//! (官方 stats.sql 规则相同)防双计。第 11 条注释,第 11 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:11
//! - messages 表无 token 列(model/provider 仅 assistant 消息携带)。第 12 条注释,第 13 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:13
// ---- 源库只读访问(复制自 adapters/hermes/common.rs,各目录独立约定)----第 13 条注释,第 21 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:21
/// 只读访问来源;探测出现 busy、locked 或 CANTOPEN 时切换到暂存副本。第 14 条注释,第 45 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:45
/// busy/锁/CANTOPEN 判定(这些错误表示无法一致读取)。第 15 条注释,第 55 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:55
/// 暂存副本参数(architecture.md:设置页/时间/空间上限并清理)。第 16 条注释,第 73 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:73
/// 打开只读连接,以较短 busy_timeout 限制探测等待,再按规则尝试暂存副本。第 17 条注释,第 86 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:86
/// Online Backup 到系统临时目录的一致暂存副本(从只读连接发起,不写源库)。第 18 条注释,第 117 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:117
// More:实际拷贝了页,计入空间限制。第 19 条注释,第 128 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:128
// Busy/Locked(#[non_exhaustive] 其余):无进展重试,仍计入超时时间。第 20 条注释,第 129 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:129
// 2026-09-30 修复:此前重试也计入页数,与超时出口竞速产生第 21 条注释,第 130 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:130
// 平台相关的 space cap 误报(CI Linux 页上限先于超时触发)。第 22 条注释,第 149 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:149
/// 只读探测 sessions.db;探测出现 busy 类错误时使用暂存副本,后续失败返回错误。第 23 条注释,第 150 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:150
/// 绝不写源库。第 24 条注释,第 177 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:177
/// 用简短 schema 查询探测访问,遵守 kilo 的规则。第 25 条注释,第 182 行
desktop/src-tauri/crates/core/src/adapters/crush/common.rs:182
/// cost-only 记录所需的 sessions 列;探测必须具备全部列。