跳转到内容

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 列;探测必须具备全部列。