一、前言
在AI智能体实际使用中,记忆能力直接决定体验上限。传统上下文窗口有限、历史对话易丢失、关键信息无法长期留存,导致每次交互都要重复说明需求。OpenClaw结合Mem0与Qdrant构建的双层记忆体系,完美解决这一问题:上层基于向量数据库实现语义检索与长期记忆,下层通过Markdown文件做关键数据持久化备份,兼顾检索效率与数据安全。
本文完整保留双层记忆架构、Qdrant集群部署、Mem0插件配置、Markdown备份机制与踩坑总结,不改变原意,同时新增2026阿里云轻量服务器部署OpenClaw、Windows11/MacOS/Linux本地全流程、阿里云千问大模型API配置、免费Coding Plan对接,提供可直接复制的代码命令、高频问题与避坑方案,帮助用户从零搭建稳定可靠的AI永久记忆系统。阿里云部署 OpenClaw 只需两步,全网最简单,步骤流程 访问阿里云OpenClaw一键部署专题页面 了解。
二、双层记忆系统核心架构
第一层:Mem0+Qdrant向量记忆(高速检索层)
- 基于Qdrant向量数据库集群存储向量数据
- 由Mem0统一管理记忆写入、更新、语义搜索
- 支持自然语言检索历史信息,毫秒级响应
- 解决传统上下文长度受限、检索效率低问题
第二层:Markdown文件记忆(持久备份层)
- MEMORY.md:存储用户身份、偏好、核心规则等长期信息
- memory/YYYY-MM-DD.md:按日期自动归档每日对话摘要
- 上下文快满时自动触发memoryFlush写入关键内容
- 作为向量库故障时的可靠兜底方案
三、Qdrant集群部署(高性能向量存储)
集群规划(单机三节点)
| 节点 | REST端口 | gRPC端口 | P2P端口 |
|---|---|---|---|
| node_1 | 6333 | 6334 | 6335 |
| node_2 | 6433 | 6434 | 6335 |
| node_3 | 6533 | 6534 | 6335 |
最低配置:2核4GB,每节点预留10GB磁盘空间。
docker-compose.yml
version: '3.8'
services:
qdrant_node_1:
image: qdrant/qdrant:v1.7.4
container_name: qdrant_node_1
ports:
- "6333:6333"
- "6334:6334"
volumes:
- ./qdrant_storage_1:/qdrant/storage
- ./qdrant_bootstraps:/qdrant/bootstraps
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
- QDRANT__CLUSTER__ENABLED=true
- QDRANT__CLUSTER__P2P__PORT=6335
- QDRANT__BOOTSTRAP__FROM_FILE=/qdrant/bootstraps/peer_2
qdrant_node_2:
image: qdrant/qdrant:v1.7.4
container_name: qdrant_node_2
ports:
- "6433:6333"
- "6434:6334"
volumes:
- ./qdrant_storage_2:/qdrant/storage
- ./qdrant_bootstraps:/qdrant/bootstraps
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
- QDRANT__CLUSTER__ENABLED=true
- QDRANT__CLUSTER__P2P__PORT=6335
- QDRANT__BOOTSTRAP__FROM_FILE=/qdrant/bootstraps/peer_3
qdrant_node_3:
image: qdrant/qdrant:v1.7.4
container_name: qdrant_node_3
ports:
- "6533:6333"
- "6534:6334"
volumes:
- ./qdrant_storage_3:/qdrant/storage
- ./qdrant_bootstraps:/qdrant/bootstraps
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
- QDRANT__CLUSTER__ENABLED=true
- QDRANT__CLUSTER__P2P__PORT=6335
- QDRANT__BOOTSTRAP__FROM_FILE=/qdrant/bootstraps/peer_1
初始化集群引导文件
mkdir -p qdrant_bootstraps/peer_1 qdrant_bootstraps/peer_2 qdrant_bootstraps/peer_3
echo "http://qdrant_node_1:6335" > qdrant_bootstraps/peer_2/peer_1.uri
echo "http://qdrant_node_2:6335" > qdrant_bootstraps/peer_3/peer_2.uri
echo "http://qdrant_node_3:6335" > qdrant_bootstraps/peer_1/peer_3.uri
启动集群并验证
docker compose up -d
curl http://localhost:6333/collections
返回{"collections":[],"status":"ok"}表示集群正常。
创建指定维度集合(关键避坑)
curl -X PUT "http://localhost:6333/collections/openclaw_memories" \
-H "Content-Type: application/json" \
-d '{
"vectors": {
"size": 1024,
"distance": "Cosine"
}
}'
四、Mem0插件安装与配置
安装插件
openclaw plugins install @mem0/openclaw-mem0
配置openclaw.json
{
"plugins": {
"entries": {
"openclaw-mem0": {
"enabled": true,
"config": {
"mode": "open-source",
"userId": "your-user-id",
"oss": {
"embedder": {
"provider": "openai",
"config": {
"apiKey": "your-embedding-api-key",
"baseURL": "https://api.siliconflow.cn/v1",
"model": "BAAI/bge-large-zh-v1.5"
}
},
"vectorStore": {
"provider": "qdrant",
"config": {
"host": "localhost",
"port": 6333
}
},
"llm": {
"provider": "openai",
"config": {
"apiKey": "your-llm-api-key",
"baseURL": "https://api.siliconflow.cn/v1",
"model": "deepseek-ai/DeepSeek-V3.2"
}
}
}
}
}
}
}
}
五、Markdown持久化记忆配置
目录结构
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆
└── memory/
└── YYYY-MM-DD.md # 每日记忆
自动归档配置
{
"agents": {
"defaults": {
"compaction": {
"mode": "safeguard",
"reserveTokensFloor": 20000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000,
"prompt": "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.",
"systemPrompt": "Session nearing compaction. Store durable memories now."
}
}
}
}
}
记忆检索配置
{
"agents": {
"defaults": {
"memorySearch": {
"enabled": true,
"provider": "openai",
"remote": {
"baseUrl": "https://api.siliconflow.cn/v1",
"apiKey": "your-api-key"
},
"model": "BAAI/bge-large-zh-v1.5"
}
}
}
}
六、2026阿里云轻量服务器部署OpenClaw
步骤1:创建实例
- 登录阿里云控制台,进入轻量应用服务器
- 镜像:应用镜像→OpenClaw 2026稳定版
- 地域:中国香港/新加坡
- 配置:2核4GB、40GB云盘、5Mbps带宽
- 设置root密码,记录公网IP
阿里云用户零基础部署 OpenClaw 喂饭级步骤流程
第一步:点击打开访问阿里云OpenClaw一键部署专题页面。




