Skip to content

记忆系统

📚 记忆系统

记忆系统是 niko-hub 的核心引擎。每章正式保存后,系统自动执行章节摄取,将正文内容结构化为可检索、可追踪、可复用的记忆单元。

章节摄取提取的内容

  • 章节摘要与结尾钩子
  • 出场人物、地点、组织、物品
  • 关键事件与状态变化
  • 人物关系变化与角色认知变化
  • 伏笔新增 / 推进 / 回收
  • 时间线事件
  • 图谱节点与关系边

上下文引擎(写作前自动触发)

每次调用 LLM 写作前,系统自动生成上下文包,按优先级组装:

用户明确指定 > 当前章节细纲 > 上一章结尾 > Canon 正史规则
> 当前人物状态 > 伏笔状态 > 最近章节摘要 > 最近章节正文片段 > 图谱关系
> 向量搜索结果 > 关键词搜索结果

上下文包有 token 预算控制,自动在保证关键信息不遗漏的前提下裁剪内容;发送前还会按当前模型的真实输入上限再次裁剪并重试,避免长章节历史超出接口限制。

ContextPack 决策回放(v2.6.0+):

发送给 LLM 的上下文包在聊天窗口内提供可折叠的决策回放面板。面板逐条展示当时组入了哪些记忆、各来源检索命中了什么、为何这样取舍顺序——写作者可直接追溯每次生成所依据的上下文,理解”AI 为什么这样写”。

混合检索策略

  • 最近章节窗口:直接获取最近 N 章的正文片段(长章节同时保留开头与结尾)+ 摘要
  • 关键词搜索:BM25 风格的精确匹配
  • 向量搜索:语义级别的相似内容检索
  • 图谱搜索:沿关系边扩展相关节点
  • Canon 规则:强制注入的不可违背设定

数据存储方式

所有记忆数据以项目目录形式本地存储,章节正文保存为 Markdown,快照与状态保存为 JSON。支持导出、备份和索引重建。

摄取与索引增强(v2.6.0+)

  • EPUB/HTML 特化摄取 + 提取器注册表:导入 EPUB/HTML 参考素材时走特化管线,按文档类型自动分派对应提取器;缓存键已版本化,解析升级后旧缓存自动失效,避免沿用过期提取结果
  • 跨页 chunk 指纹去重:为 chunk 建立 SHA-256 指纹索引,跨页 / 跨章节的重复片段只入库一次,检索结果更精准,向量库随重复内容增长受控
  • chunk 表自动 compaction + 对账:存储会自动压缩碎片化记录,并配套纯函数对账校验索引一致性,长线写作下数据不漂移

检索增强与信任审计(v2.7.8,64 号实施)

  • chunk 标注入库:chunk-annotation 为摄取 chunk 打结构化标注(来源/位置/指纹),检索可溯源
  • RAG 注入审计 12/12 全层覆盖:prompt-injection-auditor 9 规则零 LLM 机械扫描,layer-8(LLM Security Auditor)回注后注入审计矩阵全覆盖
  • FTS5 持久 bigram 索引:rebuildWikiFtsIndex 可重建(索引 schema 变更 / 恢复后触发),中文按 bigram 倒排 + BM25 打分
  • 查询分解:decomposeNovelQuery 按意图(classifyNovelIntent)生成子查询计划(buildQueryPlan),复杂查询拆解后分别检索
  • multi-query RRF 融合:generateMultiQueries 生成多路查询,fuseAcrossQueries 按 RRF 融合结果,多维度证据互补