一条命令迁移,帮你实现 OpenClaw 与 Hermes Agent 记忆互通!

简介: 本文是基于阿里云 Tablestore 的 Agent 记忆共享实战指南:一条命令迁移 OpenClaw 记忆至 Hermes,通过统一 Tablestore 实例、应用 ID 与租户 ID,实现跨Agent(如龙虾与马)记忆自动互通、实时同步与语义检索,支持 CLI 管理与对话中直接调用,安全可靠,开箱即用。

一条命令迁移,一个记忆库共享——基于阿里云 Tablestore  的迁移实战指南来了,全文干货,赶紧收藏!

两个插件只要连接同一个 Tablestore 实例、使用相同的应用 ID 和租户 ID,它们的记忆就能自动互通。写入时各自标记来源,读取时自动共享所有数据,无需额外配置。


实战开始:三步让龙虾和马共享记忆

前置准备

在开始之前,请确保你已经:

  1. 拥有一个阿里云账号,并已开通 Tablestore 服务
  2. 创建好一个北京地域的 Tablestore 实例,获取 Endpoint、实例名称、AccessKey
  3. 已安装 OpenClaw 和 Hermes Agent

Step 1|从龙虾迁移到马

如果你已经有 OpenClaw 的配置和记忆,先用 Hermes 内置命令一键迁移:

hermes claw migrate

这条命令会自动完成:

  • 迁移 OpenClaw 的配置文件
  • 迁移 MEMORY.md 等记忆文件
  • 迁移 API Key 配置
  • 迁移已有的技能和消息平台设置

迁移完成后,你的 Hermes 已经"继承"了龙虾的全部记忆和个性。后续安装 Tablestore 插件后,这些本地记忆文件还会自动镜像到云端,实现双重保障(详见 Step 2.2)。

Step 2|两边安装 Tablestore 记忆插件

2.1 OpenClaw 侧安装

# 安装插件
openclaw plugins install @tablestore/openclaw-tablestore-memory

编辑 ~/.openclaw/openclaw.json,添加配置:

{
  "plugins": {
    "slots": {
      "memory": "tablestore-mem"
    },
    "entries": {
      "tablestore-mem": {
        "enabled": true,
        "config": {
          "endpoint": "https://你的实例.cn-beijing.ots.aliyuncs.com",
          "otsInstanceName": "你的实例名",
          "accessKeyId": "<your-ak>",
          "accessKeySecret": "<your-sk>",
          "appId": "MyAgent",
          "tenantId": "小酒",
          "autoCreateMemoryStore": true,
          "memoryStoreName": "my_mem_store"
        },
        "hooks": {
          "allowConversationAccess": true
        }
      }
    }
  }
}

重启生效:

openclaw gateway restart

验证:

openclaw tablestore-mem doctor
# 能正常返回即安装成功
{
  "ok": true,
  "connection": {
    "endpoint": "https://xxx.cn-beijing.ots.aliyuncs.com",
    "otsInstanceName": "xxx",
    "memoryStoreName": "my_mem_store"
  },
  "scope": {
    "appId": "openclaw",
    "tenantId": "__default__",
    "agentId": "*",
    "runId": "*"
  },
  "checks": [
    "ensureMemoryStore",
    "getMemoryStore",
    "listMemories"
  ],
  "memoryStore": {
    "ok": true,
    "memoryStoreName": "my_mem_store",
    "otsInstance": "q02790o2dy0c",
    "description": "OpenClaw long-term memory"
  },
  "listMemories": {
    "ok": true,
    "count": 4,
    "limit": 5,
    "nextToken": "....",
    "sample": [
      {
        "id": "cfe6369cdae5619a118be15fb38ded01",
        "text": "'token-1777535109' is the cryptographic or session token associated with the verification search request 'verify-search-015'",
        "scope": {
          "appId": "openclaw",
          "tenantId": "__default__",
          "agentId": "openclaw",
          "runId": "agent:openclaw:openai-user:__default__"
        }
      }
    ]
  },
  "errors": []
}

2.2 Hermes 侧安装

# 安装插件
hermes plugins install https://github.com/aliyun/hermes-tablestore-memory
# 交互式激活(推荐)
hermes memory setup
# 选择 tablestore-mem

