feat: v0.8.2 安全纵深补全 · 协议保真 · 断链修复 — 图片SSRF/根MEMORY.md保护根治 · Anthropic thinking回传+pause_turn续传 · 2523 用例全量回归 + E2E 扩充
CI / 类型检查 + Lint + 单元测试 (push) Failing after 9m45s
CI / 全量测试 (Electron ABI) (push) Failing after 6m28s
CI / 产物编译验证 (push) Successful in 11m18s

This commit is contained in:
2026-09-08 14:30:27 +08:00
parent 69776e447f
commit 4cd6e997b5
86 changed files with 4303 additions and 956 deletions
+9 -1
View File
@@ -132,8 +132,9 @@ export class DatabaseService {
* 迁移 12(清理已废除的 llm.contextWindow 分 Provider 键与 ollama.numCtx)。
* v0.8.1 review: 4 → 5 —— 迁移 13working_memories 补 sessions 外键 CASCADE
* 孤儿行清理;根治历史 schema 缺失级联导致的孤儿数据)。
* v0.8.2: 5 → 6 —— 迁移 14(记忆表 embedding_model 列,嵌入模型指纹)。
*/
static readonly SCHEMA_VERSION = 5;
static readonly SCHEMA_VERSION = 6;
constructor(workspacePath?: string) {
const baseDir = workspacePath ?? join(app.getPath('userData'), 'MetonaWorkspaces', 'default');
@@ -751,6 +752,13 @@ export class DatabaseService {
}
}
// v0.8.2 P3-1 迁移 14: 记忆表 embedding_model 列(嵌入模型指纹)。
// 用户更换 memory.embeddingModel 后,旧 BLOB 以新查询向量算余弦 —— 维度
// 不同静默余弦为 0(降级 TF-IDF),同维不同模型产生噪声分数。现记录每条
// 向量的来源模型,检索时模型不匹配的向量视为缺失(惰性重算自愈)。
tryAddColumn('episodic_memories', 'embedding_model', 'TEXT');
tryAddColumn('semantic_memories', 'embedding_model', 'TEXT');
// v0.7.4 P4-4 迁移 9: messages_fts 升级 trigram tokenizer
// 存量库的 messages_fts 建表语句不含 trigram —— 直接 DROP + 重建 + rebuild
// 使中文非连续子串搜索(trigram ≥3 字符)可用。检测方式:读 sqlite_master 的