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.
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.
# On derez.ai or your VPS
apt install unison # Debian/Ubuntu
# or
yum install unison # RHEL/CentOS
brew install unison
apt install unison # Debian/Ubuntu
# or
sudo dnf install unison # Fedora
Before setting up cron, verify Unison can connect over SSH:
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.
Here's the production sync command I use daily. It syncs my entire Hermes workspace — skills, profiles, blog posts, CRM data, scripts — every minute:
* * * * * 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:
/home/user/Agents/pa — the local directory to sync fromssh://root@hood.derez.ai:2281//root/workspace — the remote directory to sync to (note the double slash after the host):2281 — SSH port (if using a non-standard port)
-auto — automatically accept the default action for each file (no interactive prompts)-batch — suppress progress output, only show errorsFor cron to work without a password prompt, set up SSH key authentication:
# 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
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.
-ignore "Name *.pyc" and -ignore "Name __pycache__" to skip Python cache files. They sync fast but clutter your local directory.
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
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.
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
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.
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.