跳转到内容

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:1

//! MiMo Code 产品特有的公共部分(独立目录约定 architecture.md#adapter-layout):

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:2

//! - 指纹要求 message.agent_id;所引用 MiMo session 没有

第 3 条注释,第 3 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:3

//! tokens_* 累计列,所引用 OpenCode schema 缺少 agent_id,不能通过此指纹。

第 4 条注释,第 4 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:4

//! - state 库只读访问实现(只读连接 + Online Backup 暂存副本):

第 5 条注释,第 5 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:5

//! 小工具函数复制自 `adapters/kilo/common.rs`(各 Agent 目录保持独立,

第 6 条注释,第 6 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:6

//! 不共享模块;kilo 版本为 M3 已验收实现,语义一致仅前缀/注释不同)。

第 7 条注释,第 7 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:7

//!(空行)

第 8 条注释,第 8 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:8

//! 固定源码依据(A14,commit 456678b6a5afb0eef3fe2754575637218cfb3c84):

第 9 条注释,第 9 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:9

//! - packages/shared/src/global.ts 的 resolveMimocodeHome 使用 MIMOCODE_HOME,

第 10 条注释,第 10 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:10

//! (须绝对路径)→ `<home>/{data,cache,config,state}`;否则 XDG 默认

第 11 条注释,第 11 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:11

//! `$XDG_DATA_HOME/mimocode`(缺省 ~/.local/share/mimocode);

第 12 条注释,第 12 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:12

//! - `packages/opencode/src/storage/db.ts`:库文件 `data/mimocode.db`

第 13 条注释,第 13 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:13

//! (通道变体 `mimocode-<channel>.db`);WAL 模式;

第 14 条注释,第 14 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:14

//! - `packages/opencode/src/session/session.sql.ts`:`session`(含

第 15 条注释,第 15 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:15

//! parent_id/version;**无** tokens_* 累计列)、`message`(含

第 16 条注释,第 16 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:16

//! `agent_id` 默认 'main')、`part` 三表逐字列名;

第 17 条注释,第 17 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:17

//! - packages/opencode/src/session/message-v2.ts 的 StepFinishPart 定义

第 18 条注释,第 18 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:18

//! zod token 字段为 total?、input、output、reasoning、cache{read, write}。

第 19 条注释,第 26 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:26

// ---- 源库只读访问(复制自 adapters/kilo/common.rs,各目录独立约定)----

第 20 条注释,第 28 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:28

/// 只读访问来源;探测出现 busy、locked 或 CANTOPEN 时切换到暂存副本。

第 21 条注释,第 29 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:29

/// 暂存副本 guard 保存路径,drop 时清理,包括查询中途失败。

第 22 条注释,第 53 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:53

/// busy/锁/CANTOPEN 判定(这些错误表示无法一致读取)。

第 23 条注释,第 63 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:63

/// 暂存副本参数(architecture.md:设置页/时间/空间上限并清理)。

第 24 条注释,第 81 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:81

/// 打开只读连接,以较短 busy_timeout 限制探测等待,再按规则尝试暂存副本。

第 25 条注释,第 94 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:94

/// Online Backup 到系统临时目录的一致暂存副本(从只读连接发起,不写源库)。

第 26 条注释,第 125 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:125

// More:实际拷贝了页,计入空间限制。

第 27 条注释,第 136 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:136

// Busy/Locked(#[non_exhaustive] 其余):无进展重试,仍计入超时时间。

第 28 条注释,第 137 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:137

// 2026-09-30 修复:此前重试也计入页数,与超时出口竞速产生

第 29 条注释,第 138 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:138

// 平台相关的 space cap 误报(CI Linux 页上限先于超时触发)。

第 30 条注释,第 157 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:157

/// 只读探测 mimocode.db;探测出现 busy 类错误时使用暂存副本,后续失败返回错误。

第 31 条注释,第 158 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:158

/// 绝不写源库。

第 32 条注释,第 185 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:185

/// 用简短 schema 查询探测访问,遵守 kilo 的规则。

第 33 条注释,第 190 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:190

// ---- schema 指纹(固定源码 session.sql.ts 表/列名摘要;只含表/列名)----

第 34 条注释,第 192 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:192

/// part 逐次用量所需列使用 session.sql.ts PartTable 的原始列名。

第 35 条注释,第 201 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:201

/// session 所需列为身份、父会话、版本;所引用 MiMo schema 没有累计列,

第 36 条注释,第 202 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:202

/// 不作 session 累计对账;OpenCode 缺少所需的 message.agent_id。

第 37 条注释,第 204 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:204

/// MiMo 特有 message.agent_id 默认 main,可区分所引用的两个 schema。

第 38 条注释,第 205 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:205

/// data JSON 携带 assistant 的 modelID/providerID(message-v2.ts zod)。

第 39 条注释,第 208 行

desktop/src-tauri/crates/core/src/adapters/mimo-code/common.rs:208

/// 计算 schema 指纹(表缺失/关键列缺失返回 None)。