feat: 选中模型持久化为默认,刷新后自动恢复选中
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user