Skip to content

Latest commit

 

History

History
668 lines (517 loc) · 56.3 KB

File metadata and controls

668 lines (517 loc) · 56.3 KB
//Readme.DailyNote.MD

## VCP 6.2 AI日记全功能详解

## 创建和管理日记知识库

### 1. AI会主动调用`DailyNote`异步插件创建日记,如果创建成功,你将会在前端看到具体的日记气泡,VCP通知栏也会有具体的文件信息创建推送。该插件允许Agent为日记内容提供分类tag,从而构建不同类型日记本的归档入库。

所有日记以.txt/.MD格式保存在各自agent的主记忆区和知识分区,支持在日记正文以vcpfileapi的形式挂载任意多模态附件(pdf/音频/图片/视频…该内容会被同步向量化绑定),方便前端渲染和管理。后端服务器构建对等的对应维度向量化数据库。向量化数据库根据日记文件夹的哈希值变动精细化差分进行即时的向量化更新匹配,以保证数据库的双向一致性。日记文件构建强壮的多边同步机制。并且和rag数据库基于哈希值,时间戳和base64字段的原子级向量同步,用户改一个字,向量化就处理一那一句话。多重区块化RAG管理和备份,自动抗崩溃,内置数据库损毁自修复镜像,内置回溯数据库版本功能。
延申说明:通过多个Agent公用指定日记本的方式,不仅可以实现知识共享,还能实现多Agent协作时,毫秒级延迟的工作管线进度追踪。这是分布式多Agent协同的重要实现基础。
通过系统性的结构化提示词,AI能够创建有精准时间戳,作者署名,时间线,逻辑栈和TAG结构化的标准日记知识归档入库。

