Hacker News 中文摘要

RSS订阅

从OpenClaw迁移 -- Migrate from OpenClaw

文章摘要

本文介绍了如何将OpenClaw(或旧版Clawdbot/Moldbot)配置迁移到Hermes Agent,包括使用hermes claw migrate命令进行迁移、配置键映射以及迁移后需验证的内容。

文章总结

好的,这是根据您的要求,对原文主要内容进行的中文重述,已保留关键细节并删减了与主题无关的指引性链接。


从 OpenClaw 迁移至 Hermes Agent 指南

hermes claw migrate 命令可将您的 OpenClaw(或旧版 Clawdbot/Moldbot)配置导入到 Hermes 中。本指南详细说明了迁移的具体内容、配置键的映射关系以及迁移后需要验证的要点。

快速开始

  • 预览并迁移:运行 hermes claw migrate,系统会先显示预览,然后请求确认。
  • 仅预览:使用 --dry-run 参数,仅查看将迁移的内容,不执行任何更改。
  • 完整迁移:使用 --preset full --migrate-secrets --yes 参数,可一次性迁移包括 API 密钥在内的所有内容,并跳过确认步骤。

迁移过程默认读取 ~/.openclaw/ 目录,并会自动检测旧版的 ~/.clawdbot/~/.moltbot/ 目录。

主要迁移选项

  • --dry-run:仅预览,不执行迁移。
  • --preset <name>:选择迁移预设,full 为所有兼容设置,user-data 则排除基础设施配置。默认不导入密钥。
  • --overwrite:当发生冲突时,覆盖现有的 Hermes 文件(默认拒绝)。
  • --migrate-secrets:明确指定后,才会迁移 API 密钥。
  • --no-backup:跳过迁移前的备份步骤。
  • --source <path>:指定自定义的 OpenClaw 目录路径。
  • --workspace-target <path>:指定 AGENTS.md 文件的放置位置。
  • --skill-conflict <mode>:处理技能冲突的模式,可选 skip(跳过)、overwrite(覆盖)或 rename(重命名)。
  • --yes:跳过预览后的确认提示。

迁移内容详解