第二步:打开选择阿里云轻量应用服务器,配置参考如下:
- 镜像:OpenClaw(Moltbot)镜像(已经购买服务器的用户可以重置系统重新选择镜像)
- 实例:内存必须2GiB及以上。
- 地域:默认美国(弗吉尼亚),目前中国内地域(除香港)的轻量应用服务器,联网搜索功能受限。
- 时长:根据自己的需求及预算选择。



第三步:打开访问阿里云百炼大模型控制台,找到密钥管理,单击创建API-Key。

前往轻量应用服务器控制台,找到安装好OpenClaw的实例,进入「应用详情」放行18789端口、配置百炼API-Key、执行命令,生成访问OpenClaw的Token。
- 端口放通:需要放通对应端口的防火墙,单击一键放通即可。
- 配置百炼API-Key,单击一键配置,输入百炼的API-Key。单击执行命令,写入API-Key。
- 配置OpenClaw:单击执行命令,生成访问OpenClaw的Token。
- 访问控制页面:单击打开网站页面可进入OpenClaw对话页面。
阿里云百炼Coding Plan API-Key 获取、配置保姆级教程:
创建API-Key,推荐访问订阅阿里云百炼Coding Plan,阿里云百炼Coding Plan每天两场抢购活动,从按tokens计费升级为按次收费,可以进一步节省费用!
- 购买后,在控制台生成API Key。注:这里复制并保存好你的API Key,后面要用。

- 回到轻量应用服务器-控制台,单击服务器卡片中的实例 ID,进入服务器概览页。

- 在服务器概览页面单击应用详情页签,进入服务器详情页面。

- 端口放通在OpenClaw使用步骤区域中,单击端口放通下的执行命令,可开放获取OpenClaw 服务运行端口的防火墙。