智能 Tag 检查器与自动补标机制

  • 核心功能DailyNote 插件现已内置 Tag 格式校验器智能补标系统

  • 工作流程

    1. 实时校验:每当 AI 调用插件写入日记时,系统会自动检查 Tag 字段的格式是否符合规范(如是否为空、格式是否正确、是否包含非法字符等)。
    2. 异常拦截:如果检测到 AI 遗漏了 Tag 或打标格式错误,插件不会直接拒绝写入,而是将该日记内容暂存。
    3. 自动召唤记忆大师:系统会自动调用服务器内置的 记忆大师 Agent(由 Claude 4.5 Opus / Gemini 3 Pro / GPT 5 Ultra 等顶级模型驱动)。
    4. 智能补标:记忆大师会分析日记的完整内容、上下文、作者风格和已有的 Tag 池,自动生成最合适的标签集,并将其回填到日记中。
    5. 无缝写入:补标完成后,日记会自动完成入库流程,整个过程对用户和主 Agent 完全透明。
  • 优势:即使是能力较弱的模型驱动的 Agent,或在高负载下偶尔"偷懒"的 AI,也能确保日记库的 Tag 体系始终保持高质量和一致性,为后续的检索和分析提供坚实基础。

    2. AI会主动调用DailyNoteEdit同步/异步插件来更新或者编辑单条已有日记,构建流畅的上下文记忆更新体验。

    3. DailyNoteManager日记管理器插件(hybridservice混合插件)

    这是一个强大的日记批处理与知识关联插件,提供三个核心命令:

    • list(列出日记):按日期范围读取指定文件夹内的所有日记文件,返回每篇日记的URL路径和完整内容。这些URL可直接用于后续的 organize 或 associate 命令。
    • organize(整理日记):将多篇旧日记整合为一篇新的合并日记,并将原始文件自动归档到「已整理」文件夹。新日记的写入格式与 DailyNote 插件完全一致,支持 [文件夹]署名 格式指定存储目录。内置写入队列串行化机制,防止并发操作产生文件名冲突。
    • associate(联想关联日记):基于一篇或多篇日记的向量语义,通过 TagMemo 增强的向量相似度搜索,在指定范围内发现关联日记。支持多URL输入时自动去重合并、最低相似度阈值过滤、可调的TagMemo增强因子和搜索范围限定。

    推荐使用方式:不推荐Agent自己操作该插件。建议使用VCP服务器内置的记忆大师Agent来操作该插件。只推荐Claude 4.5 Opus, Gemini 3 Pro, GPT 5 Ultra来驱动该Agent,避免低级模型语料污染高级模型。

    3.1 梦系统V2

    AgentDream插件中,Agent将通过三级驻波种子放电深度记忆交互系统自动构建逻辑脉络来进行记忆整理,详见梦系统技术文档。

    以上功能都基于VCP后端RAG知识库进行交互。

    4. 主动记忆模块::当AI需要主动回忆时的实现。

    聊天上下文检索器 DeepMemo 插件

    经过了重大升级,现在是一个强大的Rust历史对话检索引擎。它主要处理Agent和Vchat的本地聊天历史数据库之间的交互。它现在引入了非常多的无关信息降噪算法和内容净化器,使得AI可以回忆起近乎纯净的聊天历史内容。它允许 Agent 在过往的聊天记录中进行精确的块级搜索从而进行“主动回忆”。其核心优势在于创新的双重多层级混合检索架构,结合了多种算法的优点,并引入“过高频词元自学习屏蔽器”,以确保在任何场景下都能找到最相关的对话片段。

    第一阶段:Tantivy 关键词检索与召回

    • 作用:利用高性能的 Rust 全文搜索引擎库 Tantivy,对所有历史对话记录进行快速的超线程关键词匹配。
    • 核心技术
      • 中文分词:内置 jieba-rs 分词器配合VCP原创权重算法,能够准确地将查询语句和对话历史分割成词元,极大提升了中文检索的准确性。
      • 内存索引:为每个对话文件动态创建高效的内存索引,实现闪电般的搜索速度。
      • 初步排序:根据匹配到的关键词数量和频率进行初步排序,快速筛选出最有可能相关的对话上下文。
    • 优势:这一阶段保证了检索的广度速度,能够从海量数据中快速召回所有包含相关关键词的候选记忆片段。
    • DeepMemo 深度记忆检索: 引入了全新的高级检索语法,极大提升了在巨型上下文历史数据库中的查询召回精度。

    DeepMemo检索词语法:

    # 关键词使用,隔开。
    # 支持以下高级语法:
    #   - 普通词:           VCP
    #   - 精确短语:         "VCP服务器"
    #   - 正向加权 (0.0-2.0): (重要概念:1.5)
    #   - 负向排除 :         [闲聊] //不支持权重
    #   - OR 逻辑:          {破解|渗透|测试} //支持正向权重
    #   - 时间维度:    @2024-4或者@30d(30天内)
    # 示例: 假设我们希望所有搜索都更关注技术性内容,同时排除日常闲聊和特定项目。
    # 查询预设: [闲聊],[日常对话],(技术:1.2),(代码:1.1),{bug|修复|问题:1.3}
    

    第二阶段:Reranker 语义精排

    • 作用:将第一阶段筛选出的候选结果,交给强大的 Reranker 模型进行最终的语义相关性排序。
    • 优势
      • 超越关键词:Reranker 不仅仅是匹配字面上的词语,而是能深入理解用户查询的真实意图和上下文的语义
      • 瑞士轮评级:对获取的大量数百个回忆,通过自动分组,与检索词元之间进行瑞士轮积分评级,从而保证AI能回忆起最相关的内容。
      • 精准排序:它将语义上最贴近查询意图的对话片段排在最前面,确保了最终返回给用户的记忆是最高质量最相关的。
      • 标准索引: 所有返回的上下文片段都包含TopicID信源,方便Agent和其它记忆插件联动。

    通过这套“模糊召回 → 关键词加权 → 语义精排”的三重流水线,DeepMemo 插件能够在复杂的长对话历史中,精准、快速地定位到 Agent 所需的任何信息,无论是几个月前的一个约定,还是某个具体的技术细节。

    LightMemo 主动记忆库/知识库检索插件

    • 核心功能: LightMemo 是一个基于关键词的主动记忆检索插件,它结合了经典的BM25算法(VCP结构化权重微调)、现代的RAG(检索增强生成)以及先进的Rerank(重排序)技术,为AI提供了一个快速且精准的知识库检索工具。
    • 技术亮点:
      • BM25召回: 利用BM25算法进行高效的初步检索,快速从海量日记中找出与检索词相关的候选片段。
      • RAG增强: 结合RAG模型,进一步理解上下文语义,提升检索的相关性。
      • Rerank精排: 通过强大的Reranker模型对召回结果进行二次排序,确保最终返回给AI的是最核心、最相关的记忆。
    • 动态控制: LightMemo 赋予了AI极高的灵活性,它支持以检索语句为主,同时基于作者或知识库来源的条件匹配搜索,也支持全局搜索。同时,AI可以根据当前任务的复杂度动态调整K值(检索数量),实现“按需回忆”。

    MeshMemo 主动记忆库/知识-库检索插件

    • 核心功能: MeshMemo 是一个基于多维条件过滤的主动记忆检索插件,它通过一个强大的正则表达式条件引擎,实现了对记忆库的“网状”聚合搜索。
    • 技术亮点:
      • 多维条件引擎: MeshMemo 允许AI像操作数据库一样,组合多个筛选条件进行精确检索。
      • 丰富的筛选维度: 支持的条件包括但不限于:
        • 知识库来源: 指定从哪个或哪些日记本中检索。
        • 日记作者: 按特定的Agent进行过滤。
        • Tag链: 根据一个或多个标签(Tag)的组合进行筛选。
        • 时间戳范围: 精确检索特定时间段内的记忆。
    • 应用场景: 当AI需要根据复杂的、非线性的逻辑关系来回忆事件时,MeshMemo 能够提供无与伦比的精确性和灵活性。例如,AI可以轻松发起一个查询:“找出‘小克’在‘上周’写的,同时包含‘VCP开发’和‘Bug修复’标签的所有日记”。

    TopicMemo 主动历史话题检索/管理插件

    • 核心功能: TopicMemo 允许Agent感知,管理自己的所有历史话题内容,并任意阅读话题文件,内置基于firefox api的json2md净化器,将话题文件的所有内容转化为无css标签的标准md文档方便ai阅读。
    • 技术亮点:
      • 安全json编辑器: 允许agent对特定话题id的特定楼层content进行diff操作,避免破坏json结构。
      • 话题标题编辑器: 允许agent对历史聊天文件的标题(自动生成)进行二次编辑。
    • 应用场景: 配合LightMemo和DeepMemo使用,补齐记忆的最后一公里。

    5. SGManager插件,允许Agent管理所见知识库的词元组捕网关系结构。

    6. 提示词折叠收纳箱 (ToolboxManager) — 语义级动态提示词注入系统

    VCP 内置了一套基于语义相似度提示词动态折叠/展开系统,专门用于管理大型插件指令集。它解决了一个核心痛点:Agent 可能拥有数十个工具插件,但每个工具的完整说明文档可能有数千 token——如果全部注入系统提示词,会严重浪费上下文窗口。

    • 核心理念:将所有工具说明按功能分组收纳在"收纳箱"(Toolbox)中,只有当用户的对话上下文与某个工具组的描述语义足够接近时,才自动展开该组内容。其余工具组保持折叠状态,仅显示一行提示告知 Agent"还有 N 个工具模块隐藏中"。
    • 使用方式:在 Agent 系统提示词中使用 {{收纳箱别名}} 占位符即可。例如:
      {{VCPFileToolBox}}
      {{VCPMemoToolBox}}
      {{VCPMediaToolBox}}
      {{VCPSearchToolBox}}
      {{VCPContactToolBox}}
      
    • 配置文件:通过 toolbox_map.json 定义收纳箱的别名、对应的提示词文件和语义描述:
      {
        "VCPFileToolBox": {
          "file": "FileToolBox.txt",
          "description": "该收纳箱收纳了各种命令行控制,文件操作相关的工具。"
        },
        "VCPMemoToolBox": {
          "file": "MemoToolBox.txt",
          "description": "该收纳箱收纳了agent的记忆工具,用于agent日常记忆和回忆检索。"
        }
      }

    折叠协议语法 (vcp_fold)

    在每个收纳箱的 .txt 文件内部,使用 [===vcp_fold:===] 标记来划分内容区块,每个区块可以独立设置展开阈值语义描述

    [===vcp_fold: 0.0===]
    这里是基础内容,阈值为0,无论什么对话都会展开(相当于"常驻"内容)。
    可以放置该收纳箱的总体说明、核心工具列表等。
    
    [===vcp_fold: 0.35 ::desc: 文件操作、目录管理、文件读写===]
    这里是文件操作相关工具的详细说明。
    只有当用户的对话与"文件操作、目录管理、文件读写"这段描述的语义相似度 >= 0.35 时才会展开。
    
    [===vcp_fold: 0.40 ::desc: 数据库管理、SQL查询、向量索引===]
    这里是数据库相关工具的详细说明。
    只有当用户的对话与"数据库管理"相关时才会展开。
    
    [===vcp_fold: 0.30 ::desc: 编程开发、代码生成、脚本执行===]
    这里是编程相关工具的说明,阈值较低(0.30),更容易被触发展开。
    

    工作机制

    1. 语义向量化:系统会将用户的最新发言和 AI 的最新回复进行加权向量化(与 RAGDiaryPlugin 共享同一套向量化管线)。
    2. 双层判定
      • 插件级:如果区块没有 ::desc: 描述,则使用收纳箱整体的 description 字段与上下文计算相似度,按阈值从高到低匹配。
      • 区块级toolbox_block_similarity 策略):如果区块有独立的 ::desc: 描述,则用该描述独立计算与上下文的相似度,只有达到阈值的区块才展开。
    3. 缓存优化:描述向量通过 SQLite kv_store 持久化缓存(由 KnowledgeBaseManager 的 getPluginDescriptionVector 管理),首次计算后不再重复调用 Embedding API。
    4. 热重载toolbox_map.jsonTVStxt/ 目录下的文件均受 chokidar 监听,修改后自动清除缓存并重新加载,无需重启服务器。
    5. 隐藏提示:未展开的区块会在末尾自动追加一行提示:*(提示:当前上下文中还隐藏收纳了另外 N 个工具模块分组,您可以通过明确提问或强调相关语境来获得展开。)*,引导 Agent 在需要时主动触发。

    典型场景

    • 工具爆炸问题:Agent 挂载了 30+ 个工具插件,全部说明超过 50,000 token。通过折叠收纳箱,日常对话时仅注入 2,000-5,000 token 的常驻说明 + 上下文相关的工具组,节省 90% 以上的提示词空间。
    • 提示词热更新:运维人员修改了某个工具的调用参数,直接编辑 TVStxt/FileToolBox.txt 即可,无需重启服务,下次对话自动生效。
    • 多 Agent 差异化装备:不同 Agent 的系统提示词中挂载不同的收纳箱组合,实现"专精型"与"全能型"Agent 的灵活配置。

    数据库核心功能

    至此,随着 LightMemoMeshMemo 的加入,VCP的主动记忆系统构建起了强大的三位一体架构。DeepMemo 负责深度语义对话检索,LightMemo 提供快速的知识库关键词检索,而 MeshMemo 则实现了复杂的多条件聚合查询。三者互为补充,赋予了AI从任何维度、以任何精度进行主动回忆的能力,共同构成了一个完整且强大的主动记忆矩阵。 VCP的RAG日记系统不仅仅是一个功能强大的信息检索工具,其背后还有一个经过深度优化的、高性能的向量数据库管理器 (VectorDBManager.js)。该管理器确保了日记内容的实时同步、高效检索和系统的长期稳定运行。

    PS 现在MeshMemo的全部能力已迁移到LightMemo。

    VCP 6.3 数据库核心:超轻量化高性能向量数据库

    AI 主导的持久化记忆与进化系统

