Repolode
aru-labs

aru-labs/lossless-memory

面向个人 AI 助手的本地长期记忆层,保留每一条原始对话、不做摘要,并以时间为主轴检索。

Star
146
Fork
13
未关闭 Issue
0
最近提交
29天前

这是什么?

lossless-memory 把个人 AI 的对话记录保存为带时间戳的原始 JSONL 日志,从不做摘要。记录同时写入 SQLite:FTS5 负责精确关键词搜索,sqlite-vec 负责语义搜索。索引可以随时删除,并从原始日志重建。

检索以时间为先。像“昨天晚上,关于预算的内容”这样的查询,会先被解析成日期范围,再在范围内排序,结果按时间顺序返回原文和时间戳。只有精确索引在该范围内结果过少时,才回退到语义搜索。另有一个名为 LLL 的索引记录带时间戳的话题标记,便于每轮对话都把当前话题告知模型。

项目设计为单机、单用户运行,不依赖服务器或云端。时间表达支持英文和日文,守护进程默认每 10 分钟增量重建变动的日志索引。

核心功能

  • 01将每轮对话原样存入按天划分的 JSONL 文件,采用固定的七字段结构。
  • 02支持解析英文和日文的相对与绝对时间表达,用于限定检索范围。
  • 03结合 SQLite FTS5 关键词搜索与 sqlite-vec 语义搜索,语义搜索作为回退。
  • 04提供带时间戳话题标记的 LLL 索引,可注入模型上下文。
  • 05索引可从原始日志重建,后台守护进程只重新索引有变动的日期。

适用场景

  • 为自托管的个人 AI 助手提供过往对话的长期记忆。
  • 按具体日期或时间段查找当时说过的话或做出的决定。
  • 在上下文窗口压缩和会话重启后,保持助手对当前话题的感知。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/aru-labs/lossless-memory
  2. 2

    进入项目目录

    cd lossless-memory
  3. 3

    以可编辑模式安装该包

    pip install -e .
  4. 4

    复制示例配置文件,如需可修改名称和路径

    cp config.example.json config.json

使用前须知

  • 设计上仅供单用户在单台机器上使用,不支持多租户。
  • 相对时间短语仅支持英语和日语解析。
  • 语义搜索需要本地的 sentence-transformers 嵌入模型。
  • 项目开发目前暂停一段时间。

标签

常见问题

lossless-memory 是什么?
面向个人 AI 助手的本地长期记忆层,保留每一条原始对话、不做摘要,并以时间为主轴检索。 lossless-memory 把个人 AI 的对话记录保存为带时间戳的原始 JSONL 日志,从不做摘要。记录同时写入 SQLite:FTS5 负责精确关键词搜索,sqlite-vec 负责语义搜索。索引可以随时删除,并从原始日志重建。
lossless-memory 可以免费使用吗?用的什么许可证?
lossless-memory 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
lossless-memory 还在维护吗?
活跃维护中。lossless-memory 最近一次提交是在 2026年9月23日。
lossless-memory 适合用来做什么?
为自托管的个人 AI 助手提供过往对话的长期记忆。 按具体日期或时间段查找当时说过的话或做出的决定。 在上下文窗口压缩和会话重启后,保持助手对当前话题的感知。
lossless-memory 怎么安装和运行?
克隆仓库: git clone https://github.com/aru-labs/lossless-memory 进入项目目录: cd lossless-memory 以可编辑模式安装该包: pip install -e . 复制示例配置文件,如需可修改名称和路径: cp config.example.json config.json
在哪里获取 lossless-memory?
源代码和安装说明在 GitHub 上:https://github.com/aru-labs/lossless-memory

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目