From 0a85ff3dfa6332599fde72e8b70dcdc72bc3d5ec Mon Sep 17 00:00:00 2001 From: developer Date: Sat, 4 Apr 2026 22:13:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=80=89=E4=B8=AD=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E6=8C=81=E4=B9=85=E5=8C=96=E4=B8=BA=E9=BB=98=E8=AE=A4=EF=BC=8C?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E5=90=8E=E8=87=AA=E5=8A=A8=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E9=80=89=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/app.js | 9 +++++++-- js/components/model-bar.js | 9 ++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/js/app.js b/js/app.js index 8fbe6b8..757b946 100644 --- a/js/app.js +++ b/js/app.js @@ -23,10 +23,12 @@ console.log('[Metona] 模块化版本 v2.1.0 ' + new Date().toISOString()); // ── 会话管理 ── function createNewSession() { + const selectedModel = document.querySelector('#modelSelect')?.value || ''; + const defaultModel = selectedModel || state.get('_defaultModel', ''); return { id: generateId(), title: '新会话', - model: document.querySelector('#modelSelect')?.value || '', + model: defaultModel, messages: [], createdAt: Date.now(), updatedAt: Date.now() @@ -96,7 +98,10 @@ async function init() { // 7. 恢复上次选择的模型 const savedModel = await db.getSetting('selectedModel', ''); - if (savedModel) setSelectedModel(savedModel); + if (savedModel) { + setSelectedModel(savedModel); + state.set('_defaultModel', savedModel); + } // 8. 恢复系统提示词和上下文长度 const systemPromptEnabled = await db.getSetting('systemPromptEnabled', false); diff --git a/js/components/model-bar.js b/js/components/model-bar.js index 3294a96..7ec359a 100644 --- a/js/components/model-bar.js +++ b/js/components/model-bar.js @@ -23,6 +23,9 @@ export function initModelBar() { modelSelectEl.addEventListener('change', async () => { const model = modelSelectEl.value; if (db()) await db().saveSetting('selectedModel', model); + state.set('_defaultModel', model); + const session = state.get(KEYS.CURRENT_SESSION); + if (session) session.model = model; if (model) { await checkModelCapability(model); } else { @@ -70,9 +73,9 @@ export async function loadModels() { }); // 恢复上次选择的模型 - const currentSession = state.get(KEYS.CURRENT_SESSION); - if (currentSession?.model) { - modelSelectEl.value = currentSession.model; + const defaultModel = state.get('_defaultModel', ''); + if (defaultModel) { + modelSelectEl.value = defaultModel; } if (db()) await db().saveSetting('selectedModel', modelSelectEl.value);