Hermes 停更了,你的 AI 助手怎么办?
如果你之前一直用 Hermes 跑自己的 AI 助手——不管是做 Telegram 客服、微信自动回复还是 Discord 社群管理——你可能已经发现一个问题:Hermes 的 GitHub 仓库几个月没更新了。
原因很简单:Hermes 团队把所有精力转到了 OpenClaw。Hermes 的代码、功能、架构全部重构后合并进了 OpenClaw 项目。老项目不再维护,意味着没有新功能、没有 bug 修复、没有安全补丁。
好消息是,OpenClaw 提供了一键迁移工具。你在 Hermes 上的所有东西——对话记录、Agent 配置、Channel Token、定时任务、记忆文件——都能完整搬过来,不丢数据。
我自己上周刚把三个 Hermes 实例迁移到 OpenClaw,整个过程不到 20 分钟。下面把踩过的坑和完整步骤分享出来。

迁移前必须做的三件事
第一件:备份整个 Hermes 目录
不管官方说迁移多安全,动手之前一定要备份。Hermes 的数据默认在 ~/.hermes/ 目录下,里面包括配置文件、数据库、记忆文件、session 历史。整个目录打包一份:
tar -czf hermes-backup-$(date +%Y%m%d).tar.gz ~/.hermes/
这个备份放到别的地方(移动硬盘、云盘、另一台机器),确保万一出问题能恢复。
第二件:记录当前运行状态
迁移后需要对比验证,所以先记录一下现在 Hermes 的状态:
# 记录版本
hermes --version
# 记录 Agent 列表
hermes agents list
# 记录活跃的 Channel
hermes status
# 记录定时任务
hermes cron list
把输出截图或者保存到文件里,迁移后逐项对比。
第三件:停掉 Hermes 进程
Hermes 和 OpenClaw 不能同时跑在同一个 Bot Token 上——两个进程抢同一个 Telegram/Discord/WhatsApp 连接会导致消息丢失或重复。
# 优雅停止
hermes gateway stop
# 确认进程已退出
ps aux | grep hermes

正式迁移:四步搞定
步骤一:安装 OpenClaw CLI
OpenClaw 是独立的 npm 包,安装不会碰你的 Hermes 文件:
npm install -g @openclaw/cli
# 验证
openclaw --version
要求 Node.js 18 以上。如果你的服务器 Node 版本太旧,先升级 Node(推荐用 nvm 管理)。
步骤二:运行迁移命令
OpenClaw 内置了 Hermes 数据导入工具,一行命令完成迁移:
# 从默认路径迁移
openclaw migrate hermes
# 如果 Hermes 数据不在默认位置
openclaw migrate hermes --source /your/custom/path/.hermes
迁移工具会扫描 Hermes 目录,自动识别并导入:
- 所有 Agent 的 SOUL.md 和配置文件
- Channel 配置(Token、webhook URL、群组 ID 等)
- 对话历史和 session 文件
- 记忆文件(memory/ 目录)
- Cron job 定义
- Pairing 状态(已配对的用户不需要重新验证)
迁移过程大约 10-30 秒,取决于你的数据量。完成后会显示一个摘要:导入了多少个 Agent、多少条 session、多少个 cron job。

步骤三:验证数据完整性
这一步最关键。逐项对比迁移前记录的数据:
# Agent 数量和名称应该跟 Hermes 一致
openclaw agents list
# Channel 应该全部显示 configured(还没连接,因为 Gateway 没启动)
openclaw status
# 检查记忆文件
ls ~/.openclaw/memory/
# 检查 Cron job
openclaw cron list
对比清单:
- Agent 数量一致 ✓
- 每个 Agent 的 SOUL.md 内容完整 ✓
- Channel Token 已正确迁移(不需要重新输入)✓
- Cron job 的调度时间、payload、delivery 配置正确 ✓
- 记忆文件完整且内容没乱码 ✓
如果某项不对,别慌。迁移工具的日志在 ~/.openclaw/logs/migrate.log 里,能看到哪一步出了问题。
步骤四:启动 OpenClaw Gateway
# 启动
openclaw gateway
# 看日志确认所有 Channel 连接成功
openclaw logs --follow
你应该看到类似这样的日志:
[info] Telegram: connected (bot: @YourBotName)
[info] Discord: connected (guilds: 3)
[info] WhatsApp: connected
[info] Cron: loaded 5 jobs
[info] Gateway ready
如果某个 Channel 显示 error,通常是 Token 过期或网络问题,不是迁移本身的问题。

