知识引擎/Hermes 知识引擎/从 OpenClaw 迁移

hermes claw migrate 会将你的 OpenClaw(或旧版 Clawdbot/Moldbot)配置导入 Hermes。本指南详细说明了哪些内容会被迁移、配置键的映射关系,以及迁移后需要验证什么。 迁移始终会在进行任何更改之前显示完整的导入预览。查看列表后确认即可继续。

从 OpenClaw 迁移

> 📖 本文档翻译自 Hermes Agent 官方文档 > 最后更新:2026-04-16


hermes claw migrate 会将你的 OpenClaw(或旧版 Clawdbot/Moldbot)配置导入 Hermes。本指南详细说明了哪些内容会被迁移、配置键的映射关系,以及迁移后需要验证什么。

快速开始

# 先预览再迁移(始终先显示预览,然后要求确认)
hermes claw migrate

# 仅预览,不做任何更改
hermes claw migrate --dry-run

# 完整迁移包括 API 密钥,跳过确认
hermes claw migrate --preset full --yes

迁移始终会在进行任何更改之前显示完整的导入预览。查看列表后确认即可继续。

默认从 ~/.openclaw/ 读取。旧版的 ~/.clawdbot/~/.moltbot/ 目录会被自动检测。旧版配置文件名(clawdbot.jsonmoltbot.json)同样自动识别。

选项

选项说明
--dry-run仅预览——显示将要迁移的内容后停止。
--preset <name>full(默认,包含密钥)或 user-data(不含 API 密钥)。
--overwrite冲突时覆盖现有 Hermes 文件(默认:跳过)。
--migrate-secrets包含 API 密钥(使用 --preset full 时默认开启)。
--source <path>自定义 OpenClaw 目录。
--workspace-target <path>指定 AGENTS.md 的放置位置。
--skill-conflict <mode>skip(默认)、overwriterename
--yes预览后跳过确认提示。

迁移内容

人设、记忆和指令

