// @ts-nocheck import { unloadAllLocalModels, probeLocalModelsLoaded } from '../utils/model-manager.js'; import { log as auditLog } from '../utils/audit-log.js'; let _dialogOpen = false; let _allowLeave = false; export function showLeaveUnloadDialog({ ollama = 0, omlx = 0, sparkle = 0 } = {}) { if (_dialogOpen) return Promise.resolve(null); _dialogOpen = true; return new Promise((resolve) => { const parts = []; if (ollama > 0) parts.push(`Ollama ${ollama} 个`); if (omlx > 0) parts.push(`oMLX ${omlx} 个`); if (sparkle > 0) parts.push(`Sparkle ${sparkle} 个`); const loadedHint = parts.length ? `当前检测到已加载: ${parts.join(' + ')}。` : '关闭后本地模型可能仍占用统一内存。'; const overlay = document.createElement('div'); overlay.className = 'dialog-overlay'; overlay.innerHTML = `
是否卸载本地模型以释放内存?
${escapeHtml(loadedHint)}
卸载后下次对话需重新加载(首次响应会慢);保留则可立即继续对话。