迁移后你会发现这些变化
迁移完用了几天之后,我注意到几个明显的改进:
启动速度快了很多。Hermes 启动要 4-5 秒,OpenClaw 1 秒不到就 ready。这在服务器重启或者部署更新时区别很大。
内存占用降了。同样的 3 个 Agent + 5 个 Channel,Hermes 吃 180MB 左右,OpenClaw 只要 100MB 出头。小 VPS 上这个差距很明显。
多 Agent 不再需要多进程。Hermes 时代我跑 3 个 Agent 要启动 3 个 Gateway 进程,各占一个端口。OpenClaw 一个进程全搞定,通过 binding 规则把不同 Channel 路由到不同 Agent。
定时任务好用太多。Hermes 的 cron 只能在主 session 里跑,结果会打断你的正常对话。OpenClaw 支持 isolated session 执行,cron 跑完把结果推到群里,完全不干扰你的日常使用。

我踩过的坑
坑一:Node.js 版本太旧
我一台服务器还在跑 Node 16,OpenClaw 直接报错装不上。解决办法是用 nvm 升级到 Node 20:
nvm install 20
nvm use 20
nvm alias default 20
坑二:忘了停 Hermes 就启动 OpenClaw
两个进程抢同一个 Telegram Bot Token,结果消息随机分配到两边,用户收到重复回复。发现后马上 hermes gateway stop 就好了。
坑三:自定义 Hermes 插件没有 OpenClaw 对应版本
我之前写了一个 Hermes 插件用来查天气。迁移后这个插件不能直接用。解决办法是把它改写成 MCP Server,OpenClaw 原生支持 MCP 协议。改写大约花了一个小时。
common problems
迁移后 Telegram Bot 需要重新跟用户配对吗?
不需要。Pairing 状态是迁移的一部分,已经配对过的用户可以继续正常对话,无感切换。
迁移过程中会中断服务吗?
会有短暂中断。从停掉 Hermes 到 OpenClaw Gateway 启动成功,大约 1-2 分钟。这段时间收到的消息不会丢失(Telegram/Discord 会缓存),Gateway 启动后会补处理。
能不能先测试再正式切换?
可以。用 openclaw migrate hermes --dry-run 只做检查不实际写入。确认没问题后去掉 –dry-run 正式执行。
迁移后原来的 Hermes 数据还在吗?
在。迁移是复制操作,~/.hermes/ 目录不会被修改或删除。如果 OpenClaw 有问题,你随时可以停掉 OpenClaw、重新启动 Hermes 恢复服务。
OpenClaw 收费吗?
核心开源免费。跟 Hermes 一样,你只需要付模型调用的费用(OpenAI/Anthropic 的 API 费用)。OpenClaw 本身不收钱。
相关教程推荐
- OpenClaw 怎么做 SEO 关键词研究?从找词、分类到内容规划的实操教程
- OpenClaw 怎么做 WhatsApp 客服自动回复?从安装到上线的完整教程
- OpenClaw 怎么做内容排期?把关键词研究变成可执行的发布计划
summarize
从 Hermes 迁移到 OpenClaw 就是:备份 → 停进程 → 装 CLI → 跑迁移命令 → 验证 → 启动。整个过程 15 分钟,数据完整搬过来,已配对的用户无感切换。
我的建议是尽快迁移。Hermes 不再更新意味着安全漏洞不会被修复,拖得越久风险越大。而且 OpenClaw 的新功能(isolated cron、multi-agent、background tasks)用过就回不去了。
官方迁移文档:从 Hermes 迁移到 OpenClaw 完整指南
Link to this article:https://www.361sale.com/en/87569/The article is copyrighted and must be reproduced with attribution.













