Claude Code有个让人崩溃的毛病:每次关闭会话,它就把你教的一切忘得一干二净。项目架构、代码风格、你的偏好——下次打开,归零重来。
作者花了45分钟手动配置环境,调试端口、复制令牌、手搓MCP服务器,又折腾好几天解决Smart Connections的集成问题。最后他写了个工具叫ObsiForge,一条命令搞定全部:obsiforge init --name myproject --path ~/vaults/myproject。30秒加两次插件点击,三层记忆系统就搭好了。
![]()
这套架构分三层,每层职责分明,不重叠不冗余。Layer 3是MEMORY.md,只存指针不存内容,告诉Claude去哪找东西;Layer 2是Obsidian知识库,存放项目架构、决策记录、用户偏好等完整上下文;Layer 1是claude-mem,自动捕获每次会话的观察记录。
![]()
MEMORY.md是Claude每次会话启动唯一读取的文件,约800个令牌,里面列着搜索工具:语义搜索用mcp__smart-connections__search_notes,指定文件用mcp__obsidian-mcp-tools__get_vault_file,会话历史用mcp__plugin_claude-mem_mcp-search__search。规则只有一条:绝不存实际知识,只存指针。
Obsidian知识库里的笔记完全自包含,没有维基链接,没有"参见",每篇自带完整上下文。project.md管架构栈和路线图,user.md管个人偏好和代码风格,MEMORY.md管搜索工具和索引,还有其他评估、差距分析、架构决策记录等。Smart Connections用bge-micro-v2模型在本地做384维嵌入,MCP服务器把search_notes暴露给Claude Code。
最底层claude-mem通过钩子自动捕获,每次工具调用都记录为观察。会话启动时,最近50条观察注入上下文;会话结束时,/consolidate命令把重要内容提炼进知识库。SQLite加Chroma向量数据库,完全本地运行,零云端依赖。
![]()
完整会话流程是这样的:启动时/dashboard读取三篇核心笔记,检查claude-mem的近期活动,做语义搜索找相关上下文,然后向用户简报。工作时claude-mem自动捕获,Smart Connections随时语义查找,知识库笔记可读写。结束时/consolidate搜索会话观察,筛选哪些进知识库、哪些留在claude-mem,更新笔记并报告。
作者特别提到了Smart Connections的坑。这个Obsidian插件的MCP服务器文档不全,他花了好几天才摸清怎么让Claude Code正确调用嵌入搜索。最终方案是本地跑bge-micro-v2,384维向量,块级索引,既保护隐私又省API费用。
三层设计的核心洞察是:指针、知识、观察必须分离。MEMORY.md做目录,Obsidian做档案,claude-mem做日记。Claude Code每会话只读800令牌的指针文件,却能通过工具调用访问整个项目的记忆网络。这不是缓存,是结构化的长期记忆。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.