mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 14:20:35 +08:00
feat: persist extract action mode selection across panel sessions
- Add extractActionMode setting (default: pending) to settings-defaults.js - Panel refresh restores dropdown from settings.extractActionMode - Dropdown change event persists selection via _patchSettings - Extract button reads settings as fallback when DOM value missing - Add default value assertion in tests/default-settings.mjs
This commit is contained in:
@@ -29,6 +29,7 @@ export const defaultSettings = {
|
||||
extractWorldbookMode: "active",
|
||||
extractIncludeStoryTime: true,
|
||||
extractIncludeSummaries: true,
|
||||
extractActionMode: "pending",
|
||||
|
||||
// 召回设置
|
||||
recallEnabled: true,
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
} from "../runtime/settings-defaults.js";
|
||||
|
||||
assert.equal(defaultSettings.extractContextTurns, 2);
|
||||
assert.equal(defaultSettings.extractActionMode, "pending");
|
||||
assert.equal(defaultSettings.extractAutoDelayLatestAssistant, false);
|
||||
assert.equal(defaultSettings.recallTopK, 20);
|
||||
assert.equal(defaultSettings.recallMaxNodes, 8);
|
||||
|
||||
23
ui/panel.js
23
ui/panel.js
@@ -4036,7 +4036,11 @@ function _bindActions() {
|
||||
const btn = document.getElementById("bme-act-extract");
|
||||
if (btn?.disabled) return;
|
||||
const mode =
|
||||
String(document.getElementById("bme-extract-mode")?.value || "pending")
|
||||
String(
|
||||
document.getElementById("bme-extract-mode")?.value ||
|
||||
(_getSettings?.() || {}).extractActionMode ||
|
||||
"pending",
|
||||
)
|
||||
.trim()
|
||||
.toLowerCase() === "rerun"
|
||||
? "rerun"
|
||||
@@ -4534,6 +4538,10 @@ function _refreshConfigTab() {
|
||||
"bme-setting-wi-filter-keywords",
|
||||
settings.worldInfoFilterCustomKeywords || "",
|
||||
);
|
||||
_setInputValue(
|
||||
"bme-extract-mode",
|
||||
settings.extractActionMode || "pending",
|
||||
);
|
||||
const wiFilterCustomSection = panelEl?.querySelector(
|
||||
"#bme-wi-filter-custom-section",
|
||||
);
|
||||
@@ -4954,6 +4962,19 @@ function _bindConfigControls() {
|
||||
});
|
||||
noticeDisplayModeEl.dataset.bmeBound = "true";
|
||||
}
|
||||
const extractModeEl = document.getElementById("bme-extract-mode");
|
||||
if (extractModeEl && extractModeEl.dataset.bmeBound !== "true") {
|
||||
extractModeEl.addEventListener("change", () => {
|
||||
_patchSettings({
|
||||
extractActionMode:
|
||||
String(extractModeEl.value || "pending").trim().toLowerCase() ===
|
||||
"rerun"
|
||||
? "rerun"
|
||||
: "pending",
|
||||
});
|
||||
});
|
||||
extractModeEl.dataset.bmeBound = "true";
|
||||
}
|
||||
const cloudStorageModeEl = document.getElementById(
|
||||
"bme-setting-cloud-storage-mode",
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user