VCP的记忆系统迎来了一次里程碑式的升级。成功实现了对三大核心数据库(记忆碎片 MemoChunk、标签 Tag、知识块 KnowledgeChunk)的抽象统一管理。更重要的是,整个底层数据抽象层完全使用 Rust 进行了重写,带来了革命性的性能飞跃和稳定性提升。

  • 性能巨幅提升: 通过底层的 Rust 实现,所有对向量数据库的写/读/查/搜全部抽象为VCP内部的内存单元操作,数据操作效率提升了数个数量级。10万tag/1万Chunk(平均3000字/chunk)的20chunkVCPRAG召回速度仅0.7ms。

  • 告别竞态与通讯开销: 统一的管理核心彻底消除了跨库通讯的瓶颈和文件竞态的风险,一劳永逸地解决了此前架构中的诸多难题。

  • 未来的基石: 这一坚实的底层架构,为未来 RagTagMemo 系统的进一步深入优化和功能拓展打下了不可撼动的基石,确保了 VCP 记忆系统长期、高效、稳定地进化。

    核心技术栈优势

    • 零管理开销与ACID事务安全: 基于SQLite文件数据库,无后台服务,同时通过ACID事务确保数据一致性。手写rust sql算法优化,引入高级的sql向量化索引管理。

    • 专用的毫秒级向量检索: 采用SIMD加速的USearch(HNSW)算法,为向量查询提供极致速度。

    • Rust驱动的内存安全与极致性能: 核心逻辑由Rust构建,引入了原创的语义级Chunk去重函数,杜绝内存安全问题,确保系统长期稳定并完全释放硬件性能。

    6. 健壮性与可配置性

    • API重试机制:在调用外部Embedding API时,内置了带有指数退避策略的重试功能,能有效应对临时的网络波动或API服务不稳。
    • 高度可配置:几乎所有核心参数,如更新阈值、内存限制、缓存大小、重试次数等,都可以通过环境变量进行配置,方便您根据不同的硬件环境和使用场景进行深度优化。

    VCP极致打磨的被动自动记忆模块:VCP日记知识库RAGDiaryPlugin调用模式详解

    主动记忆固然强大,但是阻塞式调用仍不够优雅,工具终究是刀剑,不是灵魂的血肉。VCP还有比“三大主动回忆插件强大百倍的”的“被动自动”记忆模组RAGDiaryPlugin,让一切必要知识,思维和记忆天然注入AI的原初上下文,彻底放手AI心智负担! 基于VCP后端的知识库向量化管理器模组实现。根据您的具体需求,可以选择最合适的模式来调用日记功能,从而实现近乎完美的“被动回忆”,只需要在Agent的系统提示词里插入以下占位符即可自动启用对应功能,无需Agent主动调用:

    1. {{角色日记本}} (服务器原生)

    • 工作模式无条件全文注入
    • 描述:这是服务器内置的、最基础的日记调用方式。一旦在System Prompt中检测到此语法,它会无条件地将指定角色的所有日记内容完整地注入到上下文中。例如{{小克日记本}},{{小吉钓鱼日记本}}
    • 适用场景:当您需要角色完整回顾其所有记忆,或者需要对整个日记进行全面总结时。
    • 注意:此模式不受本插件的任何智能检索逻辑控制。
    • TimeLine系统:使用{{小克TimeLine}},即可让小克看到所有“小克编写的日记”的时间戳和标题,构建真正的时间线认知。该系统由记忆大师Agent自动维护,合并多个连续事件标题。

    2. [[角色日记本]] (插件)

    • 工作模式无条件 RAG 片段检索
    • 描述:此模式会忽略相似度判断,直接根据当前对话的上下文(根据话题复杂度的动态上下文与根据话题宽泛度的动态K值),从指定的日记向量数据库中检索出最相关的记忆片段
    • 支持主动动态K值:是。您可以使用 [[角色日记本:1.5]] 的语法来调整检索片段的数量(1.5 是一个乘数,会乘以插件动态计算出的基础K值)。
    • 适用场景:当您明确知道需要根据当前话题从日记中寻找相关信息,但又不希望注入全部内容时。
    • 高级用法:此模式支持强大的 时间感知检索语义组增强检索,详见“高级功能与配置”部分。

    3. <<角色日记本>> (插件)

    • 工作模式基于相似度阈值的全文注入
    • 描述:这是一种智能的全文注入模式。插件会首先计算当前对话上下文与该“日记本”主题(基于其名称和预设标签)的向量相似度。只有当相似度超过预设的阈值时,才会将该角色的全部日记内容注入。
    • 适用场景:适用于那些不确定当前对话是否与某个角色的日记高度相关,希望由AI自动判断是否需要加载其完整背景故事的场合。例如<<小克工作ID日记本>>,<<VCP开发进度日记本>>,这种仅在需要的场景才会全程追踪的日记本。可以有效避免无关日记内容对上下文的污染。

    4. 《《角色日记本》》 (插件) - 混合模式

    • 工作模式基于相似度阈值的 RAG 片段检索
    • 描述:这是最智能、最灵活的模式,它结合了 <<>>[[]] 的优点。它会先像 <<>> 模式一样进行相似度评估,只有当相似度达标后,才会像 [[]] 模式一样,去检索相关的记忆片段而非注入全文。
    • 支持动态K值:是。同样支持 《《迪克尼亚魔法书日记本:1.5》》 《《互联网工具日记本:Group》》 语法。
    • 聚合检索:同样支持聚合语法,例如 《《物理|政治日记本:1.2》》。聚合模式下使用各日记本阈值的平均值作为门控。
    • 适用场景:大型日记库最推荐的日常使用模式。它既能通过阈值判断避免无关信息的干扰,又能在相关时只提取最关键的记忆片段,最大限度地保证了上下文的精确性和高效性。 比如,创建一个叫 《《氛围音乐点歌台日记本::Group》》,里面首先引入一个 置顶日记词条,音乐控制台插件指令集.txt,写入点歌插件的完整api指令集方便ai调用。 然后使用脚本,把songlist.json直接变成大量的.txt文件放入日记本里—— 在词元组里引入 GroupName:氛围音乐点歌台 TAG: 点歌 氛围 旋律 BGM…… 你猜会发生什么?会出现,ai在“有必要时”,播放一个符合上下文的BGM—— 这一过程几乎不消耗任何上下文!哪怕你有几十万首音乐的播放列表!

    5. ::RoleValve — 角色楼层门控语法

    RoleValve 为所有日记本新增了一个基于上下文角色发言数量的加载门槛,在任何日记本占位符格式({{}} / [[]] / <<>> / 《《》》)后附加 ::RoleValve@{角色}{运算符}{数值} 即可启用。

    • 语法
      日记本::RoleValve@{角色}{运算符}{数值}
      
    • 支持的 {角色}
      • @User:统计当前上下文中 user 角色的发言楼层数
      • @Assistant:统计当前上下文中 assistant 角色的发言楼层数
      • @System:统计当前上下文中 system 角色的发言楼层数
    • 支持的 {运算符}><>=<=
    • 支持逻辑组合&(且)、|(或),可将多个条件串联
    • 示例
      [[专业技术日记本::RoleValve@User>3]]
      《《地缘政治日记本::RoleValve@Assistant<5》》
      [[量子物理日记本::RoleValve@User>=2&@Assistant>=1]]
      《《冷知识日记本::RoleValve@User>5|@Assistant>8》》
      
    • 工作逻辑
      1. 插件在执行 RAG 检索,先计算当前上下文中指定角色的消息楼层总数。
      2. 将楼层数与设定的阈值按运算符进行比较(支持 & / | 组合多个判断)。
      3. 条件成立:继续执行该日记本的正常加载/检索流程。
      4. 条件不成立:跳过该日记本,完全不加载,不消耗上下文 Token。
    • 典型场景
      • ::RoleValve@User>3:对话刚开始的寒暄阶段屏蔽某技术日记本,当用户发言超过 3 条后才激活,避免冷场时的无效注入。
      • ::RoleValve@Assistant<5:地缘政治等"背景铺垫型"日记本在对话早期(assistant 发言不足 5 条)时正常加载,随后随着上下文已包含足够背景知识而自动退出,节省 Token。
      • ::RoleValve@User>=2&@Assistant>=2:双向确认对话已充分展开后才加载某高密度知识库,保证注入时机的精准性。

    6. ::Truncate — 硬性相似度截断门控

    Truncate 为日记本检索提供了一个基于最终分数的强力过滤门槛。它适用于 [[]] (RAG) 和 《《》》 (混合/聚合) 语法,附加 ::Truncate{阈值} 即可启用。

    • 语法
      [[日记本::Truncate0.25]]
      《《日记本::Truncate0.5》》
      [[聚合|日记本:1.2::Truncate0.4]]
      
    • 工作逻辑
      1. 最终分过滤:该语法作用于所有修饰符(Rerank, TimeDecay 等)生效后的最终得分
      2. 硬截断:任何得分低于设定阈值的条目将直接被丢弃。
      3. 聚合兼容:在 V5 聚合检索 中,它会作用于每一个子日记本的检索结果,确保最终汇总的内容全部达标。
      4. 零召回保护:如果所有检索到的片段得分都低于该阈值,插件将不召回任何内容,彻底避免无关噪音的注入。
    • 典型场景
      • [[知识库::Truncate0.6]]:确保只召回具有高度相关性的专业知识,过滤掉模糊相关的碎片。
      • 《《聚合日记本::Truncate0.4》》:在跨库检索时,强制要求所有返回的信息必须具备一定的参考价值。
      • 配合 Rerank 使用:先精排,再截断得分较低的非核心项,构建极致精准的检索流。

    7. ::Expand — 父文档展开语法

    Expand 解决了长日记被切分为多个 chunk 后,RAG 只召回片段而非完整日记的问题。启用后,只要命中任意 chunk,系统就会自动展开为该 chunk 所属的完整日记文件内容。

    • 语法
      [[角色日记本::Expand]]
      [[角色日记本::TagMemo::Expand]]
      《《角色日记本::Expand::Rerank》》
      [[A|B|C日记本::Expand]]
      
    • 工作逻辑
      1. 正常检索:系统先按照常规流程(向量搜索 → TagMemo → Rerank → TimeDecay → Truncate)完成所有后置处理,得到最终的 chunk 结果列表。
      2. 按文件去重:将结果按所属文件路径(fullPath)分组。同一文件的多个 chunk 命中只保留一条记录(取最高分的那个 chunk 的元数据)。
      3. 读取全文:对每个唯一文件,读取其完整的日记内容替换原 chunk 片段。
      4. 安全回退:如果文件读取失败,自动回退到原始 chunk 内容,不会导致整体检索失败。
    • 去重保障
      • 假设一篇 10,000 token 的日记被切为 3 个 chunk,RAG 召回了 chunk#1(score=0.85)和 chunk#3(score=0.72)——最终只会展开一次完整文件,输出 1 条结果而非 2 条重复的全文。
    • 与 K 值的关系
      • 展开发生在 K 值截断之后。如果 K=5 召回了来自 3 个不同文件的 5 个 chunk,展开后结果为 3 条完整日记。
      • 展开不受 K 值限制——它只是将已召回的 chunk 替换为全文,不会额外增加或减少结果数量。
    • 典型场景
      • 长日记完整召回:当日记内容较长(超过 embedding 模型的 token 上限)被自动切分时,确保召回完整上下文而非碎片。
      • 知识文档检索:对于放入日记本的技术文档、API 手册等,命中任意段落即返回全文。
      • 配合 Truncate 使用[[知识库::Expand::Truncate0.5]] — 只有高相关度的 chunk 才会触发全文展开,避免低分噪音导致大量无关全文注入。
    • 注意事项
      • 展开后的文本可能较长,请注意上下文 token 预算。建议配合 Truncate 或较小的 K 倍率使用。
      • <<>> 全文模式和 {{}} 直接引入模式本身已是全文,无需使用 ::Expand

    8. ::Associate — 联想共现发现语法

    Associate 为日记本检索引入了一种全新的认知拓展能力:潜在共现发现。它将已召回的每个 chunk 作为独立种子,反向搜索索引,找出被多个种子同时"联想到"的隐藏知识——这些知识可能与原始查询的直接语义距离较远,但在记忆网络的拓扑结构中被多条不同的思维路径交叉关联。

    • 语法
      [[角色日记本::Associate]]
      [[角色日记本::TagMemo+::Associate]]
      [[角色日记本::Associate::Expand]]
      [[A|B|C日记本::TagMemo::Associate]]
      
    • 工作逻辑
      1. 正常检索:系统先按常规流程(向量搜索 → TagMemo → Rerank → TimeDecay → Truncate)完成所有后置处理,得到 n 个最终 chunk 结果。
      2. 种子联想:每个已召回的 chunk 作为独立种子,以当前动态 K 值在目标索引中执行纯语义搜索(tagBoost=0,不施加 TagMemo 偏置),产生 n 组联想结果。
      3. 共现筛选:从 n 组结果中提取至少被 2 个不同种子联想到的 chunk,作为"潜在认知共现"。
      4. 额外追加:共现结果作为额外内容追加到原始召回结果之后,不占用原始 K 配额。例如动态 K=6 召回了 6 条主结果,联想发现了 3 条共现,最终输出 9 条。
      5. Expand 兼容:如果同时使用了 ::Expand,联想共现结果也会被正确展开为完整日记文件。::Expand 始终在 ::Associate 之后执行。
    • 聚合模式下的跨域联想
      • 在聚合检索语法(| 分隔多日记本)中,每个种子 chunk 会跨所有聚合日记本索引执行联想搜索,而非仅在自己所属的索引内搜索。
      • 这实现了真正的跨域认知共现:来自"物理"日记本的一条记忆和来自"哲学"日记本的一条记忆,可能同时联想到了"政治"日记本中的某条隐藏关联。
      • 单日记本模式下,种子在自身索引内执行联想。
    • 输出格式
      • 标准模式和时间感知模式下,共现结果独立显示在【联想共现记忆】分区中。
      • VCP Info 广播包含 useAssociate 标识和 associateCount 计数。
    • 典型场景
      • 隐性知识发现:当多条不同时期、不同主题的日记都指向同一个潜在关联时,Associate 能自动浮现这个交汇点。
      • 跨学科灵感碰撞:在聚合检索 [[物理|哲学|历史日记本::Associate]] 中,发现三个领域共同指向的某个概念。
      • 记忆网络补全:传统 RAG 只能找到"直接相关"的内容,Associate 通过多跳交叉验证找到"间接但显著相关"的记忆。
    • 注意事项
      • 至少需要 2 个有效种子(即原始召回结果中至少有 2 个 chunk 能成功获取向量)才能执行共现分析。
      • 联想搜索使用纯语义匹配(无 TagMemo 偏置),确保发现的共现关系来自内容本身而非标签引导。
      • 共现结果按共现次数降序排列,次之按语义分数降序,确保最强共现排在最前。

    9. ::Base64Memo — 多模态附件自动召回语法

    Base64Memo 为日记本检索引入了跨模态感知能力。它允许系统自动从召回的日记正文中提取多媒体附件,并将其以 Base64 格式注入到当前对话中。

    • 语法
      [[日记本::Base64Memo]]
      《《日记本::Base64Memo::Rerank》》
      
    • 工作逻辑
      1. 附件提取:系统会自动扫描召回的日记块正文,识别 httphttps 以及 file:// 协议的图片、音频、视频和 PDF 附件。
      2. 智能过滤:自动排除路径中包含“表情包”、“emoji”或“sticker”的资源,确保只召回有价值的参考资料。
      3. 多模态注入:提取到的附件将遵循 OpenAI 标准数组格式注入到首条用户消息中,并在文本末尾添加 [召回x个日记多模态数据] 的提示。
      4. 性能保护:受环境变量 BASE64_MEMO_LIMIT 控制(默认限制为 5 个),优先处理排序靠前(最近或最相关)的日记附件。
    • 典型场景
      • 视觉记忆回溯:召回包含当时截图或照片的日记,让 AI 能够直接“看到”历史现场。
      • 多媒体资料参考:在讨论某个视频或音频项目时,自动加载日记中记录的相关素材。

    10.自动多模态记忆转化器

    • 文档转记忆:支持用户拖入任意类型的文档,图片,音频,视频,都会自动被VCP数据库转化为.md格式和标准日记结构的记忆词条归档入库。

    高级功能与配置

    动态K值和全模态信息链

    传统RAG只有固定的k值和文本。VCP RAG检索的K值由用户发言的难度量化评估与AI话题的信息广度量化评估共同决定,并构建一个动态的上下文向量化窗口大小来作为匹配知识库的基础值。不仅如此,上下文中的图片/音频/视频多模态信息也会参与RAG量化和初始检索寻道信息流程。

    对于 [[]]《《》》 模式,您可以通过在末尾添加 :乘数 的方式来动态调整检索结果的数量。例如,:1.5 会将默认检索数量乘以1.5,而 :0.5 则会减半。这为您提供了更精细的控制。

    聚合检索 (Aggregate Retrieval) - 多日记本智能联合检索

    这是 V5 引入的重要新能力,解决了跨多个日记本检索时手动分配K值的痛点。

    • 核心理念:用户只需声明要从哪些日记本里查和一个总K倍率,系统会根据当前上下文与各日记本的语义相关度,通过 Softmax 归一化自动分配每个日记本应获得的检索份额。越相关的日记本,分到的K值越多。
    • 语法:使用 | 分隔多个日记本名,K倍率仍然使用 :数字 放在 日记本 后面,与单日记本语法完全一致:
      [[物理|政治|python日记本:1.2]]
      《《物理|政治|python日记本:1.5::Group》》
      [[历史|地理|文学日记本::TagMemo::Rerank]]
      
    • 智能分配算法
      1. 系统计算当前 queryVector 与每个日记本的代表向量的余弦相似度。
      2. 通过 Softmax 将相似度转化为权重比例(温度参数可调)。
      3. 按权重分配总K值,每个日记本至少保障 k=1
      4. 各日记本并行检索,结果聚合返回。
    • 《《》》模式特殊处理:聚合模式下,相似度门控使用所有指定日记本阈值的平均值。只要任一日记本的相似度达标,即触发聚合检索。
    • 修饰符兼容:所有现有修饰符(::Group::TagMemo::Time::Rerank::AIMemo)均可与聚合语法无缝组合使用。
    • 热调控参数(可在 rag_params.json 中配置):
      • aggregateTemperature(默认 3.0):Softmax 温度,越高分配越极端(集中给最相关的),越低分配越均匀。
      • aggregateMinK(默认 1):每个日记本的最低K值保障。
    • 适用场景
      • 跨领域对话:话题涉及多个知识领域时,一个占位符即可覆盖多个日记本。
      • 简化配置:无需为每个日记本手动估算K值,系统根据上下文自动智能分配。
      • 知识融合:多个日记本的相关记忆片段聚合展示,AI可综合多方面信息进行回答。

    标签 (Tags) 与阈值 (Threshold)

    <<>>《《》》 模式的相似度判断能力可以通过在 rag_tags.json 文件中设置标签和独立阈值来增强。

    • Tags: 您可以为每个日记本定义一组核心标签和权重(如 "tags": ["战斗:1.2", "情感", "家庭:0.8"]),插件会根据这些标签生成一个“增强向量”,使其能更准确地理解日记本的核心主题。
    • Threshold: 您可以为每个日记本设置一个独立的相似度阈值,覆盖全局默认值,以实现更精细的控制。

    时间感知检索 (Time-Aware RAG) - 解决“我们上周聊了啥?”的利器

    这是RAG日记插件最核心的创新之一,旨在解决RAG应用中最棘手的难题:基于模糊时间概念的记忆回溯

    • 启用语法:在 [[]] 模式后添加 ::Time 标记 -> [[角色日记本::Time]]
    • 工作模式
      1. 当检测到 ::Time 标记时,插件会激活时间跨度拟合算法
      2. 它会智能解析用户最新发言中的所有自然语言时间描述(如“最近”、“上周五”、“三个月前”甚至是“年初”,“去年圣诞节”,“我生日那会儿…”,“去年冬天的时候”,“我们最开始的时候…”)。
      3. 支持多时间点查询:如果一句话中包含多个时间点(如“我和小克上周以及三个月前都聊了什么?”),插件会分别解析并合并所有时间范围的结果。
      4. 智能去重:算法会自动对解析出的时间范围和最终检索到的日记内容进行去重,确保结果的简洁性和唯一性。
      5. 混合检索:最终结果会智能融合“语义相关(RAG)”和“时间范围”两个维度的信息,提供最全面的上下文回溯。
    • 适用场景:任何需要根据时间线索来回忆过去的对话场景。例如:
      • “我们上周是不是讨论过VCP的更新计划?”
      • “让我想想三个月前我在做什么。”
      • “回顾一下我最近一周的工作进展。”

    语义组增强检索 (Semantic Group RAG) - 向量域的逻辑捕网器

    这是另一项核心创新,它允许你将零散的关键词组织成具有特定语义的“词组”,从而极大地提升检索的可控性准确性

    • 启用语法:在 [[]] 模式后添加 ::Group 标记 -> [[角色日记本::Group]]
    • 工作模式
      1. 当检测到 ::Group 标记时,插件会激活语义组管理器
      2. 它会分析用户发言,看是否命中了您在“语义组编辑器”中预设的任何词组的关键词向量网络。
      3. 如果命中,它会将原始查询向量与被激活的词组的“组向量”进行加权融合,生成一个全新的、语义更精确的“增强查询向量捕获网”。
      4. 最后,使用这个增强向量去数据库中进行检索。
    • 组合使用:此功能可以和动态K值无缝结合,例如 [[角色日记本:1.5::Group]]
    • 适用场景
      • 逻辑串联:传统RAG无法处理的事件线,关系树,逻辑串,轻松“一网打尽”。
      • 精确控制主题:当你希望检索聚焦于某个特定领域(如“编程”、“克苏鲁神话”)时,即使你的问题本身很宽泛,也能确保检索结果高度相关。
      • 弥补向量短板:当某些概念(如“愚者”、“世界”)在向量空间中距离较远,但逻辑上属于同一主题时,语义组可以强行将它们关联起来。
      • 玩梗/黑话检索:你可以为特定角色的“黑话”或“梗”创建一个语义组,让AI能听懂你们之间的特定语境。

    Rerank 精排检索 (Precision Ranking) - 召回系统的最后一块拼图

    传统的向量检索(RAG)擅长从海量信息中快速“召回”一批可能相关的内容,但无法保证最相关的那条一定排在最前面。Rerank 技术正是为了解决这个问题而生,它为 VCP 的日记系统补上了“精确排序”这最后一块关键拼图。

    • 启用语法:在 [[]]《《》》 模式后添加 ::Rerank 标记。
      • [[角色日记本::Rerank]]
      • 《《角色日记本:0.8::Rerank》》
    • 工作模式
      1. 当检测到 ::Rerank 标记时,插件首先会进行一次常规的向量检索,但会基于一个预设倍率的超量获取,以数倍于最终所需的结果(例如,需要5条,它会先获取10条)。
      2. 然后,它将用户的原始问题和这批初步结果打包,发送给一个更强大、更精细的外部 Rerank 模型
      3. 这个高级模型会逐一评估每个初步结果与问题的真正“语义相关性”,并给出一个精确的分数。
      4. 最后,插件根据这个分数对结果进行重新排序,并将最顶尖、最相关的几条记忆片段注入到上下文中。
    • 优势:极大地提升了检索结果的准确性。您会发现,AI 回忆起的往事不再是“沾边”而已,而是真正“命中核心”,让对话的连贯性和深度都得到质的飞跃。
    • 组合使用:可以与动态K值、时间感知、语义组等所有功能无缝叠加,构建出极其强大的复合查询。例如:[[小克日记本:1.2::Time::Group::Rerank]]

    Rerank+ 双路融合精排 (Reciprocal Rank Fusion) - 综合多维排位的终极排序

    Rerank+ 是 Rerank 的进化版本,它使用业界领先的 倒数秩融合 (RRF) 算法,将向量检索/TagMemo 的排位与 Reranker 精排的排位进行双路综合,产出更鲁棒的最终排名。

    • 核心思想:当 TagMemo 说"第1名"而 Reranker 说"第5名"时,单独相信任何一方都可能有偏差。RRF 将两路排位信息综合,用 RRF(d) = α/(K+rerank_rank) + (1-α)/(K+retrieval_rank) 公式计算最终分数,确保只有两方都认可的结果才能稳居顶部。
    • RAGDiaryPlugin 语法:在 [[]]《《》》 模式后使用 ::Rerank+ 替代 ::Rerank
      [[角色日记本::TagMemo::Rerank+]]        ← α=0.5,两路等权
      [[角色日记本::TagMemo::Rerank+0.7]]     ← α=0.7,Reranker占70%权重
      《《知识库:1.2::TagMemo::Rerank+》》
      
    • LightMemo 语法:在工具调用中将 rerank 参数设为字符串:
      rerank:「始」rrf「末」          ← α=0.5,两路等权
      rerank:「始」rrf0.7「末」       ← α=0.7,Reranker占70%权重
      rerank:「始」true「末」         ← 原有标准Rerank,不变
      
    • α 权重说明
      • α=0.5(默认):两路信号等权融合,最均衡。
      • α>0.5(如0.7):更相信 Reranker 的语义精排能力。
      • α<0.5(如0.3):更相信 TagMemo/向量检索的记忆关联能力。
    • 兼容性:原有 ::Rerankrerank:true 的行为完全不受影响。

    时间衰减分拣检索 (Time-Decay RAG) - 聚焦当下,抗击陈旧记忆

    在追踪长期项目、追剧或游玩大型游戏时,昨天的进度比一年前的设定权重要高得多。::TimeDecay 时间衰减标记便是由此而生。

    • 启用语法:在 [[]] 模式后添加 ::TimeDecay 标记 -> [[游戏进度日记本::TimeDecay]]
    • 工作模式
      1. 该算法不对召回池做绝对阻断,而是对向量匹配分数或 Rerank 分数进行随时间流逝而递减的乘区衰减
      2. 半衰期配置:系统在管理面板提供全局的时间衰减半衰期(如 30 天)。距离现在超过 30 天的回忆,其最终得分将衰减一半。
      3. 多级兜底:系统支持配置“最低保留分数”,防止极其久远但依然与上下文达到 99% 精准匹配的核心设定被意外丢弃(例如游戏里的最终 Boss 设定)。
      4. 按标签选择性衰减:可以在配置中设置仅针对带有 [动态进展] 的 Tag 触发强力的分数惩罚,而放过 [世界观设定] 的 Tag。
    • 适用场景
      • 游戏游玩记录追踪:确保 AI 先回忆起你昨天打到哪了,而不是去年刚建号时的事。
      • 长期项目协作:在查阅需求文档或讨论时,优先召回最新版本的讨论记录。

