𝗠𝗶𝗴𝗿𝗮𝘁𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗪𝗶𝘁𝗵𝗼𝘂𝘁 𝗗𝗼𝘄𝗻𝘁𝗶𝗺𝗲

I used to run two AI agents: OpenClaw and Hermes.

OpenClaw worked well for scheduled tasks. Hermes worked better for complex reasoning. However, OpenClaw had a major flaw. When tasks got heavy, it would time out and drop the work. Hermes never did this. It held the task and finished the job.

I decided to move everything to Hermes. I did not want a sudden switch. A sudden switch is risky. If the new system fails, I lose my notifications.

I chose a parallel migration strategy.

I kept OpenClaw running. I added Hermes as a shadow system. This allowed me to compare both agents side by side.

My notification system was messy. It used four different methods:

  • Shell scripts
  • Node monitors
  • Bash helpers
  • Python scripts

I did not rewrite the code. I made the new delivery additive. I created one script called hermes_mirror.sh. I added one line to every existing job to call this script in the background.

This approach provided three benefits:

  • Safety: If the mirror fails, the original message still sends.
  • Simplicity: One script manages all mirroring.
  • Control: I can stop all mirroring by changing one variable.

Then I made a mistake with timing.

I did not want the two messages to arrive at the exact same second. I thought that would be noisy. I set a three-minute delay for the Hermes messages.

I ran a test. The OpenClaw message arrived. The Hermes message did not. I thought the system was broken.

The system was not broken. It was just waiting for the three-minute timer. In a migration, "late" looks like "failed."

I reduced the delay to 20 seconds. This was enough to separate the messages without making them look lost.

I also learned about the danger of automated code changes. I used a script to inject the new line into my Python files. It worked for almost everything, except one file. That file had a different import structure. It caused a crash. Always check every file, even the ones you think are safe.

The migration is not finished. I am moving one job at a time. I only retire an OpenClaw job once I see Hermes deliver it successfully.

A migration should not be a single moment. It should be a steady walk toward a new system.

Source: https://dev.to/henry_dan_81513dd35a2f540/migrating-off-openclaw-without-downtime-and-the-offset-that-made-hermes-look-dead-2gic

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi