mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 22:30:38 +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",
|
extractWorldbookMode: "active",
|
||||||
extractIncludeStoryTime: true,
|
extractIncludeStoryTime: true,
|
||||||
extractIncludeSummaries: true,
|
extractIncludeSummaries: true,
|
||||||
|
extractActionMode: "pending",
|
||||||
|
|
||||||
// 召回设置
|
// 召回设置
|
||||||
recallEnabled: true,
|
recallEnabled: true,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import {
|
|||||||
} from "../runtime/settings-defaults.js";
|
} from "../runtime/settings-defaults.js";
|
||||||
|
|
||||||
assert.equal(defaultSettings.extractContextTurns, 2);
|
assert.equal(defaultSettings.extractContextTurns, 2);
|
||||||
|
assert.equal(defaultSettings.extractActionMode, "pending");
|
||||||
assert.equal(defaultSettings.extractAutoDelayLatestAssistant, false);
|
assert.equal(defaultSettings.extractAutoDelayLatestAssistant, false);
|
||||||
assert.equal(defaultSettings.recallTopK, 20);
|
assert.equal(defaultSettings.recallTopK, 20);
|
||||||
assert.equal(defaultSettings.recallMaxNodes, 8);
|
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");
|
const btn = document.getElementById("bme-act-extract");
|
||||||
if (btn?.disabled) return;
|
if (btn?.disabled) return;
|
||||||
const mode =
|
const mode =
|
||||||
String(document.getElementById("bme-extract-mode")?.value || "pending")
|
String(
|
||||||
|
document.getElementById("bme-extract-mode")?.value ||
|
||||||
|
(_getSettings?.() || {}).extractActionMode ||
|
||||||
|
"pending",
|
||||||
|
)
|
||||||
.trim()
|
.trim()
|
||||||
.toLowerCase() === "rerun"
|
.toLowerCase() === "rerun"
|
||||||
? "rerun"
|
? "rerun"
|
||||||
@@ -4534,6 +4538,10 @@ function _refreshConfigTab() {
|
|||||||
"bme-setting-wi-filter-keywords",
|
"bme-setting-wi-filter-keywords",
|
||||||
settings.worldInfoFilterCustomKeywords || "",
|
settings.worldInfoFilterCustomKeywords || "",
|
||||||
);
|
);
|
||||||
|
_setInputValue(
|
||||||
|
"bme-extract-mode",
|
||||||
|
settings.extractActionMode || "pending",
|
||||||
|
);
|
||||||
const wiFilterCustomSection = panelEl?.querySelector(
|
const wiFilterCustomSection = panelEl?.querySelector(
|
||||||
"#bme-wi-filter-custom-section",
|
"#bme-wi-filter-custom-section",
|
||||||
);
|
);
|
||||||
@@ -4954,6 +4962,19 @@ function _bindConfigControls() {
|
|||||||
});
|
});
|
||||||
noticeDisplayModeEl.dataset.bmeBound = "true";
|
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(
|
const cloudStorageModeEl = document.getElementById(
|
||||||
"bme-setting-cloud-storage-mode",
|
"bme-setting-cloud-storage-mode",
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user