TagMemo V6:构建“仿脑拓扑网络”的认知共振场

"记忆不是静态的仓库,而是流动的拓扑。V6 不再仅仅是在搜索,而是在神经突触中进行一次涌现的灵感传导。"

核心范式转移:从「几何位置」到「认知脉冲」

TagMemo V2 时代,我们建立了严密的逻辑知识树TagMemo V3/V4 引入了 语义动力学 (Semantic Dynamics)偏振语义舵 (PSR)TagMemo V5 引入了 霰弹枪查询 (Shotgun Query)相控阵去重,实现了暴力打捞美学。 TagMemo V6 则是质的飞跃,通过引入 LIF (Leaky Integrate-and-Fire) 脉冲神经元传播模型,在向量底座上构建了一套能进行 N-Hop 拓扑联想的仿脑系统。


TagMemo “认知浪潮”算法 (V6)

TagMemo V6 算法是 VCP 系统中用于 RAG 的最终进化架构。它引入了果蝇级脑仿真的脉冲扩散拓扑涌现机制。

V6 核心突破:突触导电与能量截断

  • 摒弃单跳拉回的局限:V6 放弃了传统的 1-hop 逻辑拉回,转而允许能量在词元共现矩阵中进行 N 跳深层传导。
  • LIF 神经元模型:命中的 Tag 节点充当微型电池,电位顺着共现突触传递。
  • 漏积放发与截断 (Decay & Threshold):引入严密的能量损耗机制,并搭配最高 MAX_EMERGENT_NODES=50 的涌现节点截断,防止发生神经网络风暴,精准筛出具有启发性的间接逻辑关联。
  • 相控阵雷达去重 (Phased Array Radar):继承自 V5 的去重哲学,剔除冗余,仅保留能提供“最大新信息量”的逻辑支点。

