Files
memory-manager-concurrent/CHANGELOG.md
Cola-Echo 10ea8cc1f4 feat: add RMA (Relationship Memory Architecture) module v0.6.0
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>
2026-03-31 23:23:41 +08:00

15 KiB
Raw Permalink Blame History

Changelog

本文档记录所有重要的版本变更。

格式基于 Keep a Changelog 版本号遵循 语义化版本


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 返回的原始顺序(按关联性排序)
    • 去重功能仅在拆分模式下生效,确保非拆分模式的多事件不被误删

配置管理优化

  • 优化:清除旧数据功能保留拆分配置
    • 清除旧数据时保留 summaryPartConfigsPart 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

  • 配置存储改<EFBFBD><EFBFBD>使用 SillyTavern 扩展设置 API
  • 移除悬浮球,改为使用酒馆扩展菜单入口
  • 新增世界书自动监听功能
  • 发送消息前自动刷新世界书数据

v0.1.x

  • 初始版本
  • 基本的记忆检索和注入功能
  • 进度条和任务管理
  • 移动端适配