Step-by-step ยท Copy-paste je ยท No coding needed
Migrate Hermes Agent
dari VPS ke Local.
Chat dengan agent kau dulu, suruh dia pack semua data. Pastu isi info kau sekali โ semua commands bawah auto-fill. Copy-paste je.
Phase 0 ยท Mula Di Sini
Suruh agent kau pack semua data.
Sebelum buat apa-apa, kena generate migration file dulu. Caranya โ chat je dengan agent kau dalam Telegram atau Discord.
๐ฌ Hantar prompt ni ke agent kau
Copy prompt ni, paste dalam Telegram atau Discord bot kau, tekan send.
Pack semua data kau untuk migration, buat file tar.gz dalam /tmp/
โ
Contoh reply agent
Siap boss โ 38MB kat /tmp/agentname_migrate_v3.tar.gz
Dah pack semua: .env, config, google token, profiles, skills, sessions, cron state.
โ ๏ธ
Nota penting
Perhatikan nama file exact dalam reply agent kau โ contoh agentname_migrate_v3.tar.gz. Kau akan copy nama tu masuk field kat Phase 1 bawah.
Phase 1 ยท Setup Info
Isi info kau sekali, auto-fill semua.
Isi 5 fields ni. Semua commands bawah akan guna info kau secara automatic โ tak perlu edit satu-satu.
โ๏ธ Your Setup Info
Maklumat ni hanya dalam browser kau โ tak dihantar ke mana-mana.
โ
Semua commands dah di-update dengan info kau! Boleh proceed.
Phase 2 ยท Before You Start
Apa kau perlu sediakan.
Pastikan semua benda ni ada sebelum start.
๐ฅ๏ธ
Mac Mini / Windows PC
Machine yang akan jadi host baru. Kena sentiasa ON.
โ๏ธ
VPS Access (DigitalOcean)
SSH access ke droplet lama. Kena ada IP dan password.
๐ค
Migration Pack
Dah generate kat Phase 0? Dah ada filename? โ๏ธ
๐
Internet Connection
Stable. Avoid campus WiFi โ boleh block SSH port 22.
โ ๏ธ
Jangan guna campus WiFi
Campus WiFi selalu block port 22 (SSH). Guna hotspot atau WiFi rumah.
Phase 3 ยท 10 min
Download data dari VPS.
SSH ke VPS, extract migration pack dari Docker container, pastu download ke machine kau.
docker cp hermes:/tmp/YOUR_TARBALL /tmp/YOUR_TARBALL
Expected output
- Size dalam ~38MB
- Filename match dengan reply agent tadi
scp root@YOUR_VPS_IP:/tmp/YOUR_TARBALL ~/Downloads/
scp root@YOUR_VPS_IP:/tmp/YOUR_TARBALL C:\Users\YOUR_USERNAME\Downloads\
Phase 4 ยท 5 min
Pindah file ke machine baru.
Kalau download kat PC/laptop lain โ pindahkan ke machine yang nak jadi host.
โน๏ธ
Skip kalau same machine
Kalau dah download terus kat machine host โ skip ke Phase 5.
- โ AirDrop (Mac ke Mac)
- โ Google Drive โ upload dari PC, download kat machine baru
- โ USB drive
- โ Telegram Saved Messages (38MB okay je)
โ ๏ธ
Jangan guna WhatsApp
WhatsApp compress dan boleh corrupt tarball. Guna Telegram, Google Drive, atau USB.
Phase 5 ยท 10 min
Install Hermes Agent.
Install Hermes binary dulu sebelum restore data.
Download dulu, jangan terus run โ baca isi dia dulu.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o install.sh
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh" -OutFile install.sh
- 1Guna arrow key
โ โ pilih "Full Setup" bukan Quick Setup
- 2Pilih "Local" untuk run environment
- 3Enable Telegram dan WhatsApp โ tekan SPACE untuk select
- 4Tekan Enter skip soalan API keys โ kita restore dari tarball
source ~/.zprofile && hermes --version
Expected output
- Hermes Agent v0.x.x
- Python: 3.11.x
- Tiada "command not found"
Phase 6 ยท 5 min
Restore semua data agent.
Extract tarball ke dalam folder Hermes โ restore semua skills, sessions, memories, API keys, dan personality.
tar -xzf ~/Downloads/YOUR_TARBALL -C ~/.hermes/
tar -xzf /mnt/c/Users/YOUR_USERNAME/Downloads/YOUR_TARBALL -C ~/.hermes/
ls -la ~/.hermes/ | grep -E ".env|SOUL|config"
Semua ni patut ada
- .env โ API keys
- SOUL.md โ personality file
- config.yaml โ Hermes settings
- google_token.json โ Google OAuth
Phase 7 ยท 10 min
Setup Telegram gateway.
Tambah Telegram credentials ke dalam .env supaya agent boleh connect ke bot kau.
- 1Pergi Telegram โ cari @BotFather โ taip
/mybots
- 2Pilih bot kau โ API Token โ copy
- 3Cari @userinfobot โ send sebarang message โ copy ID nombor
Cari TELEGRAM_BOT_TOKEN dan TELEGRAM_ALLOWED_USERS. Buang # dan isi nilai:
# Buang # dan isi nilai sebenar:
TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN
TELEGRAM_ALLOWED_USERS=YOUR_TELEGRAM_USER_ID
๐ก
Save dalam nano
Ctrl+X โ Y โ Enter
Hantar "hi" ke Telegram bot. Patut reply. Lepas confirm, tekan Ctrl+C โ setup auto-start next phase.
Phase 8 ยท 5 min
Setup auto-restart.
Agent auto-start bila machine restart โ tak perlu manual run.
Output contoh: /Users/YOUR_USERNAME/.local/bin/hermes
nano ~/Library/LaunchAgents/com.YOUR_AGENT.hermes.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.YOUR_AGENT.hermes</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOUR_USERNAME/.local/bin/hermes</string>
<string>gateway</string>
<string>run</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key>
<string>/Users/YOUR_USERNAME/.hermes/logs/hermes.log</string>
<key>StandardErrorPath</key>
<string>/Users/YOUR_USERNAME/.hermes/logs/hermes-error.log</string>
</dict></plist>
launchctl load ~/Library/LaunchAgents/com.YOUR_AGENT.hermes.plist
launchctl list | grep hermes
Expected output
- Ada PID (nombor) di kolom pertama
- Exit code = 0 (kolom tengah)
- com.YOUR_AGENT.hermes di kolom ketiga
โน๏ธ
Windows โ Task Scheduler
Buka Task Scheduler โ Create Basic Task โ Trigger: "At log on" โ Action: start program โ masukkan path hermes + argument gateway run.
Phase 9 ยท 5 min
Verify semua okay.
Final checklist sebelum declare migration complete.
- โ Hermes running โ launchctl list | grep hermes โ PID & exit code 0
- โ Telegram bot reply โ hantar "hi", patut reply
- โ Memory intact โ bot ingat conversation lama
- โ Skills ada โ tanya bot buat sesuatu
- โ Auto-restart working โ kill PID, tunggu 10s, PID baru muncul
- โ Google Sheets accessible
๐
Migration Complete!
Agent kau dah hidup kat local machine. VPS boleh decommission untuk save cost.
๐ก
Decommission VPS
Bila dah confirm agent okay selama beberapa hari, pergi DigitalOcean dashboard โ destroy droplet untuk stop billing.