March 11, 13:490
Now definitely still do SEO, just play changed. Previously rely on heaps of content, heaps of keywords can have traffic, and now pay more attention to the quality of content + brand trust + user experience. In addition to relying solely on SEO is actually more and more difficult, a lot of good basically SEO + social media + content marketing + private domain conversion to do together. SEO is still a long-term customer acquisition channel, but can no longer be taken as the only channel.Hehe is working.
March 11, 10:540
Normal, included only on behalf of Google to see the page, does not mean that the ranking immediately, "has been included but not ranked" usually because: Keyword competition, page weight is low, the content is not strong enough, the page is relatively new. Continue to optimize the long-tail keywords, content quality and internal chain, usually takes a little time, the ranking will slowly come out!Amelia Foster March 6, 16:200
Do you have a screenshot?lit. even a son who is not a fish knows the joy of fish March 6, 09:230
Don't pile on the optimization plugins first, locate the bottlenecks first: Use Query Monitor to see slow SQL, slow hooks. Pause all plugins for comparison, then turn them on one by one. Check autoload is too big (options table). Check database indexes with large table queries. Tackle host/database performance first if server TTFB is high.Hehe is working.
March 3, 16:470
Hi Windjammer, there's really no need to mess with complicated local environments, regular people follow these steps and the update basically won't crash the site 👇 First, backup the whole site, files + database are prepared, this is the bottom line, out of the problem can be a key to go back. Don't change the whole thing in one click, change it in batches, change the unimportant plug-ins first, and then change the core ones. Immediately after the update, clear the cache, go to the foreground to check the home page, article page, buttons, forms, these key positions. It is best to install a plug-in that supports version rollback, in case of a crash, cut back to the old version in a second. To summarize: backup first, change in batches, check after changing, leave a way back, stable ✅😎 Hope this helps!bugbang March 2, 09:550
Usually it's not that the payment didn't work, but that the callback (webhook) didn't write back the order status. Troubleshooting steps: WooCommerce → Status → Logs: see if the payment gateway has webhook error / signature error / timeout Check if the site is blocked by WAF (Cloudflare, Pagoda Firewall, security plugins) Check if "Cache checkout pages/interface paths" is enabled (checkout pages and callback interfaces should not be cached) Look at the server error logs for 500/fatal errors that interrupt the callback execution. Solution: Release wp-json, wc-api, payment gateway callback URLs (configure as per gateway documentation) Disable cache and JS merge compression test on checkout page once If using Cloudflare: set no-challenge, no-block rules for callback URLsUlla Nala Zhenhuan (18嬛嬛嬛) January 31st, 09:360
1) Determine whether it is "Normal Waiting" or "Abnormally Stuck". You can first look at 3 signals: whether the page release time is within 7-14 days, whether there are only a small number of pages with this status, and whether the page has appeared in the XML Sitemap. If all three are satisfied, most likely belong to the normal crawling and evaluation stage, do not need to do it immediately. 2) Under what circumstances is it useless to "wait"? The following cases will not be solved automatically by time: the page has almost no internal links (isolated page), the content is highly similar to the existing pages on the site, canonical points to other URLs, and too many similar articles are published on the same topic for a short period of time. In this case, Google has been crawled, but judged that "it is not worth entering the index". 3) The most effective way of manual intervention (no tossing) Prioritize these 3 things: add internal links, link to the page from related old articles or columns, and enhance the density of information on the first screen. The first 2-3 paragraphs directly answer the user's question, avoid too much padding, confirm canonical as self-referential, avoid being judged as a duplicate page, and then go to GSC to request reindexing after doing so. 4) What "intervention actions" are counterproductive? It is not recommended: frequent deletion and reposting, clicking "request to index" several times in a row, forcing keywords to be stacked for indexing, changing URLs or titles arbitrarily. These operations will allow Google to reassess the stability of the page, but slow down the inclusion. 5) a practical judgment standard If an article: has been crawled, there is no noindex / robots problem, there are at least 1-2 related internal links, the content obviously solves an independent problem, then it is included, just a matter of time, not a plug-in problem.Post Porter January 30th 10:000
The new station does not do external links can be completely, the first content and station structure to do a good job more stable. Only rely on the content can generally get included and part of the long-tail word rankings, but the amount of high competition will be slow. It is recommended to wait for the site stable inclusion, 30-50 quality content, keywords began to enter the top 20/30, and then a small amount of external links, priority brand words/naked chain/citation type, do not come up to chase the number. 👍