核心模块

  • EPA 模块:负责语义空间的初步定位与逻辑深度分析。
  • 残差金字塔:利用正交化投影将向量分解,捕捉微弱语义信号并感应原始神经元电位。
  • LIF-Router 认知扩散 (新增):替换了原本的单跳拉回,以微电流和拓扑联想寻找次级记忆。
  • 知识库管理器:负责整个扩散生命周期的演化及向量的最终合成。

详细技术实现请参阅:TagMemo_Wave_Algorithm_Deep_Dive.md

关键技术突破

  1. Rust 核心引擎: 底层的向量运算全部下沉至 Rust (lib.rs),即便面对百万级 Tag 海,依然保持毫秒级的召回响应。
  2. N-hop 脉冲波及: 通过反复刺激和高门槛能量保留,能够激活通常无法通过单一 Query 及单纯的文本相似度链接到的间接知识模块。
  3. 相控阵去重与保真: 保留那些虽然微弱但提供了独特逻辑维度的“毛刺”闪光点,确保记忆的涌现能够催生出具有创意的联想对话。

语法与示例

  • 启用语法:
    [[角色日记本::TagMemo]]           ← 标准 TagMemo(动态权重)
    [[角色日记本::TagMemo0.3]]        ← 指定权重 0.3 的 TagMemo
    [[角色日记本::TagMemo::Time]]
    《《知识库::TagMemo::Rerank》》
    
  • 应用场景:
    • 精准回忆: 自动抑制无关分支,聚焦核心语义。
    • 辩证思考: 在处理复杂决策或犹豫不决的议题时,自动召回对立观点进行对冲。

