persistent-ai-memory
综合介绍
persistent-ai-memory 是一个为AI、大语言模型或VS Code中的Copilot设计的本地持久化知识库系统。该项目基于SQLite数据库,为AI助理提供可搜索的永久性存储,能够追踪对话、记录MCP工具调用并进行智能调度。它的核心优势在于,通过将AI的记忆和上下文保存在本地,解决了AI应用在重启后丢失短期记忆的问题,从而实现真正的“记忆持久化”。该系统支持向量搜索,可以进行语义级别的记忆检索,并且能够实时监控文件,自动捕取对话内容。persistent-ai-memory支持与LM Studio、VS Code、Koboldcpp、Ollama等多种平台集成,并且跨平台兼容Windows、macOS和Linux操作系统。项目提供了多种简便的安装方式,从一键安装脚本到手动设置,力求让不同技术背景的用户都能快速上手。
功能列表
- 持久化记忆: 基于SQLite数据库,为对话、AI记忆、日程、VS Code项目和MCP工具调用提供稳定存储。
- 向量搜索: 通过LM Studio等服务提供的嵌入功能,支持对记忆和对话进行语义搜索。
- 实时监控: 使用watchdog监控文件变化,自动捕取和存储对话记录。
- MCP集成: 内置模型上下文协议(MCP)服务器,能够记录工具调用和AI的自我反思。
- 多平台支持: 可与LM Studio、VS Code、Koboldcpp、Ollama等多种AI平台和开发工具集成。
- 跨平台运行: 能够在Windows、macOS和Linux系统上运行。
- 零配置启动: 提供合理的默认设置,开箱即用,无需复杂配置。
- 多种安装选项: 提供一键安装脚本、手动安装和pip安装等多种方式,满足不同用户的需求。
使用帮助
persistent-ai-memory 提供了多种安装方式,无论你使用什么操作系统,总有一种方法适合你。
安装流程
方式一:一键安装 (Linux/macOS)
这是最快捷的安装方式,只需要在终端执行一行命令:
curl -sSL https://raw.githubusercontent.com/savantskie/persistent-ai-memory/main/install.sh | bash
方式二:Windows 单击安装
这是最简单的安装方式,专为Windows用户设计:
curl -sSL https://raw.githubusercontent.com/savantskie/persistent-ai-memory/main/install.bat -o install.bat && install.bat
方式三:手动安装
如果你想对安装过程有更多的控制,可以选择手动安装:
- 克隆项目仓库:
git clone https://github.com/savantskie/persistent-ai-memory.git
- 进入项目目录:
cd persistent-ai-memory
- 安装依赖:
pip install -r requirements.txt
- 安装项目:
pip install -e .
方式四:通过 pip 直接安装
最简洁的安装方式,直接从Git仓库安装:
pip install git+https://github.com/savantskie/persistent-ai-memory.git
健康检查
安装完成后,你可以运行健康检查脚本来验证系统是否正常工作:
python tests/test_health_check.py```
### **核心功能操作**
#### **1. 基本的记忆存储和搜索**
你可以通过Python脚本与AI的记忆核心进行交互。
**存储记忆**
下面的代码演示了如何初始化记忆系统并存储一条新的记忆。
```python
import asyncio
from ai_memory_core import PersistentAIMemorySystem
async def main():
# 初始化记忆系统
memory = PersistentAIMemorySystem()
# 存储一条记忆
await memory.store_memory("我今天学习了关于Python异步编程的知识")
print("记忆已成功存储。")
if __name__ == "__main__":
asyncio.run(main())
搜索记忆存储记忆后,你可以根据关键词进行语义搜索。
import asyncio
from ai_memory_core import PersistentAIMemorySystem
async def main():
# 初始化记忆系统
memory = PersistentAIMemorySystem()
# 搜索关于"Python编程"的记忆
results = await memory.search_memories("Python编程")
print(f"找到了 {len(results)} 条相关的记忆:")
for result in results:
print(result)
if __name__ == "__main__":
asyncio.run(main())```
你需要一个支持嵌入的AI服务(如LM Studio)在本地运行,才能使用搜索功能。
#### **2. 对话历史记录**
系统可以像记录记忆一样,存储和检索对话内容。
```python
import asyncio
from ai_memory_core import PersistentAIMemorySystem
async def main():
# 初始化记忆系统
memory = PersistentAIMemorySystem()
# 存储一段对话
await memory.store_conversation("user", "什么是异步编程?")
await memory.store_conversation("assistant", "异步编程允许程序在等待某些操作(如I/O)完成时继续执行其他任务。")
# 获取最近的对话历史
history = await memory.get_conversation_history(limit=10)
print("最近的对话历史:")
for entry in history:
print(f"{entry['role']}: {entry['content']}")
if __name__ == "__main__":
asyncio.run(main())
3. 作为MCP服务器运行
如果你使用支持模型上下文协议(MCP)的桌面应用(如Claude的桌面版),你可以将此系统作为服务器运行,以供其调用。
python ai_memory_core.py
4. 文件监控
此功能可以监控指定目录下的文件(例如ChatGPT导出的聊天记录),并自动将其内容存入记忆库。
from ai_memory_core import PersistentAIMemorySystem
# 初始化记忆系统
memory = PersistentAIMemorySystem()
# 开始监控指定路径下的对话文件
# 请将 "/path/to/conversation/files" 替换为你的实际文件路径
memory.start_conversation_monitoring("/path/to/conversation/files")
print("已开始监控对话文件...")
系统架构
系统内部包含5个专门的SQLite数据库,分别用于存储不同类型的数据:
Conversations
: 存储聊天记录,并带有用于语义搜索的嵌入向量。AI Memories
: 存储AI的长期持久化记忆。Schedule
: 用于管理基于时间的事件和提醒。VS Code Projects
: 追踪VS Code项目的上下文和文件信息。MCP Tool Calls
: 记录通过模型上下文协议(MCP)进行的交互。
应用场景
- 个人知识管理用户可以将日常学习、工作和思考的碎片化信息通过与AI对话的方式,记录到persistent-ai-memory中。例如,在阅读一本书或学习一门新技术时,可以将关键概念、代码片段和个人感悟存储起来。日后,当需要回忆相关内容时,只需通过简单的自然语言查询,就能快速找到相关信息,如同拥有一个永不遗忘的第二大脑。
- AI辅助编程在VS Code等开发环境中,开发者可以集成persistent-ai-memory,让AI助理(如Copilot)记住特定项目的上下文、代码规范和常用解决方案。当开发者在项目中遇到问题时,AI可以根据之前存储的记忆,提供更具针对性的代码建议和问题解决方案,从而提升开发效率。
- 长对话上下文维持在与AI进行多轮复杂对话时,AI通常会因为上下文窗口的限制而“忘记”早期的对话内容。使用persistent-ai-memory,AI可以将对话的关键信息实时存储到本地数据库中。在后续的交流中,AI可以通过语义搜索检索这些“记忆”,从而在长对话中保持对上下文的理解,提供更连贯、更准确的回答。
QA
- 这个项目和其他AI记忆工具有什么不同?persistent-ai-memory最大的特点是它的持久化和本地化。与许多依赖云端服务或仅在单次会话中有效的记忆系统不同,它将所有数据存储在用户本地的SQLite数据库中。这意味着用户对自己的数据有完全的控制权,并且AI的记忆不会因为程序关闭或重启而丢失。此外,它通过MCP协议和文件监控等方式,提供了更广泛的平台兼容性。
- 我需要什么样的硬件或软件才能使用它?该项目主要基于Python,因此几乎可以在任何支持Python的操作系统上运行,包括Windows、macOS和Linux。对于向量搜索等高级功能,你需要一个能够在本地运行并提供嵌入(Embeddings)API的服务,例如LM Studio。除此之外,没有特殊的硬件要求。
- 我不是程序员,也能使用这个工具吗?可以。该项目提供了非常友好的安装方式,例如Windows下的一键安装脚本,大大降低了使用门槛。对于非技术用户,可以通过与支持文件导出的AI工具(如ChatGPT)配合,将聊天记录保存到指定文件夹,然后使用本工具的“文件监控”功能来自动建立自己的本地知识库,整个过程无需编写代码。