全部产品
Search
文档中心

云原生数据仓库AnalyticDB:基于Mem0的OpenClaw长记忆方案

更新时间:Mar 19, 2026

OpenClaw 是当前最受欢迎的开源 Agent 框架,其默认的、基于本地文件的记忆系统在处理长周期、跨会话的任务时存在局限性。本文将介绍如何通过 openclaw-mem0 插件,将AnalyticDB for MySQL作为 OpenClaw 的持久化记忆后端,为您的 Agent 提供一个企业级的、可无限扩展的“长期大脑”。

应用场景

特性

说明

跨会话记忆管理

基于 AnalyticDB for MySQL+Mem0 提供持久化记忆存储,长期记录用户行为。

多设备协同共享

多个终端或 Agent 实例共享同一记忆库,实现记忆共享。

实时高效检索

毫秒级记忆读写能力,存储高可靠性与弹性伸缩。

企业级可靠性

云端记忆实时备份与恢复机制。

方案架构

本方案通过以下组件协同工作,构建一个完整的持久化记忆系统:

组件

角色

OpenClaw

Agent 的核心运行框架。

openclaw-mem0插件

扮演“桥梁”角色,拦截对话,调用 LLM 和 Embedding 模型,并将结构化的记忆存入或检索于 AnalyticDB for MySQL

AnalyticDB for MySQL

作为持久化记忆后端,负责向量化记忆的存储与高效检索。

阿里云百炼大模型服务

提供对话所需的大语言模型(LLM)和文本向量化(Embedding)模型。

准备工作

在开始集成前,请确保您已准备好以下资源:

  1. 已创建AnalyticDB for MySQL 版集群,并确保其集群版本需 ≥ 3.2.7。具体操作请参见:企业版、基础版及湖仓版快速入门

    说明

    云原生数据仓库AnalyticDB MySQL控制台集群信息页面,配置信息区域,查看和升级内核版本。若集群已是最新默认基线版本但仍需升级,请通过钉钉联系阿里云服务支持处理(钉钉账号:x5v_rm8wqzuqf)。

  2. 已获取模型服务 API Key,本教程使用阿里云百炼大模型服务平台,请开通服务并获取 API Key,详情请参考文档:获取API Key

操作步骤

本操作将基于阿里云轻量应用服务器 + AnalyticDB for MySQL 集群演示 OpenClaw 接入openclaw-mem0实现长期记忆存储。

步骤 1:开通 OpenClaw 实例(可选)

  1. 购买服务器实例:

    • 访问 轻量应用服务器购买页面

    • 地域:选择AnalyticDB for MySQL集群所在的地域,以确保后续可以进行高效的内网通信。

    • 镜像:在应用镜像中搜索并选择 OpenClaw

    • 套餐配置:为确保稳定运行,推荐选择 通用型 4核16GB 或更高规格。

    • 根据您的需求选择购买时长和数量,然后单击立即购买

  2. 初始化 OpenClaw 应用:

    • 等待实例状态变为运行中后,单击实例ID进入服务器概览页。

    • 切换到应用详情选项卡,根据页面指引,依次完成端口放通配置OpenCLaw

    • 应用详情 > 模型配置模块,可进行大模型的配置。

  3. 开通内网互通:

    • 在左侧导航栏中,选择内网互通

    • 单击内网互通按钮。此操作将打通轻量应用服务器与您同一地域下的其他阿里云服务(如AnalyticDB for MySQL)之间的内网连接,这是实现低延迟、高安全性访问的关键。

步骤 2:安装插件并重建依赖

在实例详情的顶部,单击远程连接,即可通过浏览器直接登录到服务器的命令行终端。

说明

当 Python 版本在 3.8 及以上时,可省略其他步骤,仅需执行安装插件即可。

  • 检查 Python 版本,插件需要 Python 3.8+ 版本:

    # 查看 Python 版本
    python3 --version
  • 安装 Python 3.9(可选),如果当前版本低于 3.8,执行以下命令安装:

    # 安装依赖
    sudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel --disablerepo=docker-ce-stable
    
    # 下载并安装 Python 3.9
    cd /tmp
    curl -O https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
    tar xzf Python-3.9.18.tgz
    cd Python-3.9.18
    ./configure --enable-optimizations
    sudo make altinstall
    
    # 验证安装
    python3.9 --version
    
    # 创建软链接
    sudo ln -sf /usr/local/bin/python3.9 /usr/bin/python3
    
    # 再次验证
    python3 --version
  • 安装插件:

    openclaw plugins install @adbm-ai/openclaw-mem0
  • 重新编译 better-sqlite3,删除并重新安装基于 Python 3.9 编译的 better-sqlite3:

    cd ~/.openclaw/extensions/openclaw-mem0
    rm -rf node_modules/better-sqlite3
    npm install better-sqlite3 --build-from-source

步骤 3:配置 openclaw.json

