mirror of
https://github.com/Cola-Echo/memory-manager-concurrent.git
synced 2026-06-06 03:05:51 +00:00
Complete RMA system for tracking relationship dynamics in roleplay: - 10 new modules in src/rma/ (analyzer, memory-store, phase-manager, worldbook-sync, float-panel, confirmation-ui, timeline-view, etc.) - Three-layer model: phases → memories (4 types) → emotional texture - Post-processing AI analysis via CHARACTER_MESSAGE_RENDERED hook - Dynamic world book entry toggling/rewriting - Floating panel UI with 3 states (expanded/half/minimized) - User confirmation flow (every_turn/important_only/auto modes) - Settings panel integration with independent API config - chat_metadata.cola_rma persistence Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
365 lines
15 KiB
Markdown
365 lines
15 KiB
Markdown
# Changelog
|
||
|
||
本文档记录所有重要的版本变更。
|
||
|
||
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
||
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
||
|
||
---
|
||
|
||
## [Unreleased]
|
||
|
||
---
|
||
|
||
## [0.6.0] - 2026-03-31
|
||
|
||
### RMA 关系记忆系统(全新模块)
|
||
- **新增**:`src/rma/` 模块(10个文件),实现完整的关系记忆架构
|
||
- `config-loader.js` — 从角色卡 `extensions.cola_rma_config` 加载 RMA 配置
|
||
- `memory-store.js` — 基于 `chat_metadata.cola_rma` 的记忆存储管理
|
||
- `analyzer.js` — 后处理 AI 分析引擎,独立 API 调用提取关系变化
|
||
- `response-hook.js` — 监听 `CHARACTER_MESSAGE_RENDERED` / `MESSAGE_DELETED` 事件
|
||
- `phase-manager.js` — 六阶段关系管理(stranger→bond),支持回退
|
||
- `worldbook-sync.js` — 世界书条目同步(阶段互斥切换、质感改写、事件解锁)
|
||
- `confirmation-ui.js` — 用户确认流程(每轮/仅重要/全自动三种模式)
|
||
- `float-panel.js` — 悬浮面板 UI(展开/半折叠/最小化三态)
|
||
- `timeline-view.js` — 记忆时间线视图
|
||
- **新增**:四种记忆类型 — breakthrough(⭐)、warmth(💛)、crack(⚡)、revelation(👁)
|
||
- **新增**:RMA 设置面板 — 启用开关、确认模式选择、面板状态偏好、独立 API 配置
|
||
- **新增**:`ui/rma-panel.html` — RMA 悬浮面板 HTML 模板
|
||
- **新增**:RMA 面板 CSS 样式,兼容已有多主题系统
|
||
|
||
---
|
||
|
||
## [0.5.0] - 2025-02-13
|
||
|
||
### 总结世界书拆分功能优化
|
||
- **优化**:Part 1 复用原总结世界书的 API 配置
|
||
- 用户只需配置 Part 2、3、4... 的 API
|
||
- 减少重复配置工作量
|
||
- **优化**:Part 配置界面统一
|
||
- 所有 Part 使用相同的完整配置弹窗
|
||
- 支持独立配置模型、API 地址、温度等参数
|
||
- **优化**:Part UI 样式统一
|
||
- Part 显示改为 `mm-chip` 样式,与记忆世界书分类一致
|
||
- 修复条目数和删除按钮挤在一起的布局问题
|
||
- **优化**:配置弹窗添加楼层+字符信息横幅
|
||
- 显示当前 Part 的楼层范围和字符数
|
||
- **修复**:发送前检查预览中 Part 名称显示
|
||
- 从 `Part floor_1_45` 改为 `Part 1 (1-45楼)` 格式
|
||
- 移除多余的 "(复用)" 标签
|
||
- **修复**:进度追踪器任务注册
|
||
- 启用拆分时正确注册每个 Part 为独立任务
|
||
- 修复进度条一直显示的问题
|
||
|
||
### Part 调试与合并功能
|
||
- **新增**:Part 结果调试弹窗
|
||
- 在总结世界书标题栏添加调试开关(虫子图标)
|
||
- 处理完成后显示各 Part 的原始返回内容
|
||
- 显示合并后的最终结果,方便排查问题
|
||
- **新增**:合并去重开关
|
||
- 在总结世界书标题栏添加去重开关(过滤器图标)
|
||
- 开启时:同一楼层保留内容最长的事件
|
||
- 关闭时:相同楼层的内容放在一起,保持原始顺序
|
||
- 仅在拆分模式下可用,非拆分模式无去重逻辑
|
||
- **优化**:合并逻辑改进
|
||
- 移除按楼层排序,保持 AI 返回的原始顺序(按关联性排序)
|
||
- 去重功能仅在拆分模式下生效,确保非拆分模式的多事件不被误删
|
||
|
||
### 配置管理优化
|
||
- **优化**:清除旧数据功能保留拆分配置
|
||
- 清除旧数据时保留 `summaryPartConfigs`(Part API 配置)
|
||
- 清除旧数据时保留 `summaryAutoSplit`(拆分功能设置)
|
||
- 避免用户误操作丢失已配置的 Part API
|
||
|
||
### 记忆搜索助手优化
|
||
- **修复**:记忆搜索助手支持拆分模式
|
||
- 启用拆分时,记忆搜索助手也会并发处理多个 Part
|
||
- 支持 Part 调试弹窗和去重开关
|
||
- 修复之前拆分模式下记忆搜索助手忽略拆分配置的问题
|
||
|
||
### Amily 表格并发优化
|
||
- **新增**:内置默认独立模板
|
||
- 添加 `prompts/table-filler/default-independent-template.json` 内置模板
|
||
- 独立模式自动加载内置默认模板,无需手动配置即可使用
|
||
- 模板编辑界面显示"内置默认"状态标识
|
||
- 用户编辑后自动转为自定义模板保存
|
||
- **新增**:恢复默认模板按钮
|
||
- 自定义模板旁显示恢复按钮,可一键恢复内置默认
|
||
- 设置面板显示"使用默认 X 个"状态提示
|
||
- **修复**:独立模式提示词重复问题
|
||
- 修复 flowTemplate 中原有指令与用户模板重复的问题
|
||
- 替换前先清理原有的 `<Instructions for filling out the form>` 和 `<需要更新的旧表格>` 标签
|
||
- **修复**:独立模式模板注入位置错误
|
||
- 修复用户模板被插入到错误位置的问题
|
||
- 改用 indexOf 替代正则匹配,提高标签定位可靠性
|
||
- 移除导致提前注入的 fallback 逻辑
|
||
- **优化**:替换标签名提示文案
|
||
- 更新悬停提示,说明默认标签名和替换逻辑
|
||
|
||
### UI 样式修复
|
||
- **修复**:图标切换按钮样式优化
|
||
- 拆分、去重、调试等开关按钮添加背景和边框
|
||
- 激活状态使用主题色填充,图标变白色
|
||
- 悬停效果更明显,与整体界面风格统一
|
||
- **修复**:输入框文字不可见问题
|
||
- 添加 `.mm-input` 通用样式类
|
||
- 修复"替换标签名"输入框白色文字在浅色背景不可见的问题
|
||
- 输入框颜色自动适配当前主题
|
||
- **优化**:标签过滤开关样式改进
|
||
- "提取模式"和"排除模式"改为按钮式开关
|
||
- 未启用时显示虚线边框和开关图标,更明显可点击
|
||
- 启用时显示实线边框和高亮背景
|
||
|
||
### 代码修复
|
||
- **修复**:`request-collector.js` 文件编码损坏问题
|
||
- 重写文件修复 UTF-8 编码
|
||
|
||
---
|
||
|
||
## [0.4.9] - 2025-02-12
|
||
|
||
### 总结世界书并发拆分功能(新功能)
|
||
- **新增**:自动检测与拆分
|
||
- 导入总结世界书时自动识别内容字数
|
||
- 约每 5 万字符自动拆分为一个 Part
|
||
- 允许浮动范围 4~6 万字符,确保段落完整性
|
||
- 在段落边界(`---` 分隔符)处拆分,不切断任何段落
|
||
- **新增**:Part 列表 UI
|
||
- 在主界面「总结世界书」区域下方显示拆分后的各个 Part
|
||
- 每个 Part 显示楼层范围和字符数
|
||
- 配置状态指示:已配置(绿色)/ 未配置(黄色)
|
||
- **新增**:Part 独立 API 配置
|
||
- 每个 Part 可点击配置独立的 API(复用现有配置弹窗)
|
||
- 配置按 Part ID 保存,内容变化时自动匹配已有配置
|
||
- **新增**:功能开关
|
||
- 在总结世界书分组标题右侧添加开关
|
||
- 用户可选择是否启用拆分功能
|
||
- **新增**:并发触发与结果合并
|
||
- 触发时同时发送多个 Part 的 API 请求
|
||
- 合并所有 Part 的 AI 回复,按楼层排序去重
|
||
|
||
### Amily表格并发增强
|
||
- **新增**:失败重试横幅通知(右下角 Win10 风格通知)
|
||
- 支持用户选择"重试"或"放弃"失败的表格
|
||
- 重试成功后自动从失败列表移除
|
||
- **新增**:调试弹窗功能
|
||
- 发送前检查:显示每个表格的提示词内容
|
||
- 合并后检查:显示各表格原始响应和合并结果
|
||
- **新增**:多主题适配支持
|
||
- 暖灰棕、淡紫薰衣草、森林绿、玫瑰灰、静谧蓝灰
|
||
- 星空紫、星空蓝、星空黑(含星星点缀动画效果)
|
||
|
||
### UI 改进
|
||
- **优化**:提示词模式改为分段控制器(Segmented Control)样式
|
||
- **优化**:调试模式改为独立行的 iOS 风格开关
|
||
- **修复**:已配置表格支持点击行打开编辑弹窗
|
||
- **优化**:刷新表格列表按钮改为图标模式,悬停显示提示
|
||
|
||
### 提示词处理优化
|
||
- **优化**:共享模式聚焦指令通用化(移除对预设阶段结构的依赖)
|
||
- **新增**:独立模式 V2 - 按名称存储模板
|
||
- 表格重排序不再影响配置
|
||
- 支持 `{{tableData}}`、`{{tableName}}`、`{{tableIndex}}` 占位符
|
||
- **新增**:标签精准替换功能(`<Instructions for filling out the form>`)
|
||
|
||
### 代码优化
|
||
- **优化**:表格拆分算法改进,支持多种格式解析
|
||
- 完整格式:`* 0:角色表\n【说明】...<角色表内容>...`
|
||
- 内容标签格式:`<角色表内容>...</角色表内容>`
|
||
- 简化标签格式:`<角色表>...</角色表>`
|
||
- **优化**:移除填表模式检查,只检测请求特征
|
||
- **新增**:XHR 拦截支持(覆盖 `$.ajax` 调用)
|
||
|
||
---
|
||
|
||
## [0.4.8] - 2025-02-10
|
||
|
||
### 新增功能
|
||
- **Amily表格并发**:为 Amily2 表格模块提供并发填表支持
|
||
- 拦截 Amily2 表格填充请求,将 7 个表格拆分后并发调用 API
|
||
- 支持双模式架构:拦截模式(立即可用)+ Bus 联动模式(预留接口)
|
||
- 支持两种提示词模式:共享模式(复用 Amily2 提示词)/ 独立模式(导入专用预设)
|
||
- 每个表格可配置独立 API,未配置的使用默认 API
|
||
- 自动检测 Amily2 填表模式兼容性(仅支持分步填表模式)
|
||
- 通过 Amily2Bus 暴露 `TableFillerProxy` 接口供未来 Amily2 调用
|
||
|
||
### 新增模块
|
||
- `src/table-filler/` - Amily表格并发核心模块
|
||
- `index.js` - 模块入口,双模式初始化
|
||
- `mode-manager.js` - 调用模式管理(auto/intercept_only/bus_only)
|
||
- `bus-integration.js` - Amily2Bus 联动集成
|
||
- `interceptor.js` - API 拦截器
|
||
- `table-splitter.js` - 表格数据拆分与合并
|
||
- `prompt-handler.js` - 提示词处理器
|
||
- `parallel-executor.js` - 并发执行器
|
||
- `src/ui/components/table-filler.js` - Amily表格并发 UI 组件
|
||
|
||
### 配置扩展
|
||
- `default-config.js` 新增 `tableFillerConfig` 配置结构
|
||
- `config-manager.js` 新增表格填表配置管理函数
|
||
|
||
### UI 更新
|
||
- 设置面板新增「Amily表格并发」折叠卡片
|
||
- 支持启用开关、调用模式选择、提示词模式切换
|
||
- 支持默认 API 配置和表格独立 API 配置(弹窗式配置界面)
|
||
- 支持并发预设 JSON 导入/导出
|
||
- 备注信息改为鼠标悬停提示,界面更简洁
|
||
|
||
---
|
||
|
||
## [0.4.7] - 2025-02-04
|
||
|
||
### 插件核心功能
|
||
- **修复**:插件拦截有几率失败导致插件无法启用的问题
|
||
- **新增**:主界面插件开关添加开启/关闭 toastr 通知提示
|
||
|
||
### 剧情优化助手
|
||
- **修复**:API 界面选择多个世界书导致无法单独选择条目的问题
|
||
- **修复**:剧情优化助手界面无法额外选择世界书的问题
|
||
|
||
### 发送前检查功能
|
||
- **修复**:未启用发送前检查功能导致插件无法正常生效的问题
|
||
- **改进**:默认显示流程配置按钮
|
||
|
||
### 汇总检查功能
|
||
- **新增**:添加编辑功能,方便对最终发送内容进行修改
|
||
|
||
### 多 AI 生成功能
|
||
- **新增**:预设提示词列表内容预览功能
|
||
- **修复**:单个提示词拖拽功能区域问题
|
||
- **修复**:提示词列表中聊天历史轮次设置显示问题
|
||
|
||
### 标签过滤功能
|
||
- **新增**:用户消息与 AI 消息独立标签过滤
|
||
- **修复**:前文内容来源未应用标签过滤配置的问题
|
||
- `getRecentContext()` 现在正确使用 `filterContentByRole()` 处理新格式配置
|
||
- `processor.js` 中最近剧情截取也已修复
|
||
- `plot-optimize.js` 中剧情优化助手预览和面板的前文内容也已修复
|
||
- **改进**:在 `tag-filter.js` 添加调用位置汇总注释,方便后续维护
|
||
|
||
### 世界书控制
|
||
- **新增**:世界书条目多选支持
|
||
- **改进**:统计卡片可折叠,优化界面空间
|
||
- **改进**:选中状态持久化保存
|
||
|
||
### 配置管理
|
||
- **新增**:提示词/流程配置持久化缓存
|
||
- 加载优先级:持久化缓存 → 服务器 → 回退到缓存
|
||
- 解决网络不稳定时加载卡住或失败的问题
|
||
- 支持离线使用已缓存的配置
|
||
- **改进**:恢复默认功能从服务器强制刷新获取最新内置配置
|
||
- **改进**:提示词编辑器切换类型时不再卡顿
|
||
|
||
### 技术细节
|
||
- `prompt-template.js`:使用 `BUILTIN_CACHE_PREFIX` 区分内置缓存和用户导入
|
||
- `flow-config.js`:使用 `FLOW_CONFIG_CACHE_KEY` 持久化默认流程配置
|
||
- `prompt-editor.js`:文件列表和内容加载均支持持久化优先
|
||
- `ui/panel.html`:添加作者栏区域注释,方便版本号定位
|
||
|
||
---
|
||
|
||
## [0.4.1] - 2025-01-21
|
||
|
||
### 重大变更
|
||
- **模块化重构**:将 18,000+ 行单文件拆分为模块化架构
|
||
- 使用 Webpack 打包,入口文件从 `index.js` 改为 `dist/index.js`
|
||
- 打包后体积从 729KB 减少到 123KB
|
||
|
||
### 新增
|
||
- 完整的模块化源代码目录 `src/`
|
||
- 模块参考手册 `docs/MODULE_REFERENCE.md`
|
||
- 路径别名支持(@core, @config, @ui 等)
|
||
|
||
### 改进
|
||
- 提示词编辑器:修复另存为后切换类型文件消失的问题
|
||
- 提示词编辑器:优化文件类型识别(优先使用文件名前缀)
|
||
- 移除 HEAD 请求探测(SillyTavern 不支持),改用 manifest.json
|
||
- 修复 CSRF Token 缺失问题
|
||
|
||
### 模块结构
|
||
```
|
||
src/
|
||
├── core/ # 核心模块(日志、常量、错误处理、ST API)
|
||
├── config/ # 配置管理(配置、默认值、世界书、提示词)
|
||
├── worldbook/ # 世界书处理(API、解析、刷新)
|
||
├── api/ # AI API 调用(适配器、各提供商)
|
||
├── memory/ # 记忆处理(处理器、合并、提示词构建)
|
||
├── hooks/ # 钩子拦截(发送按钮、拦截器)
|
||
├── ui/ # 用户界面(组件、弹窗、事件)
|
||
└── utils/ # 工具函数(消息、标签过滤、模板)
|
||
```
|
||
|
||
---
|
||
|
||
## [0.4.0] - 2025-01-20
|
||
|
||
### 重大变更
|
||
- 切换到官方 Generate Interceptor API,替代不稳定的发送按钮 Hook 机制
|
||
- 修复浏览器刷新后消息拦截失败的问题
|
||
|
||
### 新增
|
||
- 标准化数据持久化(使用 SillyTavern extensionSettings API)
|
||
- 自动从 localStorage 迁移旧数据
|
||
- 事件监听器清理机制,防止内存泄漏
|
||
- 自定义错误类型和统一错误处理
|
||
|
||
### 改进
|
||
- 移除约 200 行不稳定的发送按钮 Hook 代码
|
||
- 规范化 API 使用,添加详细注释说明
|
||
- 简化初始化流程
|
||
- 配置默认值递归合并,支持版本升级时自动补充新字段
|
||
- 插件开关移至主界面顶部,改为开关按钮样式
|
||
- AI 配置和配置管理改为折叠卡片样式
|
||
- 优化日志输出:Logger.warn 受 showLogs 控制
|
||
|
||
### 修复
|
||
- 修复刷新后拦截器失效问题
|
||
- 修复数据持久化不一致问题
|
||
- 修复各折叠容器间距不一致问题
|
||
- 修复总结世界书内容读取问题
|
||
- 兼容 SillyTavern 的 disable 字段
|
||
- 修复总结世界书分类识别问题
|
||
|
||
### 安全
|
||
- 修复 XSS 漏洞(使用 DOMPurify 清理 HTML)
|
||
- 修复 CSRF 令牌问题
|
||
- 清理死代码和注释代码块
|
||
|
||
### 文档
|
||
- 创建独立的 README.md 项目概览
|
||
- 创建 CHANGELOG.md 版本历史
|
||
- 完善 manifest.json 元数据
|
||
- 重组文档目录结构
|
||
|
||
---
|
||
|
||
## 版本说明
|
||
|
||
v0.4.0 之前的版本为早期开发阶段,未维护详细更新日志。
|
||
从 v0.4.0 开始,所有变更将严格记录在此文档中。
|
||
|
||
### 早期版本概要
|
||
|
||
**v0.3.0**
|
||
- 插件开关移至主界面顶部
|
||
- 优化日志输出
|
||
- UI 样式改进
|
||
|
||
**v0.2.x**
|
||
- 配置存储改<E582A8><E694B9>使用 SillyTavern 扩展设置 API
|
||
- 移除悬浮球,改为使用酒馆扩展菜单入口
|
||
- 新增世界书自动监听功能
|
||
- 发送消息前自动刷新世界书数据
|
||
|
||
**v0.1.x**
|
||
- 初始版本
|
||
- 基本的记忆检索和注入功能
|
||
- 进度条和任务管理
|
||
- 移动端适配
|
||
|
||
---
|
||
|
||
[Unreleased]: https://github.com/Cola-Echo/memory-manager-concurrent/compare/v0.4.0...HEAD
|
||
[0.4.0]: https://github.com/Cola-Echo/memory-manager-concurrent/releases/tag/v0.4.0
|