跳到主要内容

记忆系统

统一的记忆-会话-智能体架构,具备人类可读的 Markdown 持久化、JSONL 会话记录和可检查的智能体状态。

概述

Markdown 记忆/shared/memory/):人类可读的真实来源——每日日志和精选的 MEMORY.md,智能体可通过文件工具直接访问。

LanceDB 搜索索引.suzent/memory/):对提取的事实进行向量 + 全文混合搜索。如有需要可从 Markdown 重建。

会话记录.suzent/transcripts/):每个会话的追加式 JSONL 日志,用于审计和跨会话搜索。

智能体状态.suzent/state/):可检查的 JSON 快照,替代不透明的 pickle 序列化。

主要特性

  • Markdown 作为真实来源(每日日志 + MEMORY.md)
  • 双写:每条事实同时持久化到 Markdown 和 LanceDB
  • 语义 + 全文混合搜索
  • 基于 LLM 的自动事实提取(简洁的一句话事实)
  • 自动汇总核心记忆(刷新 MEMORY.md)
  • 压缩前记忆刷新(在上下文压缩前捕获事实)
  • JSONL 会话记录,支持可选的记录索引
  • JSON v2 智能体状态(人类可读,向后兼容 pickle)
  • 会话生命周期管理(每日重置、空闲超时、最大轮次)
  • 重要性评分与去重
  • 线程安全的智能体工具
  • 恢复:通过 MarkdownIndexer 从 Markdown 重建 LanceDB

API 端点

端点方法说明
/memory/coreGET获取核心记忆块
/memory/corePUT更新核心记忆块
/memory/archivalGET搜索归档记忆
/memory/archival/{id}DELETE删除某条记忆
/memory/statsGET记忆统计信息
/memory/dailyGET列出每日日志日期
/memory/daily/{date}GET获取某日日志内容
/memory/fileGET获取 MEMORY.md 内容
/memory/reindexPOST从 Markdown 重建 LanceDB
/session/{id}/transcriptGET获取会话记录
/session/{id}/stateGET获取智能体状态快照