mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-18 11:45:51 +00:00
release: v2.2.8 [2026-06-16 15:53:20]
### 新功能 - **填表记录 · 版本恢复**(填表设置面板「回退重填」旁新增「填表记录」按钮):针对"模型填表前把整张表删空 / 误删大量内容"的反馈,提供一键找回。 - **零新存储**:直接复用各楼层 `extra.amily2_tables_data` 里逐轮继承的表格快照——历史本就在聊天中,无需另建存储或元数据 - 点开列出所有带快照的楼层(最新在上),可**展开预览**每一版的表格内容(CSV)后再决定 - **恢复某版本**:把该楼层快照设为当前状态,并清除其**之后**所有楼层的快照与填表标记 hash——使该版本成为最新有效状态,后续楼层下轮自动重填会从恢复点往前重建(赌模型不再抽风) - 「回退重填」按钮保留,但版本恢复是更安全的找回路径 ### 重构 - 抽出 `_normalizeTableState` 共用旧存档字段归一逻辑,`loadTables` 与"恢复快照"复用,消除重复 ---
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { extensionName } from "../../utils/settings.js";
|
||||
import { extension_settings } from "/scripts/extensions.js";
|
||||
import { saveSettingsDebounced } from "/script.js";
|
||||
import { saveSettingsDebounced, eventSource, event_types } from "/script.js";
|
||||
import { initializeSuperMemory, purgeSuperMemory, forceSyncAll } from "./manager.js";
|
||||
import { defaultSettings as ragDefaultSettings } from "../rag-settings.js";
|
||||
import { getMemoryState } from "../table-system/manager.js";
|
||||
@@ -131,10 +131,29 @@ export function bindSuperMemoryEvents() {
|
||||
});
|
||||
|
||||
loadSuperMemorySettings();
|
||||
|
||||
|
||||
// 切聊天后面板内容刷新:面板的表格列表只在挂载时渲染一次、之后仅靠手动「刷新表格列表」按钮,
|
||||
// 无 CHAT_CHANGED 监听 → 切换同卡不同聊天后列表停在旧聊天。这里补上:
|
||||
// 仅当面板可见时刷新;延后到表格系统的 loadTables(index.js 中 CHAT_CHANGED 后 100ms)之后,
|
||||
// 否则会渲染出尚未更新的旧 state(同 super-memory 同步那处规避的竞态)。
|
||||
eventSource.on(event_types.CHAT_CHANGED, () => {
|
||||
if (!panel.is(':visible')) return;
|
||||
setTimeout(refreshSuperMemoryPanel, 300);
|
||||
});
|
||||
|
||||
console.log('[Amily2-SuperMemory] Events bound successfully.');
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新超级记忆面板的动态内容(表格列表)。供「打开面板」与「切聊天」复用。
|
||||
* 仅重渲染随聊天变化的部分;全局开关/阈值等设置不随聊天变,无需重读。
|
||||
*/
|
||||
export function refreshSuperMemoryPanel() {
|
||||
const panel = $('#amily2_super_memory_panel');
|
||||
if (panel.length === 0) return;
|
||||
renderTableSettingsList();
|
||||
}
|
||||
|
||||
function renderTableSettingsList() {
|
||||
const container = $('#sm-table-settings-list');
|
||||
container.html('<div style="text-align: center; color: #888; padding: 20px;">正在加载...</div>');
|
||||
|
||||
Reference in New Issue
Block a user