- 这里系统会列出我们第一步中创建的阿里云百炼 Coding Plan的API Key,直接选择就可以。

- 获取访问地址单击访问 Web UI 面板下的执行命令,获取 OpenClaw WebUI 的地址。


步骤2:放行端口
firewall-cmd --add-port=18789/tcp --permanent
firewall-cmd --add-port=6333/tcp --permanent
firewall-cmd --reload
步骤3:初始化服务
docker exec -it openclaw bash
openclaw init --full
exit
docker update --restart=always openclaw
docker restart openclaw
步骤4:访问面板
http://公网IP:18789
七、本地全平台部署OpenClaw
Windows11(管理员PowerShell)
wsl --install
wsl --set-default-version 2
docker pull openclaw/openclaw:2026.3.26
mkdir -p $HOME/OpenClaw/{
config,skills,memory,workspace}
docker run -d `
--name openclaw `
--restart always `
-p 18789:18789 `
-v $HOME/OpenClaw/config:/app/config `
-v $HOME/OpenClaw/skills:/app/skills `
-v $HOME/OpenClaw/memory:/app/memory `
-v $HOME/OpenClaw/workspace:/app/workspace `
openclaw/openclaw:2026.3.26
MacOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install docker node@22
open /Applications/Docker.app
docker pull openclaw/openclaw:2026.3.26
mkdir -p ~/OpenClaw/{
config,skills,memory,workspace}
docker run -d \
--name openclaw \
--restart always \
-p 18789:18789 \
-v ~/OpenClaw/config:/app/config \
-v ~/OpenClaw/skills:/app/skills \
-v ~/OpenClaw/memory:/app/memory \
-v ~/OpenClaw/workspace:/app/workspace \
openclaw/openclaw:2026.3.26
Linux(Ubuntu/Debian)
sudo apt update
curl -fsSL https://get.docker.com | bash
sudo systemctl start docker
sudo systemctl enable docker
sudo mkdir -p /opt/openclaw/{
config,skills,memory,workspace}
sudo chmod -R 777 /opt/openclaw
sudo docker run -d \
--name openclaw \
--restart always \
-p 18789:18789 \
-v /opt/openclaw/config:/app/config \
-v /opt/openclaw/skills:/app/skills \
-v /opt/openclaw/memory:/app/memory \
-v /opt/openclaw/workspace:/app/workspace \
openclaw/openclaw:2026.3.26
八、大模型API配置
阿里云千问配置
docker exec -it openclaw bash
openclaw config set models.providers.bailian.baseUrl https://dashscope.aliyuncs.com/compatible-mode/v1
openclaw config set models.providers.bailian.apiKey sk-your-key
openclaw config set models.default.model qwen3-max
openclaw gateway restart
exit
免费Coding Plan配置
docker exec -it openclaw bash
nano /app/config/model.config.yaml
coding_plan:
enable: true
model: coding-free
api_key: your-free-key
baseUrl: https://api.codingplan.ai/v1
timeout: 30
openclaw gateway restart
exit
九、系统验证与测试
检查Qdrant集合
curl http://localhost:6333/collections
检查容器状态
docker ps | grep qdrant
对话记忆测试
你记得我的名字吗?
我们之前聊过什么话题?
十、常见问题与踩坑总结
1. Qdrant集群无法启动
- 原因:bootstrap文件未挂载
- 解决:正确挂载qdrant_bootstraps目录
2. 向量搜索异常
- 原因:向量维度不匹配(768 vs 1024)
- 解决:手动创建1024维集合
3. Mem0无法连接Qdrant
- 原因:host配置错误
- 解决:使用localhost或宿主机IP
4. 记忆不生效
- 原因:memorySearch未开启
- 解决:启用配置并重启网关
5. 重启后数据丢失
- 原因:未挂载数据目录
- 解决:配置volumes持久化存储
十一、总结
OpenClaw+Mem0+Qdrant双层记忆系统,彻底解决AI智能体记忆短板。向量层实现高速语义检索,文件层保证数据安全可靠。本文完整覆盖集群部署、插件配置、持久化归档、全平台部署、大模型对接与故障排查,所有命令可直接复制使用,零基础用户也能快速搭建拥有永久记忆的AI智能体,让每一次交互都更懂你。