密钥配置写入 ~/.hermes/.env

TABLESTORE_MEMORY_AK=<your-ak>(与 OpenClaw 侧相同)
TABLESTORE_MEMORY_SK=<your-sk>(与 OpenClaw 侧相同)

非密钥配置写入 $HERMES_HOME/tablestore_memory.json

{
  "endpoint": "https://你的实例.cn-beijing.ots.aliyuncs.com",
  "instance_name": "你的实例名",
  "memory_store_name": "my_mem_store",
  "app_id": "MyAgent",
  "tenant_id": "小酒",
  "enable_rerank": true,
  "auto_create_store": true,
  "timeout": 30.0
}

验证:

hermes tablestore-mem doctor
# 输出:
{
  "ok": true,
  "provider": "tablestore-mem",
  "instance_name": "xxx",
  "endpoint": "https://xxx.cn-beijing.ots.aliyuncs.com",
  "memory_store_name": "my_mem_store",
  "scope": {
    "appId": "hermes",
    "tenantId": "__default__",
    "agentId": "*",
    "runId": "*"
  },
  "checks": {
    "initialize": {
      "ok": true
    },
    "describe_memory_store": {
      "ok": true,
      "memory_store_name": "my_mem_store"
    },
    "list_memories": {
      "ok": true,
      "memory_count": 0,
      "has_next_token": false
    }
  }
}

内置记忆镜像:安装完成后,Hermes 插件会自动将内置的 MEMORY.md 和 USER.md 同步写入 Tablestore。这意味着:

  • Step 1 中从 OpenClaw 迁移过来的记忆文件,会自动备份到云端
  • Hermes 后续对 MEMORY.md / USER.md 的每次更新,也会实时同步到 Tablestore
  • 即使本地文件丢失或设备更换,你的记忆依然安全——Tablestore 里有完整镜像

2.3 共享关键:确保配置一致

两边能共享记忆的核心条件:

配置项

OpenClaw 侧

Hermes 侧

要求

Tablestore 实例

endpoint + otsInstanceName

endpoint + instance_name

必须相同

AccessKey

accessKeyId / accessKeySecret

TABLESTORE_MEMORY_AK / SK

必须相同

记忆库名称

默认 openclaw_mem

默认 hermes_mem

必须相同(这是共享的关键)

appId

默认 MyAgent

默认 MyAgent

必须相同(这是共享的关键)

租户标识

tenantId

tenant_id

必须相同(这是共享的关键)

AgentId

默认 openclaw

默认 hermes

可以不同,用于区分记忆来源

重点tenantId / tenant_id 是记忆共享的唯一钥匙。两边设置成同一个值(比如你的用户名"小酒"),搜索时插件会自动用 agentId=* 通配,检索该租户下所有 Agent 的记忆。

Step 3|开始玩耍:跨 Agent 记忆实测

实验一:龙虾写入,马来回忆

在 OpenClaw 中,新开一个 session,输入:

我叫小酒,你叫虾头。我喜欢喝冰美式,不加糖。周末喜欢写 Rust。

等待几秒,让插件自动回写完成。也可以手动确认:

openclaw tablestore-mem search "小酒"

你应该能看到刚刚存入的记忆。

切换到 Hermes,新开一个全新 session,输入:

你好呀,你知道我是谁吗?

Hermes 的 queue_prefetch() 会自动从 Tablestore 检索相关记忆。它应该回答出:

你是小酒,你喜欢喝冰美式(不加糖),周末喜欢写 Rust。

龙虾记住的,马也知道了。

实验二:马写入,龙虾来回忆

在 Hermes 中输入:

记住:我们的项目叫 Cortex,用的是 MySQL + Tablestore 架构,部署在阿里云北京地域。

Hermes 的 sync_turn() 会自动同步到 Tablestore。也可以用工具显式确认:

调用 tablestore_search 搜索 "Cortex 项目"

切换回 OpenClaw,新开 session,输入:

帮我写一个 Cortex 项目的数据库健康检查脚本

OpenClaw 的 before_prompt_build 钩子会自动检索到 Hermes 写入的记忆,直接知道要针对 MySQL + Tablestore 生成检查逻辑。

