Persistent AI Memory 是一个开源项目,旨在为AI助手、语言模型(LLM)和VS Code中的Copilot提供持久化的本地记忆存储。它通过SQLite数据库存储对话、记忆和工具调用记录,支持语义搜索和实时文件监控。该系统跨平台运行,兼容Windows、macOS和Linux,安装简单,开箱即用。用户可以轻松存储和检索AI交互数据,适合开发者、研究者和需要本地化AI记忆的场景。项目采用MIT许可证,允许自由使用和修改。
功能列表
- 持久化存储:使用SQLite数据库保存AI的对话、记忆和工具调用记录。
- 语义搜索:通过LM Studio的嵌入技术,支持对记忆和对话的语义搜索。
- 实时监控:利用watchdog监控对话文件,自动捕获ChatGPT等导出的对话。
- 工具调用日志:记录模型上下文协议(MCP)工具的使用情况,支持AI自我反思。
- 跨平台支持:兼容Windows、macOS和Linux,适配多种开发环境。
- 简单安装:提供一键脚本、pip安装等多种方式,快速部署。
- VS Code集成:与VS Code中的Copilot无缝协作,提升开发效率。
- 系统健康检查:提供接口查看数据库和系统状态,确保稳定运行。
使用帮助
安装流程
Persistent AI Memory 提供多种安装方式,适合不同用户需求。以下是详细步骤:
一键安装(推荐)
- Linux/macOS:运行以下命令:
curl -sSL https://raw.githubusercontent.com/savantskie/persistent-ai-memory/main/install.sh | bash
该脚本自动下载并配置依赖,适合快速上手。
- 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 install -e ".[dev]"
- 克隆仓库:
- 通过pip直接安装:
pip install git+https://github.com/savantskie/persistent-ai-memory.git
适合希望直接集成到现有项目的用户。
安装完成后,系统默认使用SQLite数据库,存储路径为custom_memory.db
(可自定义)。若需使用自定义嵌入服务,需配置embedding_service_url
,例如:
memory = PersistentAIMemorySystem(db_path="custom_memory.db", embedding_service_url="http://localhost:1234/v1/embeddings")
主要功能操作
- 存储记忆:
- 使用
store_memory
函数保存AI学习的知识。例如:import asyncio from ai_memory_core import PersistentAIMemorySystem async def main(): memory = PersistentAIMemorySystem() await memory.store_memory("今天学习了Python异步编程") asyncio.run(main())
- 记忆会存储在SQLite数据库中,带可选元数据。
- 使用
- 语义搜索:
- 通过
search_memories
函数查找相关记忆:results = await memory.search_memories("Python编程") print(f"找到 {len(results)} 条相关记忆")
- 系统使用LM Studio的嵌入技术,返回语义相关的结果,默认返回10条。
- 通过
- 对话存储与检索:
- 存储对话:
await memory.store_conversation("user", "什么是异步编程?") await memory.store_conversation("assistant", "异步编程允许...")
- 检索对话历史:
history = await memory.get_conversation_history(limit=100)
- 支持搜索特定对话:
conversations = await memory.search_conversations("异步编程", limit=10)
- 存储对话:
- 实时监控对话文件:
- 监控ChatGPT导出的对话文件:
memory.start_conversation_monitoring("/path/to/conversation/files")
- 系统会自动捕获文件变化,存储到数据库。
- 监控ChatGPT导出的对话文件:
- 工具调用日志:
- 记录MCP工具调用:
await memory.log_tool_call("tool_name", {"arg": "value"}, "result", metadata={"key": "value"})
- 查看工具使用历史:
tool_history = await memory.get_tool_call_history(tool_name="tool_name", limit=100)
- AI可通过
reflect_on_tool_usage
进行自我反思,分析工具使用模式。
- 记录MCP工具调用:
- 系统健康检查:
- 检查系统状态:
status = await memory.get_system_health() print(status)
- 返回数据库连接状态和系统运行信息。
- 检查系统状态:
特色功能操作
- VS Code集成:将项目集成到VS Code的Copilot中,需确保安装了Python扩展和Copilot插件。运行项目后,Copilot可直接访问本地记忆数据库,提升代码补全的上下文准确性。
- 跨平台兼容性:系统自动适配不同操作系统,无需额外配置。Windows用户可能需安装Git Bash以运行shell脚本。
- 语义搜索优化:通过LM Studio的嵌入服务,搜索结果更精准。例如,搜索“Python”会返回与Python相关的所有记忆,而非仅精确匹配。
注意事项
- 确保网络连接稳定,以访问LM Studio嵌入服务(默认
http://localhost:1234/v1/embeddings
)。 - 定期备份SQLite数据库文件,避免数据丢失。
- 若使用VS Code,建议检查Python环境是否与项目依赖兼容。
应用场景
- 开发者调试AI助手
开发者可用Persistent AI Memory存储AI助手的交互数据,分析对话模式,优化模型表现。例如,调试聊天机器人时,检索历史对话以改进回答逻辑。 - 研究者分析语言模型
研究者可利用语义搜索和工具调用日志,分析语言模型在特定任务中的行为,生成实验数据。例如,研究AI在编程任务中的工具使用频率。 - 个人知识管理
用户可将学习笔记或灵感存储为记忆,通过语义搜索快速检索。例如,学生存储课程笔记,搜索“机器学习”即可找到相关内容。 - VS Code效率提升
程序员可将代码相关知识存储到系统中,与Copilot结合,提升代码补全的上下文准确性。例如,存储项目API文档,快速获取相关函数说明。
QA
- 如何确保数据隐私?
数据存储在本地SQLite数据库中,无需联网上传,保障隐私。用户可自定义数据库路径,进一步控制数据访问。 - 支持哪些AI模型?
系统与支持MCP协议的模型兼容,如Claude、GPT、Llama等,也可通过VS Code与Copilot集成。 - 安装失败怎么办?
检查Python版本(建议3.8+)和pip依赖是否完整。参考GitHub仓库的issue页面,或尝试手动安装。 - 语义搜索的准确性如何?
依赖LM Studio的嵌入模型,准确性较高。用户可调整嵌入服务URL以使用更强大的模型。