TagMemo+ 测地线重排 (Geodesic Rerank) — 拓扑距离场的二次精排

::TagMemo+ 是 TagMemo 的增强模式(V8),它在标准 TagMemo 的基础上引入了测地线重排——利用脉冲扩散过程中已计算的能量距离场,对 KNN 候选结果进行基于"认知拓扑地形"的二次精排。

  • 核心思想:标准的 KNN 搜索只考虑向量空间中的欧氏/余弦距离(直线距离),但知识之间的真实关联往往不是直线的。测地线重排将 TagMemo 脉冲传播(LIF 神经元模型)产生的能量场作为"地形图",计算每个候选 chunk 与当前认知焦点之间的地形贴地距离,从而发现那些"向量距离一般,但在认知拓扑上高度关联"的记忆。

  • 启用语法:使用 ::TagMemo+ 替代 ::TagMemo

    [[角色日记本::TagMemo+]]            ← 动态权重 + 测地线重排(α=0.3)
    [[角色日记本::TagMemo+0.3]]         ← 指定权重 0.3 + 测地线重排
    《《知识库:1.2::TagMemo+::Rerank》》 ← 可与 Rerank 叠加
    [[A|B|C日记本::TagMemo+::Associate]] ← 可与聚合和联想叠加
    
  • 工作流程

    1. 脉冲扩散:TagMemo V6 的 LIF 神经元模型在共现矩阵中进行 N-hop 能量传播,产生一个全局的 accumulatedEnergy 距离场。
    2. 距离场缓存:这个距离场被缓存为 lastEnergyField,供测地线重排阶段复用(零额外计算开销)。
    3. Chunk-Tag 关联:对每个 KNN 候选 chunk,通过 chunk → file → file_tags → tag_id 链路查找其关联的所有标签。
    4. 地形评分:计算每个 chunk 关联标签在能量场中的平均能量值,作为该 chunk 的测地线分数(geoScore)。
    5. 混合排序:最终分数 = (1-α) × KNN分数 + α × 归一化测地线分数,按此降序重排。
  • 三层安全防御链

    • L0:如果距离场为空(TagMemo 未产生有效脉冲),整体退化为纯 KNN 排序。
    • L1:如果某 chunk 关联的标签中,能量场命中数 < minGeoSamples(默认 4),该 chunk 的测地线分数设为 0,退化为纯 KNN。
    • L2:如果所有 chunk 的测地线分数均为 0,归一化跳过,全部走纯 KNN。
  • α 权重说明(可通过 rag_params.json 配置):

    • α=0.3(默认):KNN 占 70%,测地线占 30%,温和增强。
    • α 越大:越信任认知拓扑关联(适合 Tag 体系完善的知识库)。
    • α 越小:越依赖原始向量距离(适合 Tag 体系尚未完善的场景)。
  • 典型场景

    • 间接关联发现:一篇关于"经济制裁"的日记,向量距离上可能与当前话题"地缘政治"一般,但在 Tag 共现拓扑中,"经济制裁→贸易战→关税→地缘博弈"形成了强传导链,测地线重排能将其提升。
    • 跨领域知识桥接:技术文档和商业分析看似不相关,但如果它们共享了"AI应用"等共现标签,测地线能捕捉到这种深层关联。
    • 与 Rerank+ 叠加::TagMemo+::Rerank+ 构成三重精排(TagMemo拓扑 + KNN语义 + Reranker语义),适合对召回质量要求极高的场景。
  • ::TagMemo 的区别

    特性 ::TagMemo ::TagMemo+
    脉冲扩散 ✅ 生成增强查询向量 ✅ 生成增强查询向量
    测地线重排 ✅ 复用距离场做二次精排
    额外开销 极低(仅数据库查询,距离场已缓存)
    适用场景 通用 Tag 体系完善、需要深层关联发现