马记住的,龙虾也知道了。

实验三:CLI 交叉验证

两边的 CLI 命令也可以交叉查看记忆:

# 在 OpenClaw 侧搜索所有记忆(包括 Hermes 写入的)
openclaw tablestore-mem search "项目架构"
# 在 Hermes 侧搜索所有记忆(包括 OpenClaw 写入的)
hermes tablestore-mem search "小酒的偏好"

进阶玩法

用 CLI 手动管理共享记忆

# OpenClaw 侧:手动添加一条记忆
openclaw tablestore-mem add "团队规范:所有 API 必须写单元测试"
# Hermes 侧:手动添加一条记忆
hermes tablestore-mem add "代码审查偏好:关注性能和安全" --metadata source=manual
# 任意一侧搜索,两边的记忆都能被检索到
hermes tablestore-mem search "团队规范" --top-k 10

在 Hermes 对话中显式操作记忆

Hermes 插件提供四个 Agent 工具,可以在对话中直接调用:

工具

用途

示例

tablestore_profile

查看记忆快照

"列出我所有的记忆"

tablestore_search

语义搜索

"搜索关于部署方案的记忆"

tablestore_remember

主动存储

"记住:生产环境禁止使用 root 账号"

tablestore_forget

删除记忆

"删除关于旧项目的记忆"

在 OpenClaw 对话中使用斜杠命令

你可以在 OpenClaw 对话中通过斜杠命令快速搜索和添加共享记忆,无需打开终端

/tablestore-mem-search 部署方案
/tablestore-mem-add 新规范:所有接口必须做限流

工作原理:为什么能互通?

两个插件能无缝共享记忆,核心在于 Scope 机制的设计

写入时(精确归属):
  OpenClaw → {memoryStoreName:"my_mem_store", appId: "MyAgent", tenantId: "小酒", agentId: "openclaw", runId: "session-123"}
  Hermes   → {memoryStoreName:"my_mem_store", appId: "MyAgent", tenantId: "小酒", agentId: "hermes", runId: "session-456"}
搜索时(通配检索):
  两边都用 → {appId: MyAgent, tenantId: "小酒", agentId: *, runId: *}
  • 写入:每条记忆都精确标记了来自哪个 Agent、哪个会话,数据归属清晰
  • 搜索:自动展开为通配符,在同一 tenantId 下检索所有 Agent、所有会话的记忆
  • 效果:龙虾写的、马写的、不同会话写的,全部可被任意一方检索到

常见问题

Q:两边的 memoryStoreName 不一样(openclaw_mem vs hermes_mem),记忆还能互通吗?

A:不可以。Tablestore 的记忆检索基于 Scope(memoryStoreName + tenantId + appId + runId)进行匹配。需要几大配置一致,才能跨 Agent 检索。

Q:迁移后 OpenClaw 还能继续用吗?

A:完全可以。hermes claw migrate 是复制而非剪切,原有的 OpenClaw 配置和数据不受影响。你可以两边同时使用,各取所长。

Q:记忆会不会冲突?比如龙虾说我喜欢 Python,马说我喜欢 Rust?

A:不会冲突。每条记忆独立存储,搜索时按语义相关性排序返回。两条记忆会同时被召回,Agent 会根据上下文判断哪条更相关。你也可以用 tablestore_forget 手动清理过时的记忆。

Q:如果我只想用 Hermes,不再用 OpenClaw,需要做什么?

A:直接使用 Hermes 即可。OpenClaw 侧写入的记忆已经在 Tablestore 中,Hermes 可以直接检索到。不需要做额外的数据迁移。

最后

龙虾🦞和马🐴,不是二选一的关系。

  • OpenClaw 在 IDE 中编码依然犀利
  • Hermes 在跨平台调度和自进化上更胜一筹
  • Tablestore 让它们共享同一个"大脑",各司其职但记忆互通

装上 Tablestore 记忆插件,你的龙虾不再只是龙虾,你的马也不再只是马——它们是同一个"你"的两只手。

