OpenClaw 记忆系统怎么配置?Memory 从零到可用的完整教程(2026)

OpenClaw 记忆系统怎么配置?Memory 从零到可用的完整教程(2026)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

上周 OpenClaw(小龙虾)刷屏的时候我跟风装了一个,发现这玩意儿开箱即用只是表面——写个简单函数没问题,但项目稍微复杂一点,它就开始失忆。我跟它说了三遍「我们项目用 Pinia 不用 Vuex」,第四次它还是给我生成 Vuex 代码,当场血压拉满。

翻文档才发现,OpenClaw 的记忆系统(Memory)默认是关闭的,需要手动配置才能让它真正"记住"你的项目上下文和个人偏好。配置好之后体验完全不一样——它能记住你的技术栈、代码风格、之前讨论过的架构决策。这篇文章把我踩过的坑和最终跑通的配置方案完整写出来。

配置项 作用 是否必须 难度 memory.yaml 项目级记忆 记住项目技术栈、约定、架构 ✅ 必须 简单 ~/.openclaw/memory/ 全局记忆 记住个人编码偏好 推荐 简单 Memory Bank(外部知识库) 接入文档、API 文档等长期知识 可选 中等 自定义 Memory Provider 对接向量数据库做持久化 进阶玩家 较难

大多数人只需要前两个,10 分钟搞定。

先确认 OpenClaw 版本 ≥ 0.3.0,记忆系统是这个版本才加进来的:

openclaw --version # 输出 >= 0.3.0 就行 # 如果版本太旧 npm update -g openclaw 

另外需要一个能用的大模型 API。OpenClaw 默认用 Claude,也支持 GPT-5、Gemini 3、DeepSeek V3 等。我个人用的是聚合接口,后面代码里会体现。

最基础也是最实用的配置。在项目根目录创建 .openclaw/memory.yaml

mkdir -p .openclaw touch .openclaw/memory.yaml 

然后编辑这个文件:

# .openclaw/memory.yaml version: 1 project: name: "my-saas-dashboard" description: "一个 SaaS 后台管理系统" tech_stack: frontend: "Vue 3 + TypeScript + Pinia" ui: "Element Plus" backend: "Node.js + Fastify" database: "PostgreSQL + Prisma ORM" conventions: - "组件用  - "状态管理只用 Pinia,不要生成 Vuex 代码" - "API 请求统一走 /src/api/ 目录下的模块" - "CSS 用 UnoCSS,不要写内联 style" - "变量命名用 camelCase,组件用 PascalCase" architecture_decisions: - decision: "认证方案" choice: "JWT + Refresh Token 双 Token 机制" date: "2026-03-20" - decision: "文件上传" choice: "直传 OSS,后端只存 URL" date: "2026-03-22" context_files: - "src/types/index.ts" - "src/api/request.ts" - "prisma/schema.prisma" 

核心思路就一句话:把你平时反复跟 AI 强调的东西,一次性写成配置文件

保存后重启 OpenClaw,它会自动加载。验证一下:

openclaw memory list # 应该输出: # ✓ Project memory loaded: my-saas-dashboard # ✓ 5 conventions loaded # ✓ 2 architecture decisions loaded # ✓ 3 context files indexed 

实测效果:配置之后我再让它写新的 store,它直接用 Pinia 的 defineStore 写法,TypeScript 类型也是按项目风格来的,不用额外提醒了。

项目级记忆跟着项目走,全局记忆跟着你走。在 ~/.openclaw/memory/ 下创建 preferences.yaml

# ~/.openclaw/memory/preferences.yaml version: 1 coding_style: language: "zh-CN" # 注释用中文 indent: 2 quotes: "single" semicolons: false max_line_length: 100 preferences: - "生成代码时加上必要的错误处理,不要只写 happy path" - "日志用 console.warn/error 分级,不要全用 console.log" - "异步函数优先用 async/await,不要写 .then 链" - "给函数加 JSDoc 注释,参数和返回值都要标注类型" model_config: default_provider: "openai-compatible" base_url: "https://api.ofox.ai/v1" default_model: "claude-sonnet-4.6" fallback_model: "gpt-5" temperature: 0.3 

