diff --git a/blog/index.json b/blog/index.json index c4bb174..f1b936f 100644 --- a/blog/index.json +++ b/blog/index.json @@ -1,5 +1,14 @@ { "posts": [ + { + "id": "sync-hermes-agent-data-with-unison", + "date": "2026-07-29", + "area": "tutorial", + "agent": "hermes", + "headline": "Sync Your Hermes Agent Data to Your Local Machine with Unison", + "teaser": "Use Unison to keep your local workspace in sync with your Hermes Agent on the VPS. Bidirectional file sync over SSH — no plugins, no Docker volumes, just reliable file synchronization.", + "link": "blog/posts/sync-hermes-agent-data-with-unison.html" + }, { "id": "crm-automation-with-ai-agent", "date": "2026-07-24", diff --git a/blog/posts/sync-hermes-agent-data-with-unison.html b/blog/posts/sync-hermes-agent-data-with-unison.html new file mode 100644 index 0000000..aa063a2 --- /dev/null +++ b/blog/posts/sync-hermes-agent-data-with-unison.html @@ -0,0 +1,226 @@ + + + + + + + + Sync Your Hermes Agent Data to Your Local Machine — derez.ai Blog + + + + + + + + + + + + + + + +
+ ← Back to Blog +

Sync Your Hermes Agent Data to Your Local Machine

+
+ July 29, 2026 + tutorial + hermes + devops +
+ +

+ Your Hermes Agent lives on a remote VPS. It works, it writes blog posts, sends cold emails, manages your Odoo — but when you want to review its work, edit its files, or inspect its state, you either SSH in or use the dashboard file manager. +

+

+ There's a better way. Unison syncs files bidirectionally between machines over SSH — no plugins, no cron hacks, no Docker volumes. Just two directories staying in sync. +

+ +

Why Unison?

+ +

+ rsync is great for one-way copies. But your agent modifies files on the VPS — it writes blog posts, updates CRM data, runs workflows. If you only rsync from the VPS, you lose local changes. If you only rsync to the VPS, you overwrite what the agent did. +

+

+ Unison solves this by merging changes from both sides. It's bidirectional, conflict-aware, and runs over SSH. Perfect for keeping your local workspace in sync with a remote agent. +

+ +

The Setup

+ +

1. Install Unison on Both Machines

+ +
+
Server (VPS)
+
# On derez.ai or your VPS
+apt install unison  # Debian/Ubuntu
+# or
+yum install unison  # RHEL/CentOS
+
+ +
+
Local Workstation (macOS)
+
brew install unison
+
+ +
+
Local Workstation (Linux)
+
apt install unison  # Debian/Ubuntu
+# or
+sudo dnf install unison  # Fedora
+
+ +

2. Test the Connection

+ +

+ Before setting up cron, verify Unison can connect over SSH: +

+ +
+
Run from your local machine
+
unison -testservercmd 'ssh root@hood.derez.ai "unison"' /path/to/local/dir ssh://root@hood.derez.ai:2281//path/to/remote/dir
+
+# You should see:
+# No changes. The two roots are in sync.
+
+ +

3. Set Up the Sync

+ +

+ Here's the production sync command I use daily. It syncs my entire Hermes workspace — skills, profiles, blog posts, CRM data, scripts — every minute: +

+ +
+
Local machine cron (~/.bashrc or crontab)
+
* * * * * unison /home/user/Agents/pa ssh://root@hood.derez.ai:2281//root/workspace -auto -batch 2>&1 | tail -n 5
+
+ +

+ Let's break this down: +

+ + +

4. Set Up SSH Keys

+ +

+ For cron to work without a password prompt, set up SSH key authentication: +

+ +
+
On your local machine
+
# Generate a key if you don't have one
+ssh-keygen -t ed25519 -C "hermes-sync"
+
+# Copy to server
+ssh-copy-id -p 2281 root@hood.derez.ai
+
+ +

What Gets Synced

+ +

+ Here's what I typically sync: +

+ + + +

+ You can adjust the paths to match your setup. The key is picking the directories that contain files you want to work with locally. +

+ +
+ Pro tip: Use -ignore "Name *.pyc" and -ignore "Name __pycache__" to skip Python cache files. They sync fast but clutter your local directory. +
+ +

Common Issues

+ +

"Connection refused" — SSH port

+

+ If your server uses a non-standard SSH port (like 2281), you must specify it in the Unison URL: +

+
+
# Wrong (uses port 22):
+ssh://root@hood.derez.ai//root/workspace
+
+# Right (uses port 2281):
+ssh://root@hood.derez.ai:2281//root/workspace
+
+ +

"Permission denied" — SSH key

+

+ Make sure your SSH key is in ~/.ssh/id_ed25519 on the local machine, and the corresponding id_ed25519.pub is in the server's ~/.ssh/authorized_keys. +

+ +

"Conflict detected"

+

+ If both sides have changed the same file, Unison will pause and ask what to do. Add -auto to accept the default (usually "Newer on the VPS"), or use -force to always prefer one side: +

+
+
# Always prefer VPS version for conflicting files
+unison /local/path ssh://root@server//remote/path -auto -force ssh
+
+ +

Why This Matters for Your Agent

+ +

+ When your agent writes a blog post, it saves it to the VPS. With Unison, that post appears on your local machine within a minute — ready to preview, edit, or share. When you tweak a skill file locally, it syncs up to the agent. +

+

+ It's the missing piece in the remote-agent workflow: seeing what the agent did, when it did it, without SSHing in. +

+ +
+ For derez.ai users: Your instance already has SSH access. Use the same SSH key from your local machine, adjust the hostname to your instance, and you're syncing in under 2 minutes. No plugins, no Docker, no extra configuration. +
+ +

+ Use coupon code BLOG950 at checkout to get your first month free — zero risk, full access. +

+

+ Deploy your own agent — and sync its data to your machine. +

+ +

+ derez.ai — Deploy your AI agent in 10 Minutes. +

+
+ +