diff --git a/modules/ena-planner/ena-planner.html b/modules/ena-planner/ena-planner.html
index e803a0b..bb7309e 100644
--- a/modules/ena-planner/ena-planner.html
+++ b/modules/ena-planner/ena-planner.html
@@ -258,7 +258,7 @@
聊天与历史
@@ -684,7 +684,7 @@
$('ep_wb_pos4').value = String(toBool(cfg.excludeWorldbookPosition4, true));
$('ep_wb_exclude_names').value = arrToCsv(cfg.worldbookExcludeNames);
$('ep_plot_n').value = String(toNum(cfg.plotCount, 2));
- $('ep_keep_tags').value = arrToCsv(cfg.responseKeepTags || ['plot', 'note']);
+ $('ep_keep_tags').value = arrToCsv(cfg.responseKeepTags || ['plot', 'note', 'plot-log', 'state']);
$('ep_exclude_tags').value = arrToCsv(cfg.chatExcludeTags);
$('ep_logs_persist').value = String(toBool(cfg.logsPersist, true));
@@ -692,7 +692,7 @@
setBadge(toBool(cfg.enabled, true));
updatePrefixModeUI();
- const keepSelectedTemplate = $('ep_tpl_select')?.value || '';
+ const keepSelectedTemplate = cfg?.activePromptTemplate || $('ep_tpl_select')?.value || '';
renderTemplateSelect(keepSelectedTemplate);
renderPromptList();
renderLogs();
@@ -732,6 +732,7 @@
p.promptBlocks = cfg?.promptBlocks || [];
p.promptTemplates = cfg?.promptTemplates || {};
+ p.activePromptTemplate = $('ep_tpl_select')?.value || '';
return p;
}
@@ -799,6 +800,7 @@
$('ep_tpl_select').addEventListener('change', () => {
const name = $('ep_tpl_select').value;
+ cfg.activePromptTemplate = name;
if (!name) return;
const blocks = cfg?.promptTemplates?.[name];
if (!Array.isArray(blocks)) return;
@@ -811,6 +813,7 @@
if (!name) { setSaveIndicator('error', '请先选择或创建模板'); return; }
cfg.promptTemplates = cfg.promptTemplates || {};
cfg.promptTemplates[name] = structuredClone(cfg.promptBlocks || []);
+ cfg.activePromptTemplate = name;
renderTemplateSelect(name); scheduleSave();
});
@@ -819,6 +822,7 @@
if (!name) return;
cfg.promptTemplates = cfg.promptTemplates || {};
cfg.promptTemplates[name] = structuredClone(cfg.promptBlocks || []);
+ cfg.activePromptTemplate = name;
renderTemplateSelect(name); scheduleSave();
});
@@ -827,6 +831,7 @@
if (!name) return;
const backup = structuredClone(cfg.promptTemplates[name]);
delete cfg.promptTemplates[name];
+ cfg.activePromptTemplate = '';
renderTemplateSelect('');
showUndoBar(name, backup);
});
@@ -835,6 +840,7 @@
if (!undoState) return;
cfg.promptTemplates = cfg.promptTemplates || {};
cfg.promptTemplates[undoState.name] = undoState.blocks;
+ cfg.activePromptTemplate = undoState.name;
renderTemplateSelect(undoState.name);
clearUndo(); scheduleSave();
});
diff --git a/modules/ena-planner/ena-planner.js b/modules/ena-planner/ena-planner.js
index 2b2886c..52aa1a1 100644
--- a/modules/ena-planner/ena-planner.js
+++ b/modules/ena-planner/ena-planner.js
@@ -33,12 +33,14 @@ function getDefaultSettings() {
// Plot extraction
plotCount: 2,
// Planner response tags to keep, in source order (empty = keep full response)
- responseKeepTags: ['plot', 'note'],
+ responseKeepTags: ['plot', 'note', 'plot-log', 'state'],
// Planner prompts (designer)
promptBlocks: structuredClone(DEFAULT_PROMPT_BLOCKS),
// Saved prompt templates: { name: promptBlocks[] }
promptTemplates: structuredClone(BUILTIN_TEMPLATES),
+ // Currently selected prompt template name in UI
+ activePromptTemplate: '',
// Planner API
api: {