相关文章
|
2月前
|
缓存 NoSQL 数据可视化
让知识在 Agent 间流动 —— 表格存储知识库 Skills 实践指南
Tablestore 知识库服务提供全托管 RAG 方案,支持 PDF/Word 等多格式自动解析与向量检索。通过 `tablestore-agent-cli` 命令行工具和 `Agent Skills`,可让 OpenClaw、Hermes 等不同 Agent 共享同一知识源,打破数据孤岛,实现跨平台、跨设备的统一知识管理与实时同步。
813 116
|
2月前
|
存储 人工智能 自然语言处理
知识库接入还能这么玩?Tablestore 四种方式实战揭秘
本文详解 Tablestore 知识库服务 API 设计、四种接入方式、多维度评测结果及 PDS、ECS 等客户落地案例,助力企业快速集成高质量 RAG 能力。
740 125
|
2月前
|
存储 运维 NoSQL
你的企业知识库,何必自己折腾?Tablestore 知识库服务帮你一站式搞定
Tablestore 知识库服务是阿里云推出的全托管 RAG 解决方案,基于 Serverless 架构,支持文档自动解析、向量化、混合检索与Subspace多租户隔离;数据全程留存客户OSS/Tablestore账户,零运维、按量付费,满足金融、政务等高合规场景需求。
773 124
|
18天前
|
存储 人工智能 数据可视化
别再手动复制 Skill 了:多 Agent 时代的 Skill 管理方案
多 Agent 场景下 Skill 的统一管理与同步。
557 124
|
13天前
|
消息中间件 存储 Kafka
Kafka 原生消息入湖能力上线!一键打通实时流与数据湖
阿里云消息队列 Kafka 版正式上线原生消息入湖能力。
321 124
|
13天前
|
人工智能 运维 自然语言处理
「Agent 友好」的可观测:阿里云发布观测与智能运维 Skills
开发者只需在 Qoder 等 Agent 客户端中发出一句自然语言指令。借助云监控与STAROps Skill,Agent 即可自主完成数据接入、告警配置、根因诊断,并联动研发工具链完成代码修复与发布。
404 123
|
13天前
|
人工智能 安全 Cloud Native
Higress 新发布:AI Gateway 能力增强,Gateway API 及其推理扩展持续打磨
增强 AI 网关能力,持续打磨 Gateway API 及其推理扩展。
455 126
|
1月前
|
存储 消息中间件 人工智能
阿里云 OSS 发布 Table Bucket,对象、向量、表格三合一,打造 AI Native 的多模态数据存储统一底座
阿里云 OSS 推出T able Bucket,集成 Apache Iceberg 语义,高效管理海量结构化数据。与对象桶、向量桶协同,构建覆盖非结构化、向量、结构化数据的多模态统一存储底座,支持零改造迁移、实时入湖与跨引擎分析,助力 AI Agent 时代数据高效治理。
563 121
|
3月前
|
存储 人工智能 弹性计算
揭秘千问 APP 千万级 AI 订单背后的记忆存储实践
2026年春节,千问 APP “春节请客计划” 9 小时破 1000 万单,依赖 Tablestore 构建的一站式记忆系统:支持短期/长期记忆统一管理、毫秒级读写、Serverless 弹性伸缩、多模态数据融合及原生向量检索,实现数十亿条记忆的高效存储与实时流转。
819 118
|
10天前
|
弹性计算 缓存 负载均衡
可用架构实践:阿里云支撑跑腿平台稳定运行,分账链解决交易结算核心痛点
同城跑腿、即时代办、即时配送属于典型的高并发、短时效、强交易、高波动业务场景:节假日、午晚高峰、暴雨暴雪天气会瞬间触发流量峰值,订单秒级涌入;同时每一笔订单都涉及用户、平台、入驻商户、跑腿个人师傅四方交易分润,业务链路复杂。 对于开发者而言,跑腿平台上线运营核心要解决两大问题:业务层高可用稳定承载 + 交易层合规自动化分账。 绝大多数成熟跑腿平台,均基于阿里云云原生架构实现业务稳定、弹性扩容、故障自愈,保障全时段服务可用;而针对行业专属的多方分账、高分润、逆向退款、合规清算难题,行业通用最优解是垂直场景专用系统——分账链。 本文从阿里云架构落地、业务痛点拆解、交易分账解决方案三个维度,完整复盘
243 122

热门文章

最新文章