核心价值

TagMemo 使 AI 记忆具备了逻辑感知与辩证能力,将信息组织成一个能够自我生长、结构清晰、具备认知深度的知识网络。

### AIMemo AI军团并发检索 (AI-Powered Concurrent Retrieval) - 超越传统RAG的智能召回

当启用该语法时,系统会不再使用RAG模式来进行记忆库检索,而是调用真正的轻量化AI模型军团并发检索所有信息来召回内容,利用AI推理的极致能力来构建实时的逻辑脉络和事件召回,效果远超传统RAG算法。 启用语法:在 [[]]或者《《》》 模式后添加 ::AIMemo 标记 -> [[角色日记本::AIMemo]] 工作模式:

  1. 当检测到 ::AIMemo 标记时,系统将放弃传统的向量相似度检索方式。

  2. 系统会启动多个微型AI模型实例,形成"AI军团",并发地对知识库中的所有内容进行智能分析。

  3. 每个微型AI实例会运用其强大的推理能力,理解当前对话的深层语义、逻辑关联和隐含意图。

  4. AI军团会并发的从多个百万至亿Token级的记忆库实时遍历信息,通过复杂工作流算法进行多轮递归,构建事件分支之间的逻辑脉络、因果关系和时间线索,而不仅仅是简单的文本相似度匹配。

  5. 最终,系统会召回一个多视角,多维度,由当前聊天上下文切入的时间轴——事件脉络——信息分支网络,并标记所有事件之间的逻辑相关阈值,如同一个巨大的事件信息关系网图谱返回给AI,让AI瞬间理解当前上下文与其永久记忆库之间的所有关系背景。