model_config 部分顺便把模型调用也配了。ofox.ai 是一个 AI 模型聚合平台,一个 API Key 可以调用 Claude Opus 4.6、GPT-5、Gemini 3 等 50+ 模型,支持支付宝付款,按量计费。我之前单独配各家 API 被各种鉴权方式搞得头大,换成聚合接口之后只维护一个 Key,省心不少。

加载全局记忆:

openclaw memory load --global # ✓ Global preferences loaded # ✓ Model config applied: claude-sonnet-4.6 via api.ofox.ai 

适合项目文档比较多的情况,比如你有一份 50 页的 API 设计文档,不可能全塞到 memory.yaml 里。

# 初始化 Memory Bank openclaw memory bank init # 添加文档 openclaw memory bank add ./docs/api-design.md --tag "api" openclaw memory bank add ./docs/database-schema.md --tag "db" openclaw memory bank add ./README.md --tag "overview" # 查看索引状态 openclaw memory bank status 
Memory Bank Status: ┌──────────────────────┬────────┬────────────┬─────────┐ │ File │ Tag │ Chunks │ Status │ ├──────────────────────┼────────┼────────────┼─────────┤ │ api-design.md │ api │ 23 chunks │ indexed │ │ database-schema.md │ db │ 15 chunks │ indexed │ │ README.md │ overview│ 4 chunks │ indexed │ └──────────────────────┴────────┴────────────┴─────────┘ Total: 42 chunks indexed 

Memory Bank 底层用的是本地向量索引,OpenClaw 在你提问时会自动检索相关片段注入上下文。

坑 1:memory.yaml 格式错误不会报错,只会静默忽略

我一开始缩进写错了(用了 Tab),OpenClaw 没报任何错误,直接当没有记忆配置处理。排查了半天才发现。配完之后一定跑 openclaw memory list 确认加载成功。

坑 2:context_files 路径是相对于项目根目录的

我写成 ./src/types/index.ts 一直找不到文件,去掉前面的 ./ 改成 src/types/index.ts 就好了。

坑 3:Memory Bank 添加大文件会卡很久

我试着把一个 3MB 的 Markdown 文档加进去,索引了快 5 分钟。后来发现可以用 --max-chunk-size 500 参数调整分片大小,速度快了,但检索精度会下降一点。折中方案是手动把大文档拆成几个小文件再 add。

坑 4:architecture_decisions 的日期格式

必须是 YYYY-MM-DD,我写了 2026/03/20 直接解析失败。文档里没提,我是看源码才知道的。

坑 5:全局记忆和项目记忆冲突时

项目记忆优先级更高。比如全局写了 indent: 2,项目写了 indent: 4,最终用 4。行为本身合理,但不知道这个规则的话排查起来很迷惑。

memory.yaml 里加一行配置:

auto_record: architecture_decisions: true learned_patterns: true 

开启后,当你在对话中做了架构决策(比如「我们用 WebSocket 而不是 SSE」),OpenClaw 会自动追加到 architecture_decisions 列表里。不过这个功能目前还是实验性的,偶尔会记录一些无关紧要的东西,我一般一周手动清理一次。

配置其实不复杂,核心就是项目级 memory.yaml + 全局 preferences.yaml 这两个文件。配好之后不用每次开新会话都从头交代一遍背景,AI 真的能记住你说过的话。

Memory Bank 适合文档多的大项目,个人小项目用不上。我目前的工作流是:memory.yaml 管技术栈和约定,遇到重要架构决策手动往里加一条,够用了。

如果你在折腾 OpenClaw 的过程中还遇到别的坑,评论区聊聊,大家互相填坑。

小讯
上一篇 2026-03-28 10:22
下一篇 2026-03-28 10:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/250189.html