Hermes Agent 主機託管:$5 VPS 夠用嗎?
Hermes 不需要 GPU,模型在其他地方執行,因此小型 VPS 即可。請以專用使用者執行,systemd 啟用 ProtectSystem=strict,並在 UFW 覆蓋 IPv6。
Hermes Agent 是什麼
Hermes Agent 是 Nous Research 推出的自架 AI agent,於 February 2026 發布。您可以在自己的伺服器上執行它。它會持續保存專案記憶,在工作過程中自行撰寫可重複使用的技能,並透過 Telegram 和 Discord 等聊天應用程式與您聯絡。它不綁定特定模型,因此您可以指定偏好的語言模型。它也足夠輕量,可在 $5 VPS、Docker 或 SSH 上執行。模型在其他地方執行,而迴圈、工具與記憶在您的伺服器上執行。這種分工讓 Hermes 成為 agent harness,而不是模型,也是小型伺服器便已足夠的原因。
和任何 agent 一樣,它的價值來自代您執行工作。這也是您需要謹慎設定它的原因。能記憶、學習並執行工作的 agent,會持續執行,且實際上能存取您的伺服器。本指南會以安全方式安裝它。這裡的強化措施,也適用於安全執行 OpenClaw。
單一指令安裝,以及為何應先閱讀安裝內容
Hermes 可透過單一指令安裝:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash這樣很方便,也是一種值得遵循的做法。直接將網際網路上的指令碼串接至 shell,會以執行該指令碼的使用者身分執行其中的所有內容。在實際伺服器上執行前,請先下載並閱讀指令碼,然後以專用使用者而非 root 執行:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh這不是特別不信任 Hermes。這是避免任何 curl | bash 安裝悄悄成為整個環境中最弱環節的必要習慣。
為其建立非特權使用者
讓 Hermes 以專用的 system account 執行,絕不要使用 root。如此即使發生錯誤或收到不當指示,也無法影響機器的其他部分。建立沒有登入 shell 的使用者:
sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermes將 Hermes 安裝至 /opt/hermes,並將該帳戶設為擁有者。官方安裝程式會安裝至執行程式的使用者帳戶,因此請以 hermes 使用者執行已下載的 script,例如 sudo -u hermes bash hermes-install.sh。檔案會寫入該使用者的 home directory,而不是你的 home directory。原理與以非特權使用者執行服務相同:agent 所使用的帳戶,決定它最多能造成多大的損害。OS account 只是其中一半,因為 agent 自身的設定也會決定它在未先詢問的情況下能執行多少操作。當 agent 在你未坐在前方操作的主機上執行時,這正是Claude Code 的權限模式所要處理的問題。若該主機日後必須服務的不只你一人,OneCLI 將每個 agent 使用一個帳戶的概念延伸至整個團隊,讓每個人都有自己的沙箱化 agent,同時將 model keys 保留在單一 gateway 中,無須讓任何人到處複製。
防火牆保護伺服器並隔離機密
Hermes 會連線至模型與您所連接的聊天應用程式,因此不需要接受來自網際網路的輸入連線。在伺服器前方設定預設拒絕的防火牆:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable請注意這裡的 IPv6 防火牆缺口,因為只涵蓋 IPv4 的規則集,可能會讓服務透過 IPv6 暴露在外。如果 agent 確實需要連線到僅存在於家用網路中的資源,例如 NAS 或本機資料庫,透過 subnet router 將該網路發布到 tailnet,即可透過輸出的連線抵達,而不必開放輸入連接埠。請將 model API key 與任何 chat token 儲存在只有 hermes 使用者能讀取的檔案中(mode 600),並將其載入服務,而不要貼在命令列上,避免內容進入 shell history。這類 secrets file 與自架 password manager 背後的 admin token 一樣,都是規模小但價值高的目標;Vaultwarden 強化設定中的原則同樣適用:保護這個能解鎖其他一切內容的檔案,也要同樣嚴格保護其備份。檔案權限可以阻止主機上的其他使用者存取,但無法阻止底層的 provider;因此,如果 agent 持有的金鑰敏感到足以改變這項判斷,加密記憶體與 attestation才是決定 hosting company 能否從 RAM 讀出這些金鑰的關鍵。
將 Hermes 作為強化的 systemd 服務執行
systemd unit 可讓 Hermes 在登出及重新開機後持續執行,並在程序當機時重新啟動,也能加入核心層級的沙箱限制,限制它可存取的資源。啟用 NoNewPrivileges、ProtectSystem=strict、PrivateTmp 和 ProtectHome,讓入侵影響維持在受限範圍內。
在此產生強化的 unit,然後將它複製到 /etc/systemd/system/hermes.service。此 unit 會啟動 hermes gateway,這是負責連線至聊天應用程式的長時間執行程序;安裝後執行 hermes --help,確認該命令及該版本二進位檔的路徑,再啟用服務:
這些指示,以及 daemon-reload 和 enable --now 步驟,詳見以 systemd 服務執行程式:
sudo systemctl daemon-reload
sudo systemctl enable --now hermes如需另一個 agent 採用相同模式的完整範例,請參閱在 systemd 下以無頭模式執行 dsh。其中更詳細說明 Restart 規則,以及服務在夜間停止時首次排查會用到的 journalctl 命令。更好的做法是不要等到早上才發現問題:使用一個 OnFailure= unit,將警示推送至自己的 ntfy 伺服器,Hermes 放棄重新啟動時,手機就會立即收到通知。
如果你希望由 systemd 監督容器,而不是原生安裝,請參閱以固定版本的容器維持 KiroCrew 執行。這同樣能在重新開機後持續執行,同時固定映像檔版本。
強化伺服器安全性
最後要強化對外入口。將 SSH 改為僅使用金鑰驗證,並停用 root 登入,做法可參考 VPS 上的 SSH 強化設定。這樣一來,用來管理伺服器的帳號就不容易被猜中。具備持久記憶的代理程式值得受到保護,而最基本的防護,就是確保沒有人能登入它所在的伺服器。
伺服器本身完成鎖定後,多數人接著會加入網頁搜尋功能。讓代理程式使用自己的 SearXNG 執行個體,可以讓這些查詢留在自己的伺服器上,但代價是會將未經任何人審核的頁面提供給它。Hermes 通常也不是伺服器上唯一的代理程式。如果你同時在該伺服器上執行 Claude Code,兩個工作階段可以直接互相交接工作,不必每次都透過你轉交。如果你接下來加入的代理程式會讀取程式碼,而不是聊天應用程式內容,在同一台伺服器上執行 open-kritt 的安全掃描也採用相同的方式:固定版本、使用專用帳號,並透過 SSH tunnel 存取 web UI,而不是開放連接埠。
如果你想了解運作機制,而不是直接執行封裝好的代理程式,在 VPS 上自行建立 AI 代理程式會逐步說明整個流程。如果該指南中的術語對你來說仍然陌生,循序學習 AI 代理程式的路徑會依照迴圈、工具、記憶與安全性彼此建立的順序說明,讓 Hermes 替你做出的選擇不再像魔法。
FAQ
我可以在低價 VPS 上執行 Hermes Agent 嗎?
可以。Hermes 的設計可在小型伺服器上執行,$5 VPS 足以支援個人使用、持續運作的代理程式。它會連線至語言模型和聊天應用程式,而不是提供高流量服務,因此資源需求低。為它建立專用使用者、設定防火牆並建立 systemd 服務後,小型 VPS 就能穩定處理。如果你家中已有一台機器,請先將其硬體與電力成本和每月費用比較,因為家用 Proxmox 主機與租用 VPS各有不同優勢。
執行單行安裝指令碼安全嗎?
curl | bash 安裝方式很方便,但安全的做法是先下載指令碼並閱讀內容,再執行它;同時應使用專用使用者,而不是 root。如此一來,任何專案提供的管線安裝程式,都無法執行超出該受限帳戶權限的操作。這不只是 Hermes 的特例;所有這類安裝方式都應遵循相同的實務做法。
如何在不使用 root 的情況下執行 Hermes?
建立沒有登入 shell 的專用系統使用者,將 Hermes 安裝在該使用者擁有的目錄中,例如 /opt/hermes,並以該帳戶執行服務。如果代理程式遭到入侵,損害範圍就會限制在該帳戶可存取的資源內。
登出後如何讓 Hermes 持續執行?
將它設定為 systemd 服務。unit 檔案會在開機時啟動 Hermes,當它當機時重新啟動,並在 SSH 工作階段結束後維持執行;systemd 的沙箱選項則可限制程序能存取的資源。使用上方的工具產生強化的 unit,並以 systemctl enable --now hermes 啟用它。
Hermes Agent 需要 GPU 嗎?
不需要。Hermes 是代理程式執行環境,而不是語言模型,因此可在僅使用 CPU 的小型 VPS 上正常執行。繁重的運算會在模型執行的位置進行,通常是你連線使用的代管 API。如果你也想在同一台主機上自行代管模型,應依模型需求規劃機器規格,而不是依 Hermes 本身的需求規劃。若要僅使用 CPU 代管模型,請參考Ollama 指南中的數據。