1. 项目概述:为你的AI编码助手装上一个“本地大脑”
如果你和我一样,每天花大量时间与Claude Code、Cursor这类AI编码助手“并肩作战”,那你一定也经历过这种挫败感:昨天刚花了半小时跟它详细解释完项目的架构设计、命名规范和团队偏好,今天打开新会话,它又变回了一张白纸,礼貌地问你:“你好,我是Claude。今天想写点什么代码?” 这种感觉就像每天都要重新培训一位新员工,效率低下不说,那种“说了也白说”的无力感,真的让人抓狂。
市面上的AI记忆方案,要么是云端服务,把你的隐私数据拱手送人;要么就是简单的聊天记录堆砌,除了让你手动翻找,对AI本身的理解毫无帮助。我们需要的是一个真正能理解、关联、并主动运用历史信息的“大脑”,而不是一个被动的“记事本”。
MemoMind 就是为了解决这个问题而生的。它是一个完全本地化、GPU加速的AI记忆系统,专门为基于MCP(Model Context Protocol)的编码助手(如Claude Code)设计。它的核心目标很简单:给你的AI一个持久的、结构化的、智能的记忆,让它能记住关于你、你的项目和你的习惯的一切,从而实现真正的“上下文连续性”。
简单来说,MemoMind 做了三件事:
- 记住(Retain):自动从你和AI的对话中提取关键事实(比如“用户偏好使用FastAPI而非Express”),并将其存储为结构化的知识。
- 回忆(Recall):当AI需要回答问题时,通过4种混合检索方式(语义、关键词、知识图谱、时间),精准找出最相关的记忆片段,注入当前对话的上下文。
- 反思(Reflect):超越简单的检索,让AI能够对所有记忆进行深度推理和综合,发现模式、总结趋势,形成更高层次的“心智模型”。
最棒的是,这一切都在你的本地机器上运行。你的数据、你的记忆,100%属于你,无需担心隐私泄露。下面,我就以一个资深开发者和早期使用者的身份,带你从零开始,深入拆解MemoMind的部署、使用和核心原理。
1.1 核心价值:为什么你需要MemoMind?
在深入技术细节前,我们先明确MemoMind能带来的实际价值。它解决的远不止是“AI健忘”这一个痛点。
对于个人开发者:
- 效率倍增:无需在每个新会话中重复解释项目背景、技术栈选择、编码风格。AI助手开局就自带“经验包”。
- 决策连续性:AI能记住你之前做过的技术决策(比如“上周我们决定用Redis替代Memcached是因为内存优化”),并在后续讨论中保持一致性和连贯性。
- 个性化体验:AI会逐渐了解你的工作习惯(比如“你通常在周二上午效率最高”、“你讨厌写冗长的文档”),并提供更贴切的建议。
对于团队协作:
- 知识传承:新成员加入项目,他的AI助手能立刻继承团队积累的所有项目记忆、设计决策和踩过的坑,加速 onboarding。
- 统一规范:AI能记住并强制执行团队的代码规范、Review重点和架构原则,成为无形的“代码守护者”。
- 问题溯源:调试时,AI能回忆起类似问题的历史解决方案和尝试过的无效路径,避免重复劳动。
对比传统方案:很多人会问,Claude Code自带的CLAUDE.md和MEMORY.md文件不也是记忆吗?它们确实有用,但本质上是静态的、手动的、低效的。
- 静态 vs 动态:
CLAUDE.md是你手动编写的规则,而MemoMind是AI从动态对话中自动学习并演化的知识图谱。 - 手动 vs 自动:你需要自己维护
MEMORY.md,而MemoMind的retain操作是全自动的。 - 低效 vs 高效:每次对话,Claude都会把整个
MEMORY.md文件加载进上下文,浪费大量Token。MemoMind只检索最相关的几条记忆,精准而经济。 - 孤立 vs 关联:Markdown文件是扁平的文本,MemoMind构建的是实体、关系、时间线交织的知识图谱,支持复杂的关联查询。
所以,MemoMind和CLAUDE.md是互补关系。前者管“动态知识”(随时间积累的经验),后者管“静态规则”(永恒不变的规范)。两者结合,才能打造最强大的AI工作伙伴。
2. 架构与核心设计解析
MemoMind的架构设计非常清晰,遵循了“高内聚、低耦合”的原则,同时充分考虑了本地化部署的性能和隐私需求。理解其架构,有助于你在部署和调试时心中有数。
2.1 系统整体架构
整个系统可以看作由三个核心服务和一个存储后端构成:
用户/Claude Code <-> [MCP Client] <-> [MemoMind Server (serve.py)] <-> [PostgreSQL + pgvector] <-> [Web Dashboard (dashboard.py)] <-> [Knowledge Vault (vault.py)]核心服务层(
serve.py):这是系统的大脑,一个基于FastAPI的HTTP服务器。它负责:- 接收来自Claude Code(通过MCP协议)或其他客户端的
retain、recall、reflect请求。 - 调用本地GPU运行的嵌入模型(BGE-M3)将文本转换为向量。
- 执行复杂的4路混合检索逻辑。
- 调用配置的LLM API(用于事实提取和反思)。
- 与PostgreSQL数据库进行所有读写交互。
- 默认运行在
http://localhost:19999。
- 接收来自Claude Code(通过MCP协议)或其他客户端的
数据存储层(PostgreSQL + pgvector):这是系统的心脏,所有记忆的最终归宿。
- PostgreSQL 17:作为关系型数据库,存储记忆的元数据(类型、时间戳、来源等)、实体、标签和知识图谱的关系。
- pgvector 扩展:为PostgreSQL增加了向量存储和相似度搜索能力,用于高效的语义检索。
- 这种组合既利用了关系数据库的结构化查询优势,又具备了向量数据库的语义搜索能力,是当前AI应用存储的黄金标准。
交互界面层:
- Web仪表盘(
dashboard.py):运行在http://localhost:9999的本地Web应用。它让你能以可视化的方式浏览、搜索、管理所有记忆,查看知识图谱和时间线。这是人类用户与MemoMind交互的主要窗口。 - 知识库(
vault.py):一个可选服务,用于管理和检索你本地的文档知识库(如NoteDiscovery的13k+文档),集成在仪表盘的/vault/路由下。
- Web仪表盘(
通信桥梁(MCP):Model Context Protocol是连接Claude Code与MemoMind的标准化协议。它通过
stdio(标准输入输出)进行通信,使得Claude Code能够像调用本地工具一样,无缝地调用MemoMind的retain、recall、reflect功能。
实操心得:服务管理在生产环境中,我强烈建议使用进程管理工具来守护这三个服务(
serve.py,dashboard.py,vault.py)。在Linux/WSL下可以用systemd,在Windows原生环境下,项目自带的nssm(Non-Sucking Service Manager)配置脚本非常好用。它能确保服务崩溃后自动重启,并且开机自启,真正做到“设置一次,永久运行”。
2.2 记忆的四种类型与知识图谱
MemoMind没有把记忆简单地扔进一个“大袋子”,而是模仿人类记忆的生物学原理,设计了四种记忆类型,并构建了它们之间的关联网络——知识图谱。
四种记忆类型:
- 世界记忆(World):关于用户和环境的客观事实。例如:“用户是后端工程师,主要使用Python和Go”、“用户的公司使用GitLab进行代码管理”。这类记忆相对稳定,用于塑造AI对用户的基本认知。
- 经验记忆(Experience):AI亲身参与的事件记录。例如:“在昨天的会话中,我们共同调试了用户认证模块的一个OAuth2.0令牌刷新问题”。这类记忆带有强烈的时间戳和上下文,是会话连续性的基础。
- 观察记忆(Observation):AI从用户行为中自动归纳出的模式。例如:“用户在处理数据库迁移时,总是先编写回滚脚本”、“用户倾向于为复杂的业务逻辑编写详细的单元测试”。这类记忆是AI“理解”用户的进阶体现,由
retain操作后的“巩固引擎”自动生成。 - 心智模型(Mental Model):对复杂主题的深层理解框架。例如:“当前项目采用六边形架构,核心是
OrderService,通过Port与PostgreSQLRepository和StripePaymentAdapter通信”。这不是简单的事实罗列,而是AI对系统架构、设计模式等抽象概念的内部表征,由reflect操作生成,用于进行深度推理。
知识图谱(Knowledge Graph):这是MemoMind的灵魂。每一个记忆(称为一个“节点”)都不是孤立的。系统会自动提取记忆中的实体(如“FastAPI”、“Redis”、“用户Alice”),并在它们之间建立“关系”边(如“替代了”、“偏好”、“属于”)。
- 实体链接:当提到“FastAPI”时,系统能链接到所有与之相关的记忆(世界记忆:用户偏好;经验记忆:上次用它构建了API;观察记忆:用户觉得它比Flask异步性能更好)。
- 关系查询:你可以问“用户为什么从Express换到了FastAPI?”,系统能通过“替代了”这条关系边,找到相关的决策记忆。
- 模式发现:图谱结构使得
reflect能够进行多跳推理,发现隐藏的模式,比如“每次项目涉及高并发时,用户最终都会引入Redis”。
这种结构化的存储方式,使得检索不再是简单的关键词匹配,而是真正的“理解性”关联查询。
2.3 核心三操作:Retain, Recall, Reflect
这是MemoMind暴露给AI的三个核心API,也是其智能所在。
1. Retain(记忆):从对话中提炼黄金retain不是保存聊天记录,而是进行“信息蒸馏”。当AI判断对话中包含值得长期记忆的信息时(例如用户明确表达了偏好,或共同完成了一个复杂任务),它会自动调用此操作。
- 过程:AI将当前对话的上下文发送给MemoMind服务器。服务器使用一个快速、廉价的LLM(如DeepSeek-Chat)作为“提取器”,从对话中抽取出结构化的“事实三元组”(主体-关系-客体)或关键陈述。
- 存储:这些事实被分类(世界/经验/观察),转换为向量存入pgvector,同时实体和关系被提取出来,更新知识图谱。
- 巩固:随后,一个独立的“巩固引擎”会运行,它可能使用一个更强、更慢的LLM(如GPT-4o-mini)来分析和合并新的观察记忆,消除矛盾,归纳模式,形成更精炼的观察或心智模型。
注意事项:LLM配置策略项目采用了“分拆LLM”的聪明策略。
retain的事实提取需要频繁调用,对延迟敏感,但对质量要求相对中等,故用便宜快速的模型。而consolidation(巩固)和reflect(反思)需要深度推理,调用频率低,但对质量要求高,故用更强但更贵的模型。在serve.py中,你可以通过LLM_MODEL和CONSOLIDATION_LLM_MODEL分别配置它们,以达到成本与效果的最优平衡。
2. Recall(回忆):四路混合检索当AI需要回答用户问题前,它会调用recall,获取相关的历史记忆。MemoMind的检索不是单一的向量搜索,而是强大的四路混合:
- 语义搜索(向量相似度):使用BGE-M3模型将查询文本转换为向量,在pgvector中查找余弦相似度最高的记忆。这是理解“意图”的核心。
- 关键词搜索(BM25):传统的全文检索,擅长匹配具体的名称、术语、错误代码。例如搜索“SQLAlchemy Session泄露”,关键词匹配非常有效。
- 知识图谱搜索:如果查询中包含了已知的实体(如“FastAPI”),系统会遍历知识图谱,找到与该实体直接相连的所有记忆。这对于回答“关于X,你知道什么?”这类问题极其高效。
- 时间搜索:检索特定时间点附近发生的记忆。例如“我们上周三讨论了什么?”
系统会并行执行这四种检索,然后使用一个交叉编码器(Cross-Encoder)对候选结果进行重排序,选出最终最相关的几条记忆,返回给AI。这种混合策略确保了无论用户的查询是模糊的概念还是精确的术语,都能被有效捕捉。
3. Reflect(反思):跨越记忆的深度思考这是让AI显得“真正有智慧”的功能。当用户提出需要综合所有历史信息才能回答的复杂问题时(例如:“总结一下我在微服务架构设计上常犯的错误有哪些?”),AI会调用reflect。
- 过程:
reflect会触发一个专门的推理流程。它首先会进行一次广泛的recall,获取大量相关记忆。然后,它将这个问题和这些记忆一起,提交给那个更强的LLM(配置的CONSOLIDATION_LLM_MODEL),要求其进行综合分析、归纳总结、发现深层模式。 - 输出:生成的不再是简单的记忆列表,而是一个结构化的“洞察”或更新的“心智模型”。这个结果本身也会被存储下来,成为未来推理的基础。
3. 实战部署:Windows原生方案详解
MemoMind支持多种部署方式,但对于大多数Windows用户,我强烈推荐Windows原生方案。它避免了WSL2的网络桥接、文件系统性能损耗和资源占用问题,更稳定、更直接。下面是我一步步踩坑后总结的最优部署流程。
3.1 环境准备与依赖安装
第一步:克隆代码并创建虚拟环境避免污染系统Python环境是专业开发的第一步。
git clone https://github.com/24kchengYe/MemoMind.git cd MemoMind # 建议将虚拟环境放在一个快速的SSD盘上,比如D盘 python -m venv D:\pythonEnvs\memomind-env # 激活虚拟环境 D:\pythonEnvs\memomind-env\Scripts\activate第二步:安装Python依赖这里有个关键点:hindsight-api这个核心包在Windows上安装时,其依赖uvloop不兼容。项目提供了hindsight-api-slim这个变体。
# 先安装不包含依赖的slim版本 pip install hindsight-api-slim --no-deps # 然后手动安装核心依赖,指定PyTorch的CUDA版本(如果你有NVIDIA GPU) pip install pg0-embedded sentence-transformers torch --index-url https://download.pytorch.org/whl/cu124 # 最后,根据 requirements-win.txt 安装其余依赖 pip install -r requirements-win.txt如果requirements-win.txt不存在,你可以查看hindsight-api-slim的元数据或项目根目录的setup.py来手动安装所需包,通常包括fastapi,uvicorn,sqlalchemy,psycopg2-binary,httpx等。
踩坑记录:PyTorch与CUDA版本确保你安装的PyTorch CUDA版本与你显卡驱动支持的CUDA版本一致。可以通过
nvidia-smi查看驱动支持的CUDA最高版本。安装不匹配的版本会导致无法使用GPU加速,嵌入计算将退回CPU,速度慢百倍。对于RTX 30/40系列显卡,cu124(CUDA 12.4) 通常是安全的选择。
3.2 PostgreSQL与pgvector部署
这是整个部署中最容易出错的一环。MemoMind依赖PostgreSQL 17和pgvector扩展。
第一步:获取便携式PostgreSQL 17从EnterpriseDB官网下载Windows版本的PostgreSQL二进制压缩包。解压到一个没有空格和中文的路径,例如D:\memomind-pg\pgsql。
第二步:初始化数据库打开命令行(以管理员身份运行),进入PostgreSQL的bin目录。
cd D:\memomind-pg\pgsql\bin # 初始化数据目录,指定用户名和信任认证 pg_ctl initdb -D D:\memomind-pg\data -U hindsight -A trust # 启动PostgreSQL服务,指定一个非默认端口(如5433),避免与可能已安装的PostgreSQL冲突 pg_ctl start -D D:\memomind-pg\data -o "-p 5433"第三步:编译并安装pgvector扩展pgvector需要从源码编译。这需要Visual Studio Build Tools。
- 安装Visual Studio Build Tools,勾选“使用C++的桌面开发”工作负载。
- 从GitHub克隆pgvector源码。
- 打开“x64 Native Tools Command Prompt for VS 2022”(或对应你VS版本的命令提示符)。
- 在命令提示符中,设置PGROOT环境变量指向你的PostgreSQL安装目录,然后进行编译安装。
set PGROOT=D:\memomind-pg\pgsql cd path\to\pgvector nmake /F Makefile.win nmake /F Makefile.win install编译成功的vector.dll等文件会被复制到D:\memomind-pg\pgsql\lib和...\share\extension目录下。
第四步:创建数据库并启用扩展回到普通的命令行窗口(或PG的bin目录下):
createdb -h localhost -p 5433 -U hindsight hindsight psql -h localhost -p 5433 -U hindsight -d hindsight -c "CREATE EXTENSION vector;"执行\dx确认vector扩展已列出。至此,数据库层就准备好了。
3.3 配置与启动服务
第一步:配置LLM API这是MemoMind与外界智能的唯一通道,用于事实提取和反思。对于国内用户,最方便的是使用国内兼容OpenAI的API服务,无需代理。
- 打开
serve.py,找到LLM配置部分。 - 推荐使用MindCraft或DeepSeek的API。以MindCraft为例:
LLM_API_KEY = "你的MindCraft-API-KEY" LLM_BASE_URL = "https://api.mindcraft.com.cn/v1" LLM_MODEL = "deepseek-chat" # 或 qwen-flash,性价比高 NEEDS_PROXY = False # 国内API,无需代理 CONSOLIDATION_LLM_MODEL = "gpt-4o-mini" # 巩固和反思可以用更好的模型将LLM_API_KEY替换为你从MindCraft平台获取的实际密钥。
第二步:应用补丁项目可能包含一些针对hindsight-api库的补丁,用于修复Windows下的特定问题。运行补丁脚本:
python patch_hindsight.py第三步:启动核心服务打开两个命令行窗口,分别激活虚拟环境后执行:
# 窗口1:启动核心API服务 python serve.py # 看到类似 INFO: Uvicorn running on http://0.0.0.0:19999 的输出即成功# 窗口2:启动Web仪表盘 pythonw dashboard.py # 使用pythonw避免弹出命令行窗口 # 访问 http://localhost:9999 即可看到仪表盘第四步:验证服务在新命令行窗口执行:
curl http://localhost:19999/health如果返回{"status":"healthy","database":"connected"},说明API服务运行正常。同时,浏览器打开http://localhost:9999应能看到MemoMind的仪表盘界面。
3.4 集成到Claude Code(MCP配置)
这是让Claude Code“学会”使用MemoMind记忆的关键一步。
- 确保Claude Code桌面应用已安装并更新到最新版本。
- 打开Claude Code,进入设置(Settings)。
- 找到“Developer”或“MCP”设置部分。
- 你需要编辑Claude Code的MCP配置文件。通常位于
%APPDATA%\Claude\claude_desktop_config.json(Windows)或~/.config/Claude/claude_desktop_config.json(Mac/Linux)。 - 在配置文件中添加MemoMind的MCP服务器配置:
{ "mcpServers": { "memomind": { "command": "D:\\pythonEnvs\\memomind-env\\Scripts\\python.exe", "args": ["D:\\path\\to\\MemoMind\\mcp_stdio.py"] } } }请务必将路径替换为你实际的虚拟环境Python路径和项目mcp_stdio.py的路径。6. 保存配置文件,并完全重启Claude Code。
重启后,Claude Code会在后台启动这个MCP服务器进程。你可以在Claude Code的对话中尝试说:“记住我更喜欢用Python的pathlib来处理文件路径。” 稍等片刻,如果配置成功,Claude应该会回应类似“已将此偏好存入记忆”的话。你也可以在MemoMind仪表盘的“记忆流”中看到这条新记录。
疑难排查:MCP连接失败如果Claude Code没有反应,或者MemoMind仪表盘没有收到新记忆:
- 检查
serve.py和dashboard.py是否都在运行。- 检查
curl http://localhost:19999/health是否返回健康状态。- 查看Claude Code的应用日志(通常可在设置中找到日志文件位置),看是否有MCP相关的错误信息。
- 确保
mcp_stdio.py脚本有可执行权限,并且其内部的HS_BASE_URL指向正确的serve.py地址(默认是http://localhost:19999)。
3.5 设置开机自启(Windows任务计划)
我们当然不希望每次开机都手动启动两个服务。在Windows上,最可靠的方式是使用“任务计划程序”。
- 创建一个启动脚本
start_memomind.bat:
@echo off cd /d D:\path\to\MemoMind call D:\pythonEnvs\memomind-env\Scripts\activate.bat start /B python serve.py start /B pythonw dashboard.py- 打开“任务计划程序”,创建基本任务。
- 触发器设置为“当用户登录时”(或“计算机启动时”,但需要配置运行账户)。
- 操作设置为“启动程序”,选择上述的
.bat文件。 - 在“条件”选项卡,取消“只有在计算机使用交流电源时才启动此任务”(对于笔记本)。
- 在“设置”选项卡,选择“如果过了计划开始时间,立即启动任务”。
这样,每次开机登录后,MemoMind服务就会在后台自动运行了。
4. 高级功能与数据集成
部署好基础服务只是开始。MemoMind真正强大的地方在于它能整合你分散在各处的数据,构建一个统一的、属于你个人的数字记忆体。
4.1 导入AI聊天历史(ChatGPT & Gemini)
你的AI对话是宝贵的知识来源。MemoMind可以将你导出的ChatGPT和Gemini历史对话,一键导入知识图谱。
准备工作:导出聊天记录
- ChatGPT:使用作者提供的配套工具chatgpt-exporter。这是一个浏览器控制台脚本,在ChatGPT网页打开开发者工具运行,即可一键导出所有对话(包括“项目”文件夹里的),生成一个
chatgpt-export.json文件。 - Gemini:使用gemini-exporterChrome扩展。它通过内部API批量导出对话,生成
gemini-export.json。
导入到MemoMind将生成的JSON文件放入MemoMind项目目录下(或指定路径),然后运行导入脚本:
python import_ai_chats.py --file chatgpt-export.json --source chatgpt python import_ai_chats.py --file gemini-export.json --source gemini这个过程会:
- 解析每一条对话。
- 调用LLM提取对话中的关键事实(
retain操作)。 - 将事实存储为记忆,并建立记忆与原始对话的溯源链接。
价值:导入后,当你在MemoMind仪表盘浏览记忆时,每条记忆卡片上都会有一个“💬”图标。点击它,就能直接跳转到原始的、完整的聊天记录上下文。这实现了从“记忆摘要”到“记忆源头”的无缝追溯,对于回顾决策过程至关重要。
4.2 集成DayLife:可视化你的人生轨迹
如果你使用DayLife这类生活记录应用,MemoMind可以将其数据导入,让你的AI了解你的日常生活模式。
操作流程:
- 从DayLife中导出你的活动数据(通常支持CSV或JSON导出)。
- 使用MemoMind的
import_daylife.py脚本进行一次性全量导入。 - 配置智能每日同步。MemoMind会定期(例如每天凌晨)检查DayLife的导出目录,自动同步新增的活动事件。
带来的能力:
- 时间线搜索:在MemoMind仪表盘中,你可以看到一个按时间轴排列的“人生轨迹”,包含了工作、学习、健康、娱乐等所有活动。
- 模式发现:AI可以通过分析这些数据,发现你的模式。例如:“过去三个月,每周三晚上你都有健身记录”、“每次连续编码超过4小时后,下一次会话的bug率会上升15%”。
- 上下文增强:当你和AI讨论“如何提高下午的工作效率”时,AI可以结合你过去一周的作息和活动记录,给出更具个性化的建议。
实操心得:数据隐私的终极保障将DayLife这类高度个人化的数据导入本地运行的MemoMind,是“数据主权”的完美体现。所有分析都在本地完成,没有任何个人生活习惯数据上传到云端。你的AI助手因此成为了最懂你的“数字孪生”,而这种了解是建立在绝对的隐私安全之上的。
4.3 知识库集成与全盘文档扫描
MemoMind v1.7+ 集成了“知识库”功能,并引入了强大的MinerU文档解析引擎。
MinerU引擎的优势:
- GPU加速:利用你的NVIDIA GPU进行文档布局分析,速度极快。
- 格式还原:能完美解析双栏PDF、保留LaTeX数学公式、提取HTML表格结构、甚至抽取出图片及其标题。
- 全自动:替代了传统的
pdfplumber、python-docx等组合,一个工具搞定所有格式(PDF, DOCX, PPTX, TXT等)。
全盘扫描:运行scan_documents.py脚本,它可以自动扫描你指定的驱动器(如D盘、G盘),发现所有文档,使用MinerU进行解析,提取文本、元数据、结构,然后导入MemoMind的知识库。
python scan_documents.py --drive D --categories code,doc,paper导入后,你可以在仪表盘的/vault/页面,像搜索记忆一样,语义化地搜索你硬盘里的所有文档。比如搜索“关于神经网络剪枝的论文”,它能从你本地堆积如山的PDF中找到最相关的那几篇。
5. 性能调优、备份与迁移
5.1 资源占用与性能优化
根据我部署的经验(约7600条记忆),资源占用如下表所示:
| 组件 | 空闲时 | 活跃时(检索/记忆) | 优化建议 |
|---|---|---|---|
| PostgreSQL 17 | ~100 MB RAM | ~300 MB RAM | 为shared_buffers分配适量内存(如系统内存的25%)。定期执行VACUUM ANALYZE;。 |
| MemoMind Server | ~2 GB RAM | ~2 GB RAM | 主要内存被嵌入模型(BGE-M3)加载占用。这是固定开销。 |
| MCP进程 (每个会话) | ~1.5 GB RAM | ~1.5 GB RAM | 关键:关闭不用的Claude Code会话。每个会话都会独立加载一个嵌入模型实例。 |
| GPU VRAM | 0 | ~500 MB (突发) | 嵌入计算和MinerU解析时会使用。确保CUDA版本匹配。 |
| 磁盘空间 | ~660 MB | 随记忆增长 | 向量和文本存储。预计每万条记忆增长 ~100-200 MB。 |
Windows原生 vs WSL2:Windows原生模式内存占用通常比WSL2低10-20%,因为少了虚拟机层的开销,且网络更稳定。
5.2 备份策略:你的记忆是数字资产
MemoMind的数据存储在PostgreSQL中。定期备份至关重要。项目提供了两种方式:
1. 手动导出(仪表盘)在Web仪表盘的工具栏,点击“💾”图标,可以立即下载一个包含所有记忆、实体、图谱关系的完整JSON备份文件。格式是开放的,不依赖任何特定系统。
2. 自动每周备份(推荐)项目根目录提供了backup-memomind.py脚本。你可以将其配置为每周定时任务。
- 步骤:
- 在GitHub/GitLab创建一个私有仓库,例如
memomind-backups。 - 在服务器上克隆这个仓库。
- 修改
backup-memomind.py脚本中的BACKUP_DIR指向这个克隆的目录,并配置数据库连接信息。 - 使用Windows任务计划程序或Linux的cron,设置脚本每周运行一次。
- 在GitHub/GitLab创建一个私有仓库,例如
- 脚本作用:它会将数据库导出为SQL转储和JSON备份,然后提交并推送到远程私有仓库。你因此拥有了一个带版本历史、可追溯的记忆备份。
为什么备份如此重要?AI记忆系统本身会不断演进。今天你用MemoMind,明天可能有更强大的系统出现。你的记忆数据——那些关于你的偏好、决策、经验的宝贵数据——才是核心资产。开放的备份格式确保了零供应商锁定,你可以随时将积累了数月甚至数年的记忆,迁移到未来的新平台上。
5.3 常见问题排查实录
问题1:MCP连接成功,但AI不调用retain/recall。
- 检查:在Claude Code中,尝试直接输入“测试记忆”。观察Claude的回复和MemoMind仪表盘是否有新记忆。
- 可能原因:Claude Code的MCP配置可能未正确应用,或者其内部策略认为当前对话无需记忆。可以尝试更明确的指令,如“请记住:我讨厌在代码中使用全局变量。”
- 解决:确认MCP配置无误后,重启Claude Code。有时Claude需要更明确的用户指令来触发记忆行为。
问题2:recall检索结果不相关。
- 检查:在仪表盘中使用搜索功能,分别尝试“关键词搜索”和“语义回忆”模式,看结果是否有差异。
- 可能原因:
- 嵌入模型未正确加载。检查
serve.py启动日志是否有BGE-M3模型下载或加载错误。 - 记忆文本质量不高。
retain提取的事实过于模糊。 - 查询本身太宽泛。
- 嵌入模型未正确加载。检查
- 解决:确保嵌入模型正常运行。可以尝试在
retain时,让AI用更清晰、具体的语言描述事实。
问题3:服务运行一段时间后内存占用过高。
- 检查:使用任务管理器查看
python.exe进程的内存。 - 可能原因:内存泄漏(较少见),或同时打开了多个Claude Code会话(每个会话一个MCP进程,各占~1.5GB)。
- 解决:关闭不必要的Claude Code窗口。定期重启
serve.py服务(可以通过计划任务在每天低峰期进行)。
问题4:国内用户访问LLM API速度慢或失败。
- 检查:在
serve.py中确认NEEDS_PROXY = False,并使用了正确的国内API端点(如api.mindcraft.com.cn)。 - 可能原因:网络波动或API服务商问题。
- 解决:切换到更稳定的国内API提供商,如DeepSeek官方API。如果必须使用国际API(如OpenRouter),请确保
proxy-bridge.py已正确设置并运行,将流量转发到你的本地代理客户端(如Clash)。
部署和运行MemoMind的过程,就像在为你最重要的数字伙伴搭建一个专属的“大脑”。初期会有些繁琐,但一旦它开始运转,那种“AI终于记住我了”的体验,会让你觉得所有投入都是值得的。它不再是一个每次都要从头教起的工具,而是一个真正积累了经验、与你共同成长的合作伙伴。