需迁移OpenClaw的sessions目录至Hermes Agent:一、定位并确认~/.openclaw/sessions或%APPDATA%\openclaw\sessions中存在时间戳命名的JSON文件;二、备份该目录并校验文件数量一致;三、用hermes claw migrate --include-sessions命令迁移;四、检查~/.hermes/sessions/下生成含"source": "openclaw"字段的session_*.json文件;五、启动hermes服务并验证Web UI History中可搜索回溯原始对话。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在使用 OpenClaw 并希望迁移到 Hermes Agent,同时确保历史对话记录不丢失,则需特别关注 sessions 目录的迁移路径与完整性校验。以下是保留历史对话记录的完整步骤:
一、确认 OpenClaw 历史对话存储位置
OpenClaw 的历史对话记录默认保存在配置根目录下的 sessions/ 子目录中,该目录结构为时间戳命名的 JSON 文件集合,每条对话独立成文件。若曾自定义数据路径或启用外部存储后端(如 SQLite 或 Redis),需先停用 OpenClaw 守护进程并确认实际写入位置。
1、打开终端,执行命令定位 OpenClaw 配置目录:
macOS/Linux:输入 ls -la ~/.openclaw/
Windows:在 PowerShell 中输入 Get-ChildItem "$env:APPDATA\openclaw\"
2、检查输出中是否存在 sessions/ 文件夹;若不存在,运行 openclaw status --verbose 查看日志路径与会话存储配置项。
3、确认该目录下至少包含一个以 YYYY-MM-DD_HH-MM-SS- 开头的 JSON 文件,表明历史对话已实际落盘。
二、备份原始 sessions 目录
在执行任何迁移操作前,必须对原始 sessions/ 目录进行完整副本保存,避免因权限错误或路径覆盖导致不可逆丢失。备份应独立于 Hermes Agent 安装路径,且建议采用带时间戳的归档命名。
1、创建备份父目录:
macOS/Linux:执行 mkdir -p ~/openclaw_backup_$(date +%Y%m%d_%H%M%S)
Windows:在 PowerShell 中执行 New-Item -ItemType Directory -Path "$env:USERPROFILE\openclaw_backup_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
2、复制 sessions 目录:
macOS/Linux:运行 cp -r ~/.openclaw/sessions ~/openclaw_backup_$(date +%Y%m%d_%H%M%S)/
Windows:运行 Copy-Item -Path "$env:APPDATA\openclaw\sessions" -Destination "$env:USERPROFILE\openclaw_backup_$(Get-Date -Format 'yyyyMMdd_HHmmss')\" -Recurse
3、校验备份完整性:对比源与目标目录文件数量,macOS/Linux 执行 find ~/.openclaw/sessions -name "*.json" | wc -l 与 find ~/openclaw_backup_*/sessions -name "*.json" | wc -l;Windows 执行 (Get-ChildItem "$env:APPDATA\openclaw\sessions\*.json").Count 和对应备份路径计数。
三、执行 hermes claw migrate 并强制包含 sessions
Hermes Agent v0.10.0 及以上版本的 hermes claw migrate 命令默认启用 --include-sessions 标志,但若使用早期 v0.8.x 版本或存在环境变量覆盖,需显式指定以确保迁移器加载该目录。迁移过程将把 OpenClaw 的原始 JSON 对话文件转换为 Hermes 兼容的 sessions/ 格式,并保留原始时间戳与会话 ID 映射关系。
1、确保已安装 Hermes Agent v0.10.0 或更高版本:
执行 hermes --version,输出应为 hermes v0.10.0 或类似版本号。
2、运行带强制会话迁移的命令:
macOS/Linux:输入 hermes claw migrate --include-sessions --dry-run 预览操作;确认无跳过提示后,执行 hermes claw migrate --include-sessions
3、Windows 用户需在 PowerShell 中以管理员身份运行:
hermes claw migrate --include-sessions;若提示权限错误,先执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 再重试。
四、手动验证 sessions 迁移结果
迁移命令完成后,Hermes Agent 不会自动启动服务,必须人工进入其配置目录,检查 ~/.hermes/sessions/ 是否已生成且内容可读。该目录下文件名格式为 session_
1、进入 Hermes 配置目录:
macOS/Linux:运行 cd ~/.hermes
Windows:运行 cd $env:USERPROFILE\.hermes
2、列出新生成的会话文件:
macOS/Linux:执行 ls -la sessions/ | head -n 10
Windows:执行 Get-ChildItem .\sessions\ | Select-Object -First 10 Name
3、随机选取一个 session_
五、启动 Hermes Agent 并触发首次会话加载
仅完成文件复制不代表历史记录已生效,Hermes Agent 启动时需主动初始化会话索引数据库(SQLite),并将 sessions/ 目录内所有文件注册至 FTS5 全文检索引擎。若跳过此步,Web UI 或 CLI 中将无法搜索或回溯任何迁移来的对话。
1、启动 Hermes Agent 服务:
macOS/Linux:运行 hermes start --no-browser
Windows:运行 hermes start(默认弹出浏览器)
2、等待控制台输出包含 "Loaded X sessions from disk" 字样,X 应与备份时统计的 JSON 文件总数一致。
3、访问 Hermes Web UI(默认 http://localhost:8000),点击左侧导航栏 History 标签页,输入任意原始对话中出现过的关键词(如项目名、技术栈术语),确认搜索结果中显示匹配的会话条目且可正常展开查看完整上下文。


















