feat: v0.8.2 安全纵深补全 · 协议保真 · 断链修复 — 图片SSRF/根MEMORY.md保护根治 · Anthropic thinking回传+pause_turn续传 · 2523 用例全量回归 + E2E 扩充
This commit is contained in:
+8
-4
@@ -546,7 +546,10 @@ async function initialize(): Promise<void> {
|
||||
// 配置了 memory.embeddingModel(如 nomic-embed-text)时启用;否则 embedder 返回
|
||||
// null,MemoryManager 全量回退纯 TF-IDF 检索(历史行为兼容)。
|
||||
// adapter 经闭包动态读取 —— 故障转移/热重载后无需重新装配。
|
||||
// v0.8.2 P3-1: 注入 modelName 指纹 —— 用户更换 embedding 模型后旧向量按
|
||||
// 模型不匹配处理(检索时惰性重算自愈),不再产生跨模型噪声分数。
|
||||
memoryManager.setEmbedder({
|
||||
modelName: (configService.get<string>('memory.embeddingModel') ?? '').trim() || undefined,
|
||||
embed: async (text) => {
|
||||
const adapter = agentEngineManager.getAdapter();
|
||||
if (!(adapter instanceof OllamaAdapter)) return null;
|
||||
@@ -1052,10 +1055,11 @@ if (!gotSingleInstanceLock) {
|
||||
log.error('[Startup] Initialization failed:', err);
|
||||
try {
|
||||
dialog.showErrorBox(
|
||||
'MetonaAI Desktop 启动失败',
|
||||
`初始化过程中发生错误,应用即将退出。\n\n${(err as Error)?.message ?? String(err)}\n\n` +
|
||||
'可能原因:工作空间目录不可写、数据库文件损坏。\n' +
|
||||
'可尝试在设置中切换工作空间路径后重新启动。',
|
||||
// v0.8.2 P2-5: 启动失败对话框文案出层(ui.locale 已随配置初始化)
|
||||
mt('app.dialog.startupFailed.title'),
|
||||
mt('app.dialog.startupFailed.body', {
|
||||
message: (err as Error)?.message ?? String(err),
|
||||
}),
|
||||
);
|
||||
} catch {
|
||||
// showErrorBox 失败(极端环境)时仅保留日志
|
||||
|
||||
Reference in New Issue
Block a user