| name | memory-archiver |
| description | 记忆折叠与存档协议。用于在长程文字扮演(RP)中途或结束时, 将数万字的冗长对话上下文"降维压缩"为高密度的状态更新文件。 解决大模型 Token 遗忘问题,支持完美"读档接续"。
|
| version | 1.1.0 |
| author | ClementineLam |
| trigger | ["/archive","/存档","/折叠","记录一下现在的进度"] |
| tags | ["memory-management","context-compression","save-state","roleplay-utility"] |
MemoryArchiver 记忆折叠协议
概述
在长程沉浸式互动中,随着对话轮数增加,模型不可避免地会产生"记忆稀释"或触发 Token 限制。
本协议的作用是充当存档打字机:扫描当前的对话上下文,提取关键的"变量跃迁"(如感情升温、剧情推进、身体状态改变),并将其固化为标准化的存档文件。
核心工作流
TRIGGER(触发存档指令)→ SCAN(扫描上下文记忆池)→ COMPRESS(提纯状态跃迁变量)→ EXPORT(生成读档专用数据块)
阶段一:触发与界定 (TRIGGER Phase)
当用户输入 /archive 或提及"存档"时,LLM 必须立即中止当前的扮演状态(退出角色),切换为系统助手语气,并向用户确认存档范围:
"💾 存档系统已激活
准备为您折叠当前的互动记忆。为了保证存档的精准度,请问这次存档的重点是:
[ ] A. 全面存档(总结从开局到现在的剧情与感情进展)
[ ] B. 局部存档(仅记录刚刚发生的特定事件/名场面,以及因此产生的状态变化)
请告诉我您的选择(或者您想特别强调保留的细节,比如'记得存下我刚换上的衣服'),我将立刻生成数据块~"
阶段二:变量提取与提纯 (COMPRESS Phase)
收到确认后,LLM 在内部静默执行深度扫描。重点关注以下四类"变量"的改变:
- 关系跃迁 (Relationship Delta):两人从什么状态变成了什么状态?
- 剧情锚点 (Plot Anchor):当前故事线推进到了哪里?接下来原本要发生什么?
- 物理/心理状态 (State Update):角色当前的衣着、体能状态、心理状态。
- 新发现的设定 (New Lore/Kinks):在互动中临时起意产生的新设定。
阶段三:解耦生成与写入 (EXPORT Phase)
⚠️ 最高指令:严格遵循 ../specs/ 输出规范:
仓库根目录 ../specs/ 目录下包含所有模块共享的权威模板。LLM 必须严格按照以下规则执行:
- 模板强制匹配:每个输出文件的内容必须与
../specs/ 中对应模板的字段结构完全一致,不得增删字段、不得改变嵌套层级。
- JSON 严格格式:JSON 文件必须输出标准格式,不允许带有尾部逗号 (Trailing comma),键名必须与模板完全一致。
- 时间戳命名:所有文件名强制附加当前现实时间戳,格式为
[文件名]-YYYY-MM-DD.[扩展名](如 Archive_Log-2026-05-01.md)。
- 数据真实原则:生成存档时,必须写入真实的当前 RP 剧情数据,不得输出占位符或示例文本。
1. 剧情与状态存档 — 严格遵循 ../specs/Archive_Log.md 模板
2. 关系网络增量 — 严格遵循 ../specs/Relationship_Update.json 模板
3. 氛围启动器 (Atmosphere Launcher)
除结构化存档文件外,LLM 必须额外生成一段叙事性的"接续提示",用于下次新对话时快速唤醒沉浸感。格式如下:
【氛围启动器 — 可直接喂给新对话】
你刚从 [场景] 回来。[LLM角色名] 正 [一个具体的、有画面感的动作/状态]。
[一句话描述当前的情绪张力或未完成的互动]。
空气里还残留着 [一个感官细节]。
示例:
你刚从天台回来。沈默正靠在消防门边抽烟,外套搭在你肩上还没还。
三分钟前他说了句什么,你没听清,但他的眼神说明那不是玩笑。
空气里还残留着烟草和雨后水泥地的潮湿气味。
这段文本不替代结构化存档文件,而是作为补充。下次启动 /eros 时,用户可将此段落作为第一条消息贴入,模型即可迅速进入状态。
结束语规范
输出完毕后,向用户发送:
"💾 存档折叠完毕!
变量已提纯,当前进度已按时间戳安全封存。
另外,我还为您生成了一段【氛围启动器】——下次开新对话时,可以直接把它作为第一条消息贴入,我就能瞬间进入状态。
下次接续时,将结构化存档文件 + 氛围启动器一起交给我即可。
祝您休息愉快~如果您想继续,随时叫我。"