1. 角色、记忆与指令

  • 角色 (Persona):从 workspace/SOUL.md 直接复制到 ~/.hermes/SOUL.md
  • 工作区指令:从 workspace/AGENTS.md 迁移到由 --workspace-target 参数指定的位置。
  • 长期记忆workspace/MEMORY.md 会被解析、去重后合并到 ~/.hermes/memories/MEMORY.md
  • 用户资料workspace/USER.md 会以相同逻辑合并到 ~/.hermes/memories/USER.md
  • 每日记忆文件workspace/memory/*.md 中的所有文件会被合并到主记忆文件中。

2. 技能 (Skills)

所有来源的技能(工作区、共享、个人跨项目等)都会被导入到 ~/.hermes/skills/openclaw-imports/ 目录下。冲突处理方式由 --skill-conflict 参数决定。

3. 模型与提供商配置

  • 默认模型:从 agents.defaults.model 映射到 config.yaml 中的 model 字段。
  • 自定义提供商models.providers.* 中的配置(如 baseUrlapiType)会映射到 config.yamlcustom_providers 部分。
  • 提供商 API 密钥models.providers.*.apiKey 中的密钥,在启用 --migrate-secrets 后,会写入 ~/.hermes/.env 文件。

4. 代理行为

  • 最大轮次timeoutSeconds 除以 10,上限为 200。
  • 详细模式verboseDefault 映射为 verbose
  • 推理努力thinkingDefault 映射为 reasoning_effort,并进行值转换。
  • 压缩compaction.mode 映射为 compression.enabledcompaction.model 映射为 compression.summary_model
  • 人类延迟humanDelay 的相关设置直接映射。
  • 时区userTimezone 直接映射。
  • 执行超时tools.exec.timeoutSec 映射为 terminal.timeout
  • Docker 沙箱sandbox.backendsandbox.docker.image 分别映射为 terminal.backendterminal.docker_image

5. 会话重置策略

session.reset 下的 modeatHouridleMinutes 等设置会直接映射到 session_reset 下的对应字段。如果缺少结构化配置,会从 resetTriggers 数组推断。

6. MCP 服务器

mcp.servers 下的 commandargsenvurl 等字段会直接映射到 mcp_servers 下的对应字段。

7. 文本转语音 (TTS)

TTS 设置会从 OpenClaw 配置的多个可能位置读取,并映射到 config.yamltts 部分,包括提供商、语音 ID、模型 ID 等。TTS 资产文件会被复制到 ~/.hermes/tts/

8. 消息平台

Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost 等平台的令牌和用户白名单等配置,会从 OpenClaw 配置映射到 Hermes 的 .env 环境变量中。注意,WhatsApp 需要迁移后重新配对。

9. 其他配置

  • 审批模式approvals.exec.mode 映射为 approvals.mode,并进行值转换。
  • 命令白名单exec-approvals.json 中的模式会被合并去重。
  • 浏览器browser.cdpUrlbrowser.headless 直接映射。
  • 搜索密钥tools.web.search.brave.apiKey 在启用密钥迁移后,会写入 .env 文件。
  • 工作目录agents.defaults.workspace 映射为 terminal.cwd

10. 归档项

以下没有直接 Hermes 对应项的内容会被保存到 ~/.hermes/migration/openclaw/<timestamp>/archive/ 目录下,供手动审查和重建:IDENTITY.mdTOOLS.mdHEARTBEAT.mdBOOTSTRAP.md、Cron 任务、插件、钩子/Webhook、记忆后端、技能注册表、UI/身份、日志、多代理列表、频道绑定等。

API 密钥解析

启用 --migrate-secrets 后,迁移工具会按优先级从四个来源收集密钥:配置文件、环境文件、配置中的 env 子对象、认证配置文件。只有位于允许列表中的密钥(如 OPENAI_API_KEYANTHROPIC_API_KEY 等)才会被复制。

迁移后操作

  1. 检查迁移报告。
  2. 审查归档文件,处理需要手动操作的部分。
  3. 启动新会话以使导入的技能和记忆生效。
  4. 运行 hermes status 验证 API 密钥。
  5. 如果迁移了平台令牌,重启网关。
  6. 检查会话策略配置。
  7. 重新配对 WhatsApp。
  8. 确认一切正常后,运行 hermes claw cleanup 清理旧目录。

常见问题排查

  • “未找到 OpenClaw 目录”:使用 --source 参数指定正确路径。
  • “未找到提供商 API 密钥”:密钥可能存储在多个位置,迁移工具会逐一检查。对于无法自动解析的 SecretRef 对象,需手动添加。
  • 迁移后技能不显示:技能被导入到 openclaw-imports 目录,需启动新会话或使用 /skills 命令验证。
  • TTS 语音未迁移:如果语音 ID 是通过 OpenClaw UI 设置的,可能需要手动配置。

评论总结

根据评论内容,总结如下:

主要观点与论据:

  1. 对Hermes Agent的认可与批评并存

    • 认可:Hermes对非技术用户更友好、界面更精致(评论6)。
    • 批评:存在抄袭争议(评论2),默认技能过多、上下文浪费(评论5),且默认捆绑Polymarket技能(评论12)。
    • 关键引用:
      • "Hermes is for the less technical and is more polished."(评论6)
      • "It's probably good to at least be aware of the plagiarism debacle around Hermes."(评论2)
  2. OpenClaw与Hermes的对比

    • OpenClaw功能更深、更灵活,但早期变化快、门槛高(评论6)。
    • 用户从OpenClaw转向Hermes,再转向自建方案(评论11)。
    • 关键引用:
      • "OpenClaw is deeper with more capabilities."(评论6)
      • "I used OpenClaw -> Hermes -> my own thing now."(评论11)
  3. 对这类AI代理工具实用性的质疑

    • 多数用户认为现有工具(如bash脚本、cron、Codex)已满足需求,无需额外代理(评论13、14)。
    • 自建方案更灵活、节省成本(评论5、15)。
    • 关键引用:
      • "I still don't understand the point of these... solved easily with existing tools."(评论13)
      • "No one using these things has a use case for them - if they did they’d have built it themselves."(评论15)
  4. 对商业模式与市场规模的疑问

    • 只有托管提供商赚钱,用户花费高昂却未见直接收益(评论10)。
    • 市场局限于技术爱好者,本质是LLM调用+SQLite(评论14)。
    • 关键引用:
      • "who is making money directly from OpenClaw or Hermes Agent?"(评论10)
      • "this is just llm calls with like sqlite facade."(评论14)

平衡性说明:
评论中既有对Hermes/OpenClaw的正面评价(如易用性、功能深度),也有大量质疑(实用性、商业模式、抄袭争议)。用户普遍倾向于自建方案,认为现有工具已足够。