内容OpenClaw 来源Hermes 目标备注
人设workspace/SOUL.md~/.hermes/SOUL.md直接复制
工作区指令workspace/AGENTS.md--workspace-target 中的 AGENTS.md需要 --workspace-target 参数
长期记忆workspace/MEMORY.md~/.hermes/memories/MEMORY.md解析为条目,与已有内容合并,去重。使用 § 分隔符。
用户资料workspace/USER.md~/.hermes/memories/USER.md与记忆相同的条目合并逻辑。
每日记忆文件workspace/memory/*.md~/.hermes/memories/MEMORY.md所有每日文件合并到主记忆中。

工作区文件也会检查 workspace.default/workspace-main/ 作为回退路径(OpenClaw 在近期版本中将 workspace/ 重命名为 workspace-main/,并在多 Agent 设置中使用 workspace-{agentId})。

技能(4 个来源)

来源OpenClaw 位置Hermes 目标
工作区技能workspace/skills/~/.hermes/skills/openclaw-imports/
托管/共享技能~/.openclaw/skills/~/.hermes/skills/openclaw-imports/
个人跨项目技能~/.agents/skills/~/.hermes/skills/openclaw-imports/
项目级共享技能workspace/.agents/skills/~/.hermes/skills/openclaw-imports/

技能冲突通过 --skill-conflict 处理:skip 保留现有 Hermes 技能,overwrite 替换它,rename 创建一个 -imported 副本。

模型和 Provider 配置

内容OpenClaw 配置路径Hermes 目标备注
默认模型agents.defaults.modelconfig.yamlmodel可以是字符串或 {primary, fallbacks} 对象
自定义 Providermodels.providers.*config.yamlcustom_providers映射 baseUrlapiType/api——同时处理短格式("openai"、"anthropic")和连字符格式("openai-completions"、"anthropic-messages"、"google-generative-ai")
Provider API 密钥models.providers.*.apiKey~/.hermes/.env需要 --migrate-secrets。参见下方 API 密钥解析

Agent 行为

内容OpenClaw 配置路径Hermes 配置路径映射
最大轮次agents.defaults.timeoutSecondsagent.max_turnstimeoutSeconds / 10,上限 200
详细模式agents.defaults.verboseDefaultagent.verbose"off" / "on" / "full"
推理强度agents.defaults.thinkingDefaultagent.reasoning_effort"always"/"high"/"xhigh" → "high","auto"/"medium"/"adaptive" → "medium","off"/"low"/"none"/"minimal" → "low"
压缩agents.defaults.compaction.modecompression.enabled"off" → false,其他 → true
压缩模型agents.defaults.compaction.modelcompression.summary_model直接字符串复制
人类延迟agents.defaults.humanDelay.modehuman_delay.mode"natural" / "custom" / "off"
人类延迟时间agents.defaults.humanDelay.minMs / .maxMshuman_delay.min_ms / .max_ms直接复制
时区agents.defaults.userTimezonetimezone直接字符串复制
执行超时tools.exec.timeoutSecterminal.timeout直接复制(字段是 timeoutSec,不是 timeout
Docker 沙箱agents.defaults.sandbox.backendterminal.backend"docker" → "docker"
Docker 镜像agents.defaults.sandbox.docker.imageterminal.docker_image直接复制

会话重置策略

OpenClaw 配置路径Hermes 配置路径备注
session.reset.modesession_reset.mode"daily"、"idle" 或两者
session.reset.atHoursession_reset.at_hour每日重置的小时(0–23)
session.reset.idleMinutessession_reset.idle_minutes不活跃分钟数

注意:OpenClaw 还有 session.resetTriggers(一个简单字符串数组,如 ["daily", "idle"])。如果结构化的 session.reset 不存在,迁移会回退到从 resetTriggers 推断。

MCP 服务器

OpenClaw 字段Hermes 字段备注
mcp.servers.*.commandmcp_servers.*.commandStdio 传输
mcp.servers.*.argsmcp_servers.*.args
mcp.servers.*.envmcp_servers.*.env
mcp.servers.*.cwdmcp_servers.*.cwd
mcp.servers.*.urlmcp_servers.*.urlHTTP/SSE 传输
mcp.servers.*.tools.includemcp_servers.*.tools.include工具过滤
mcp.servers.*.tools.excludemcp_servers.*.tools.exclude

TTS(文本转语音)

TTS 设置从两个 OpenClaw 配置位置读取,优先级如下:

  1. messages.tts.providers.{provider}.*(规范位置)
  2. 顶层 talk.providers.{provider}.*(回退)
  3. 旧版扁平键 messages.tts.{provider}.*(最旧格式)
内容Hermes 目标
Provider 名称config.yamltts.provider
ElevenLabs 声音 IDconfig.yamltts.elevenlabs.voice_id
ElevenLabs 模型 IDconfig.yamltts.elevenlabs.model_id
OpenAI 模型config.yamltts.openai.model
OpenAI 声音config.yamltts.openai.voice
Edge TTS 声音config.yamltts.edge.voice(OpenClaw 将 "edge" 重命名为 "microsoft"——两者均可识别)
TTS 资源文件~/.hermes/tts/(文件复制)

消息平台

平台OpenClaw 配置路径Hermes .env 变量备注
Telegramchannels.telegram.botToken.accounts.default.botTokenTELEGRAM_BOT_TOKENToken 可以是字符串或 SecretRef。支持扁平布局和 accounts 布局。
Telegramcredentials/telegram-default-allowFrom.jsonTELEGRAM_ALLOWED_USERSallowFrom[] 数组用逗号连接
Discordchannels.discord.token.accounts.default.tokenDISCORD_BOT_TOKEN
Discordchannels.discord.allowFrom.accounts.default.allowFromDISCORD_ALLOWED_USERS
Slackchannels.slack.botToken.accounts.default.botTokenSLACK_BOT_TOKEN
Slackchannels.slack.appToken.accounts.default.appTokenSLACK_APP_TOKEN
Slackchannels.slack.allowFrom.accounts.default.allowFromSLACK_ALLOWED_USERS
WhatsAppchannels.whatsapp.allowFrom.accounts.default.allowFromWHATSAPP_ALLOWED_USERS通过 Baileys QR 配对认证——迁移后需要重新配对
Signalchannels.signal.account.accounts.default.accountSIGNAL_ACCOUNT
Signalchannels.signal.httpUrl.accounts.default.httpUrlSIGNAL_HTTP_URL
Signalchannels.signal.allowFrom.accounts.default.allowFromSIGNAL_ALLOWED_USERS
Matrixchannels.matrix.accessToken.accounts.default.accessTokenMATRIX_ACCESS_TOKEN使用 accessToken(不是 botToken
Mattermostchannels.mattermost.botToken.accounts.default.botTokenMATTERMOST_BOT_TOKEN

其他配置

内容OpenClaw 路径Hermes 路径备注
审批模式approvals.exec.modeconfig.yamlapprovals.mode"auto"→"off"、"always"→"manual"、"smart"→"smart"
命令白名单exec-approvals.jsonconfig.yamlcommand_allowlist模式合并并去重
浏览器 CDP URLbrowser.cdpUrlconfig.yamlbrowser.cdp_url
浏览器无头模式browser.headlessconfig.yamlbrowser.headless
Brave 搜索密钥tools.web.search.brave.apiKey.envBRAVE_API_KEY需要 --migrate-secrets
Gateway 认证 Tokengateway.auth.token.envHERMES_GATEWAY_TOKEN需要 --migrate-secrets
工作目录agents.defaults.workspace.envMESSAGING_CWD

已归档(无直接 Hermes 等价物)

这些内容会保存到 ~/.hermes/migration/openclaw/<timestamp>/archive/ 供手动查看:

内容归档文件如何在 Hermes 中重建
IDENTITY.mdarchive/workspace/IDENTITY.md合并到 SOUL.md
TOOLS.mdarchive/workspace/TOOLS.mdHermes 内置工具指令
HEARTBEAT.mdarchive/workspace/HEARTBEAT.md使用 cron 任务处理周期性任务
BOOTSTRAP.mdarchive/workspace/BOOTSTRAP.md使用上下文文件或技能
Cron 任务archive/cron-config.json使用 hermes cron create 重建
插件archive/plugins-config.json参阅插件指南
Hooks/Webhooksarchive/hooks-config.json使用 hermes webhook 或 Gateway hooks
记忆后端archive/memory-backend-config.json通过 hermes honcho 配置
技能注册表archive/skills-registry-config.json使用 hermes skills config
UI/身份archive/ui-identity-config.json使用 /skin 命令
日志archive/logging-diagnostics-config.jsonconfig.yaml logging 部分设置
多 Agent 列表archive/agents-list.json使用 Hermes profiles
频道绑定archive/bindings.json按平台手动设置
复杂频道配置archive/channels-deep-config.json手动配置各平台

API 密钥解析

启用 --migrate-secrets 后,API 密钥从四个来源按优先级收集:

  1. 配置值openclaw.json 中的 models.providers.*.apiKey 和 TTS Provider 密钥
  2. 环境文件~/.openclaw/.env(如 OPENROUTER_API_KEYANTHROPIC_API_KEY 等密钥)
  3. 配置 env 子对象openclaw.json"env""env"."vars"(某些设置将密钥存储在此处而非单独的 .env 文件)
  4. 认证配置文件~/.openclaw/agents/main/agent/auth-profiles.json(每个 Agent 的凭据)

配置值优先。每个后续来源填补剩余的空缺。

支持的密钥目标

OPENROUTER_API_KEYOPENAI_API_KEYANTHROPIC_API_KEYDEEPSEEK_API_KEYGEMINI_API_KEYZAI_API_KEYMINIMAX_API_KEYELEVENLABS_API_KEYTELEGRAM_BOT_TOKENVOICE_TOOLS_OPENAI_KEY

不在此白名单中的密钥不会被复制。

SecretRef 处理

OpenClaw 中 Token 和 API 密钥的配置值可以采用三种格式:

// 纯字符串
"channels": { "telegram": { "botToken": "123456:ABC-DEF..." } }

// 环境变量模板
"channels": { "telegram": { "botToken": "${TELEGRAM_BOT_TOKEN}" } }

// SecretRef 对象
"channels": { "telegram": { "botToken": { "source": "env", "id": "TELEGRAM_BOT_TOKEN" } } }

迁移会解析所有三种格式。对于环境变量模板和 source: "env" 的 SecretRef 对象,会在 ~/.openclaw/.envopenclaw.json env 子对象中查找值。source: "file"source: "exec" 的 SecretRef 对象无法自动解析——迁移会发出警告,这些值需要通过 hermes config set 手动添加到 Hermes。

迁移后

  1. 检查迁移报告 — 完成时打印,包含已迁移、已跳过和冲突项目的计数。
  2. 查看归档文件~/.hermes/migration/openclaw/<timestamp>/archive/ 中的内容需要手动处理。
  3. 启动新会话 — 导入的技能和记忆条目在新会话中生效,不会在当前会话中生效。
  4. 验证 API 密钥 — 运行 hermes status 检查 Provider 认证状态。
  5. 测试消息平台 — 如果迁移了平台 Token,重启 Gateway:systemctl --user restart hermes-gateway
  6. 检查会话策略 — 验证 hermes config get session_reset 是否符合你的预期。
  7. 重新配对 WhatsApp — WhatsApp 使用 QR 码配对(Baileys),不支持 Token 迁移。运行 hermes whatsapp 进行配对。
  8. 归档清理 — 确认一切正常后,运行 hermes claw cleanup 将残留的 OpenClaw 目录重命名为 .pre-migration/(防止状态混淆)。

故障排除

"OpenClaw directory not found"

迁移会依次检查 ~/.openclaw/~/.clawdbot/~/.moltbot/。如果你的安装在其他位置,使用 --source /path/to/your/openclaw

"No provider API keys found"

密钥可能存储在多个位置,取决于你的 OpenClaw 版本:openclaw.jsonmodels.providers.*.apiKey 的内联值、~/.openclaw/.envopenclaw.json"env" 子对象,或 agents/main/agent/auth-profiles.json。迁移会检查所有四个位置。如果密钥使用 source: "file"source: "exec" 的 SecretRef,则无法自动解析——通过 hermes config set 手动添加。

迁移后技能未出现

导入的技能存放在 ~/.hermes/skills/openclaw-imports/。启动新会话使其生效,或运行 /skills 验证它们已加载。

TTS 声音未迁移

OpenClaw 在两个位置存储 TTS 设置:messages.tts.providers.* 和顶层 talk 配置。迁移会检查两者。如果你的声音 ID 是通过 OpenClaw UI 设置的(存储在不同路径),可能需要手动设置:hermes config set tts.elevenlabs.voice_id YOUR_VOICE_ID

Continue Exploring

继续探索

这不是课程式的上一篇下一篇,而是从当前节点向外继续漫游。

核心功能

Event Hooks(事件钩子)

原文链接:Event Hooks sidebar position: 6 title: "Event Hooks" description: "Run custom code at key lifecycle points — log activity, send alerts, post to webhooks"

教程与指南

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

教程与指南

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程与指南

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程与指南

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能:

教程与指南

作为 Python 库使用

Hermes 不仅仅是一个 CLI 工具。你可以直接导入 AIAgent,在自己的 Python 脚本、Web 应用或自动化流水线中以编程方式使用它。本指南将向你展示如何操作。 直接从仓库安装 Hermes: 或者使用 uv: 你也可以将其固定在 requirements.txt 中:

Guides

教程与指南

从实践用法、最佳实践到真实工作流模板,适合直接照着走一遍。

16 篇文档16 个节点

当前节点

从 OpenClaw 迁移

同主题继续探索

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能:

作为 Python 库使用

Hermes 不仅仅是一个 CLI 工具。你可以直接导入 AIAgent,在自己的 Python 脚本、Web 应用或自动化流水线中以编程方式使用它。本指南将向你展示如何操作。 直接从仓库安装 Hermes: 或者使用 uv: 你也可以将其固定在 requirements.txt 中:

使用 MCP

本指南展示如何在实际日常工作流中使用 MCP 与 Hermes Agent。 如果说功能页面解释了 MCP 是什么,那么本指南则是关于如何快速、安全地从中获取价值。 在以下情况使用 MCP: 已有 MCP 形式的工具,且你不想自己构建 Hermes 原生工具 你想让 Hermes 通过干净的 RPC 层操作本地或远程系

相关节点

Event Hooks(事件钩子)

原文链接:Event Hooks sidebar position: 6 title: "Event Hooks" description: "Run custom code at key lifecycle points — log activity, send alerts, post to webhooks"

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能:

作为 Python 库使用

Hermes 不仅仅是一个 CLI 工具。你可以直接导入 AIAgent,在自己的 Python 脚本、Web 应用或自动化流水线中以编程方式使用它。本指南将向你展示如何操作。 直接从仓库安装 Hermes: 或者使用 uv: 你也可以将其固定在 requirements.txt 中: