feat: 选中模型持久化为默认,刷新后自动恢复选中
This commit is contained in:
@@ -23,10 +23,12 @@ console.log('[Metona] 模块化版本 v2.1.0 ' + new Date().toISOString());
|
|||||||
// ── 会话管理 ──
|
// ── 会话管理 ──
|
||||||
|
|
||||||
function createNewSession() {
|
function createNewSession() {
|
||||||
|
const selectedModel = document.querySelector('#modelSelect')?.value || '';
|
||||||
|
const defaultModel = selectedModel || state.get('_defaultModel', '');
|
||||||
return {
|
return {
|
||||||
id: generateId(),
|
id: generateId(),
|
||||||
title: '新会话',
|
title: '新会话',
|
||||||
model: document.querySelector('#modelSelect')?.value || '',
|
model: defaultModel,
|
||||||
messages: [],
|
messages: [],
|
||||||
createdAt: Date.now(),
|
createdAt: Date.now(),
|
||||||
updatedAt: Date.now()
|
updatedAt: Date.now()
|
||||||
@@ -96,7 +98,10 @@ async function init() {
|
|||||||
|
|
||||||
// 7. 恢复上次选择的模型
|
// 7. 恢复上次选择的模型
|
||||||
const savedModel = await db.getSetting('selectedModel', '');
|
const savedModel = await db.getSetting('selectedModel', '');
|
||||||
if (savedModel) setSelectedModel(savedModel);
|
if (savedModel) {
|
||||||
|
setSelectedModel(savedModel);
|
||||||
|
state.set('_defaultModel', savedModel);
|
||||||
|
}
|
||||||
|
|
||||||
// 8. 恢复系统提示词和上下文长度
|
// 8. 恢复系统提示词和上下文长度
|
||||||
const systemPromptEnabled = await db.getSetting('systemPromptEnabled', false);
|
const systemPromptEnabled = await db.getSetting('systemPromptEnabled', false);
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ export function initModelBar() {
|
|||||||
modelSelectEl.addEventListener('change', async () => {
|
modelSelectEl.addEventListener('change', async () => {
|
||||||
const model = modelSelectEl.value;
|
const model = modelSelectEl.value;
|
||||||
if (db()) await db().saveSetting('selectedModel', model);
|
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) {
|
if (model) {
|
||||||
await checkModelCapability(model);
|
await checkModelCapability(model);
|
||||||
} else {
|
} else {
|
||||||
@@ -70,9 +73,9 @@ export async function loadModels() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 恢复上次选择的模型
|
// 恢复上次选择的模型
|
||||||
const currentSession = state.get(KEYS.CURRENT_SESSION);
|
const defaultModel = state.get('_defaultModel', '');
|
||||||
if (currentSession?.model) {
|
if (defaultModel) {
|
||||||
modelSelectEl.value = currentSession.model;
|
modelSelectEl.value = defaultModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (db()) await db().saveSetting('selectedModel', modelSelectEl.value);
|
if (db()) await db().saveSetting('selectedModel', modelSelectEl.value);
|
||||||
|
|||||||
Reference in New Issue
Block a user