lossless-memory 是什么?不摘要、全保留、带时间戳的个人 AI 长期记忆层
Star143
近 7 天新增0
编程语言Python
开源协议MIT
创建于2026-09-04
最近更新2026-09-23
中文导读
很多 AI 长期记忆方案会把对话摘要成笔记,或只按语义相似度召回片段,结果丢掉了原话和时间。这个项目反其道而行:把每轮对话完整写入按天切分的 JSONL 日志,永不摘要,并给每条记录打上时间戳。检索时先解析 yesterday、last week 这类时间短语限定范围,再在范围内排序返回原文,语义检索只作兜底。它面向单机单用户的个人 AI,适合希望助手真正记住“什么时候说过什么”的场景。
根据 GitHub 公开数据,该项目的编程语言为 Python,开源协议为 MIT,创建于 2026-09-04,最近更新于 2026-09-23,目前有 143 个 Star。
项目介绍
lossless-memory 是一个面向个人 AI 的长期记忆层。它不做摘要,也不把对话压缩成笔记,而是把每一轮对话按固定七字段记录完整写入按天切分的 JSONL 文件,作为唯一的事实来源;所有索引都可以从原始日志重建。
时间在这个项目里不是元数据,而是主轴。查询解析器能识别 yesterday、last week、3 days ago、in July 等相对时间表达和绝对日期,先把搜索范围限定在时间区间内,再在区间内排序,结果按时间顺序返回未经摘要的原文。精确匹配用 SQLite FTS5,语义检索(sqlite-vec)只在精确索引结果不足时作为兜底。
此外还有一个叫 LLL 的小型主题索引,记录对话何时切换到新话题,每轮注入模型上下文,让助手在上下文被压缩或跨会话后仍知道当前在聊什么。项目为单用户、单机设计,无服务器、无云端,目前支持英语和日语的时间表达。
主要功能
- 完整保留每轮对话原文,不做任何摘要,按天写入 JSONL 日志
- 以时间为主轴的检索:先解析时间短语限定范围,再在范围内排序返回原文
- SQLite FTS5 精确索引(bigram 分词,支持日语和英语)与 sqlite-vec 语义索引兜底
- LLL 主题索引记录话题切换,每轮注入模型上下文,应对上下文压缩和会话边界
- 小型守护进程按固定间隔(默认 10 分钟)增量重建索引,支持从原始日志完整重建
- 本地文件化运行,单机单用户,无需服务器或云服务
适合谁用
适合希望为自己的个人 AI 助手建立长期、可追溯记忆的开发者,尤其是重视原始对话记录、需要按时间检索历史对话的单机用户。
快速上手
- git clone https://github.com/aru-labs/lossless-memory
- cd lossless-memory
- pip install -e .
- cp config.example.json config.json # 按需修改名称和路径
- 参考 examples/quickstart.md:导入示例对话、构建索引并执行一次带时间范围的查询
Star 增长趋势
同类项目
100+ 开源 AI Agent、Agent Skills 与 RAG 应用合集
★ 14.2万 · Python · 更新于 2026-10-15