核心优势:通过AI的深度推理能力,能够发现传统向量检索无法捕捉的复杂逻辑关系、隐含因果链和跨时间线的事件关联,实现真正"智能"的记忆召回。虽然提高了回忆成本,但更适合逻辑高度复杂的大型记忆/知识库,返回真正精准的结果。

---
## **三大自学习系统:让记忆更懂你**:
  - **RAG寻道自学习**: 系统会根据用户的交互记录(如采纳/忽略的结果)动态优化检索算法与路径,让高频、高效的“寻道”模式获得更高权重。
  - **Tag权重自学习**: 根据用户对不同主题内容的查询频率,自动、缓慢地调整日记本关联Tag的权重,使知识库的焦点能自动对齐用户的核心兴趣。
  - **词元组捕网系统自学习**: 监控用户的查询习惯,自动发现并建议将新的概念集,逻辑串或事件关联词汇纳入现有的语义组网络,实现知识网络的自我衍生与进化。该功能由完整强推理能力的御三家模型实现(Claude 4.5 Opus,Gemini 3 Pro,GPT 5 Ultra)。

通过这套层次化、高度智能的记忆与召回系统,VCP 为 AI Agent 提供了前所未有的大脑,使其能够根据不同场景和需求,灵活调用最合适的知识,从而表现出超凡的智能与适应性。突破了传统长记忆的三大高峰,时间维度模糊,事件顺序模糊和逻辑关联模糊,构建了真正抵达甚至超越人类的记忆系统,并实现了良好的上下文长度控制。

### 流内 RAG 知识动态演化 (In-stream RAG Knowledge Evolution)
  • 设计哲学: 实现知识库从“静态快照”到“动态生命体”的跃迁。我们认为,AI 的每一次与信息的交互,都应成为其知识体系自我优化的契机,从而实现极致的知识耦合与实时适应性。

  • 核心能力:

    • 基于“浪潮RAG”的再进化: 在浪潮RAG算法成功实现10万知识库<1ms极速向量召回的基础上,我们引入了这一激进功能。
    • 交互驱动的知识刷新: 在AI的流式或非流式输出过程中,其任何同步、异步、查询、阅读等与信息交互的行为,都会触发RAG知识库的动态刷新。
    • 实时调整召回逻辑: 系统会根据AI的当前行为和交互内容,不断调整召回逻辑与召回内容,确保AI总能获取到与其当前任务最相关的最新知识。
  • 深度解读: 这意味着VCP的知识库不再是一个被动查询的对象,而是一个与AI实时共进化的“活”系统。AI在思考和输出的同时,也在不断重塑和优化其赖以生存的知识根基,实现了从“利用知识”到“进化知识”的根本性转变。

    真正的永恒无限记忆

    至此,当Agent使用{{个人核心记忆}}记录核心背景知识和Agent关系网络,使用[[知识库]]来回忆自己的专业背景,使用[[个人回忆::AIMemo]]来完美召回以年为单位的数千个聊天历史相关的所有回忆细节,使用《《知识库》》来回忆各种特种技能和专业技术。再通过三大主动回忆插件来补全记忆细节,VCPAgent实现了近乎完美,召回率在99%以上的强大超长期记忆系统。

    强烈建议:使用服务器管理面板

    手动编辑 rag_tags.json 等多个权重、词元组文件可能比较复杂且容易出错。

    我们强烈建议您使用服务器自带的管理面板来管理所有与日记相关的数据和配置。在管理面板中,您可以方便地:

    • 查看和编辑每个角色的日记内容
    • 为日记本添加、删除和调整带权重的标签 (Tags)
    • 为每个日记本独立设置相似度阈值 (Threshold)
    • 创建和编辑语义组 (Semantic Groups),为你的知识库添加更深层次的逻辑关联。
    • 监控所有日记知识库的向量化流程并进行调控

    请访问您的服务器主页,通常可以在设置或插件管理区域找到相关入口。这将为您提供一个直观、高效的图形化界面来充分利用本插件的全部功能。