这是最关键的一步。服务器的命令行终端,打开 ~/.openclaw/openclaw.json 文件,找到(或添加)"openclaw-mem0" 配置项,并根据您的环境填入以下信息。

  • 打开配置文件

    编辑 ~/.openclaw/openclaw.json 文件。安装完成后,在 pluginsentries 中可以看到 openclaw-mem0 字段。

    配置文件

  • 配置说明

    参数

    说明

    mode

    设置为 "open-source",代表使用自建 Mem0。

    userId

    记忆用户标识,实现记忆共享与租户隔离。建议一个 OpenClaw 实例对应一个唯一的 userId。

    llm.provider

    固定值,dashscope,阿里云百炼。

    llm.config.apiKey

    使用阿里云百炼平台的Api Key。

    llm.config.baseURL

    https://dashscope-intl.aliyuncs.com/compatible-mode/v1。

    llm.config.model

    使用阿里云百炼平台支持的模型,推荐qwen3.5-plus。

    embedder.provider

    固定值,dashscope,阿里云百炼。

    embedder.config.apiKey

    使用阿里云百炼平台的Api Key。

    embedder.config.url

    https://dashscope-intl.aliyuncs.com/compatible-mode/v1。

    embedder.config.model

    推荐使用text-embedding-v4

    embedder.config.embeddingDims

    建议1536维。

    vectorStore.provider

    固定值,aliyun-adb-mysql。

    vectorStore.config.host

    内网连接使用AnalyticDB for MySQL的vpc 地址,公网连接使用AnalyticDB for MySQL的公网地址。

    vectorStore.config.port

    数据库端口,3306。

    vectorStore.config.database

    openclaw_adb数据库名,如不存在/不指定会自动创建,无需修改。

    vectorStore.config.user

    创建的AnalyticDB for MySQL账号名,账号需要读写权限。

    vectorStore.config.password

    创建的账号密码。

    vectorStore.config.collectionName

    openclaw_mem0_adb,记忆存储的表名。

  • 配置示例

    "openclaw-mem0": {
      "enabled": true,
      "config": {
        "mode": "open-source",
        "userId": "alice",
        "oss": {
          "llm": {
            "provider": "dashscope",
            "config": {
              "apiKey": "sk-2fa2a****cef0",
              "baseURL": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
              "model": "qwen3.5-plus"
            }
          },
          "embedder": {
            "provider": "dashscope",
            "config": {
              "model": "text-embedding-v4",
              "embeddingDims": 1536,
              "apiKey": "sk-2fa2a****cef0",
              "url": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
            }
          },
          "vectorStore": {
            "provider": "aliyun-adb-mysql",
            "config": {
              "host": "amv-0jl1****41.ads.aliyuncs.com",
              "port": 3306,
              "database": "openclaw_adb",
              "user": "your-user-name",
              "password": "your-password",
              "collectionName": "openclaw_mem0_adb"
            }
          }
        }
      }
    }
  • 重启服务

    openclaw gateway restart

    配置完成后,可以看到openclaw-mem0已成功加载。

使用指南

基础使用

  • 启动对话

    openclaw tui
  • 示例 1:主动添加记忆

    请记住,我购买了阿里云的 OpenClaw 服务器,过期时间是 2026 年 4 月 16 日。

  • 示例 2:查询记忆

    我近期有什么事情需要注意?

CLI 命令行操作

  • 执行openclaw mem0 search "openclaw" 查看记忆

    openclaw mem0 search "openclaw"

  • 同时支持的CLI 命令如下

    # Search all memories (long-term + session)
    openclaw mem0 search "what languages does the user know"
    
    # Search only long-term memories
    openclaw mem0 search "what languages does the user know" --scope long-term
    
    # Search only session/short-term memories
    openclaw mem0 search "what languages does the user know" --scope session
    
    # Stats
    openclaw mem0 stats
    
    # Search a specific agent's memories
    openclaw mem0 search "user preferences" --agent researcher
    
    # Stats for a specific agent
    openclaw mem0 stats --agent researcher

Multi-Agent 长记忆隔离

OpenClaw 的 Multi-Agent 场景中,Mem0 + AnalyticDB for MySQL 方案支持多个 Agent 的长记忆隔离。

  • 步骤 1:创建 Agent

    # 添加 writer agent
    openclaw agents add writer --workspace ~/.openclaw/workspace-writer --model bailian/qwen3.5-plus --non-interactive
    
    # 重启 Gateway
    openclaw gateway restart
    
    # 验证 agent 列表
    openclaw agents list
  • 步骤 2:与 Agent 交互

    运行 openclaw tui,切换agent 到 writer 并进行交流。

    切换Agent

  • 步骤 3:搜索特定 Agent 的记忆

    openclaw mem0 search "科幻小说推荐" --agent writer

  • 步骤 4:验证记忆隔离

    新建一个新的 agent reader

    # 添加 reader agent
    openclaw agents add reader --workspace ~/.openclaw/workspace-reader --model bailian/qwen3.5-plus --non-interactive
    
    # 搜索 reader 的记忆(应为空)
    openclaw mem0 search "科幻小说推荐" --agent reader

    可以看到,不同 Agent 的记忆是相互隔离的。

常见问题

  • Q:连接 AnalyticDB for MySQL 失败?

    A:请依次检查:

    • openclaw.json 中的hostportuserpassword是否正确。

    • OpenClaw 服务器的 IP 是否已添加到 AnalyticDB for MySQL 集群的白名单中。

    • 网络是否通畅(公网/内网)。

  • Q:记忆无法保存或检索,但没有报错?

    A:最可能的原因是阿里云百炼大模型的 API Key 不正确或已过期。请检查 openclaw.json 中 llm 和 embedder 的配置。同时,可以通过 openclaw gateway logs 查看详细的错误日志。

  • Q:支持哪些 Embedding 模型?

    A:推荐使用阿里云百炼的 text-embedding-v4(1536维)。也支持其他兼容 OpenAI 格式的 Embedding 服务。