從零到個人 AI 助理:在 VPS 上建置 Hermes 而不造成混亂
一套完整的運作模式,涵蓋安裝、訊息傳遞、記憶、技能、排程工作、備份、安全以及多代理擴展。
安裝一個 AI 代理,比起讓它保持有用要容易得多。一個成功的 Hermes 設定需要的不僅僅是一個能用的模型和一個 Telegram 機器人。它需要一個清晰的運作架構:在哪裡執行、記住什麼、如何學習重複性工作、何時自動行動,以及如何保護其檔案。
規劃系統最有用的方式,是圍繞五個實用支柱來思考:基礎設施、智慧、通訊、能力,以及持續性。這五者結合起來,能將一台空白的伺服器變成一個個人助理,能夠在重新開機後存活、從錯誤中復原,並在成長的同時保持易於理解。
理解 Hermes 是什麼——以及它不是什麼
Hermes 是一個代理框架(agent harness)。它圍繞著一個語言模型,讓模型能夠存取工作階段、檔案、工具、記憶、技能、訊息閘道和排程。模型提供推理能力;Hermes 則提供一個讓這些推理能夠產出持續工作的環境。
這就是為什麼與 Claude Code、OpenClaw 或一般聊天機器人相比可能會產生誤解。Claude Code 專為程式碼倉庫內的軟體工作而最佳化。一般的聊天助手則專為互動式問答而最佳化。Hermes 的設計目標是保持可用、透過外部管道通訊,並累積可重複使用的操作知識。
正確的選擇取決於工作性質。對於集中的程式設計工作階段,一個編碼工具可能更好;而對於一個需要監控資訊、管理例行事務並協調多種工作的助手來說,Hermes 則更為適合。
支柱一:可靠的基礎設施
一個永遠線上的助手需要一台保持連線的機器。VPS 提供了這個基礎,無需家用電腦持續運作。伺服器一開始不需要很大;語言模型推論通常由獨立供應商處理,因此 Hermes 主機只需要足夠的容量來維持執行環境、檔案和支援服務。
安裝過程應產生一個可重現的環境。記錄伺服器類型、作業系統、安裝指令、開放的連接埠以及重要檔案的位置。如果託管供應商提供一鍵部署 Hermes 的選項,可以縮短設定時間,但結果仍應檢查,而不是將其視為黑盒子。
部署完成後,在新增整合之前先驗證基本項目:
- Hermes 啟動無錯誤。
- 選擇的模型能夠回應。
- 閘道僅在預期的位址監聽。
- 伺服器能乾淨地重新啟動。
- 重要資料在重新啟動後仍然存在。
這些檢查建立了一個穩定的基礎。在核心服務可靠之前就新增 Telegram、排程和工具,會使得之後的故障更難診斷。
支柱二:模型策略,而非單一模型選擇
Hermes 可以與多個供應商合作。初學者可以透過 OpenRouter 選擇模型,或連接現有的支援訂閱。重要的決定不僅僅是哪個模型最強,而是模型成本和能力如何與工作負載相匹配。
一個高階模型可能適合困難的規劃、編碼或細緻的寫作。一個較便宜的模型可能足以勝任分類、摘要和例行檢查。備用模型可以在主要供應商無法使用時提供恢復能力。
從一開始就要追蹤花費。代理任務可能包含長上下文、工具結果和重複的重試。一個看似便宜的排程,如果它每隔幾分鐘就呼叫一個大型模型,就會變得昂貴。成本控制應屬於每個工作流程的設計,而不是月底的緊急審查。
支柱三:安全的通訊管道
Telegram 是從手機聯絡 Hermes 的便利方式。通常的流程是透過 BotFather 建立一個機器人,將其 Token 複製到 Hermes 的設定中,並將存取權限限制為擁有者的 Telegram 使用者 ID。
Token 是一個機密憑證。它應存放在指定用於機密或設定的系統中,並避免出現在螢幕截圖、程式碼倉庫和共享筆記中。允許使用者的設定同樣重要:一個連上網際網路的機器人不應接受陌生人的指令。
閘道啟動並開始運作後,用一個無害的請求進行測試。然後測試未經授權的帳戶是否會被拒絕。僅僅因為擁有者的訊息得到了回應,並不代表設定完成;存取控制也必須如預期般運作。
支柱四:記憶與技能
記憶賦予助手連續性。技能賦予它可重複性。這些概念有重疊,但它們服務不同的目的。
記憶應捕捉關於使用者、當前專案、偏好和先前決策的持久性事實。技能則應捕捉程序:如何研究一個主題、更新文件、準備報告或使用某個工具。將所有東西都混入一個巨大的指令檔案中會造成混亂並消耗上下文。
一個有用的技能包含四個部分:
- 清晰的觸發條件或目的。
- 開始所需的輸入。
- 一系列動作和檢查。
- 定義好的輸出格式和停止條件。
第一個技能應解決一個真實的重複性問題。它可能是準備每日行業簡報、將進來的連結轉換為結構化筆記,或審計一個網頁列表。在將其排程之前,先手動執行幾次。每一次失敗都揭示了一個可以新增到技能中的缺失假設。
支柱五:排程與持續性
Cron 工作將一個能幹的助手轉變為一個主動的助手。一個 cron 任務可以每日、每週或以其他間隔執行,並透過設定的閘道傳遞其結果。
第一個排程任務應是可觀察且可逆轉的。每日摘要比自動化的帳戶變更更安全。要包含明確的傳送目的地、最大範圍,以及當找不到有意義的結果時該怎麼做的指示。
持續性也意味著備份。Hermes 會逐漸累積身分檔案、使用者資訊、技能、專案成品、排程定義和設定。失去這些檔案可能會抹去數月的精心調整,即使軟體很容易重新安裝。
一個私有的 Git 儲存庫為非機密的設定和技能檔案提供了實用的備份方式。必須排除機密。提交變更時應附上有意義的訊息,以便損壞的設定可以被追溯和回滾。一個儲存庫只有在恢復測試通過後才最有用,而不僅僅是當檔案出現在遠端網站上時。
安全是一種作業實踐
一個連接了工具和帳戶的代理會擴大錯誤可能造成的影響。安全運作需要多個層面:
- 有意識地保持作業系統和 Hermes 的更新。
- 使用金鑰為基礎的伺服器存取,並停用不必要的服務。
- 透過防火牆或私人網路限制網路暴露。
- 將 Token 存放在原始碼控制之外。
- 每個整合只授予其所需的最低權限。
- 對於不可逆轉或公開的動作要求批准。
- 定期審查日誌和模型花費。
- 在重大變更之前進行備份。
提示注入是另一個考量。來自網頁、電子郵件或文件的內容可能包含旨在操控代理的指令。外部文字應被視為資料,而非可信的指令。技能應指示 Hermes 忽略在不可信的來源材料中找到的指令,除非使用者明確批准。
透過隔離責任來擴展
一個 Hermes 實例可以執行許多角色,但無限制地累積最終會產生衝突。財務工作流程、內容工作流程和客戶支援工作流程可能需要不同的工具、記憶和風險控制。
設定檔或獨立的代理提供了隔離。從一個通用助手開始,只有在有明確理由時才拆分角色:不同的憑證、不同的使用者、不相容的指令,或需要限制某個工作流程可能造成的損害。
當引入多個代理時,要定義所有權。一個協調者可以委派有限的任務,而專業代理則以約定的格式產出結果。共享儲存應有明確的資料夾邊界。排程任務應標明哪個代理擁有輸出,以及將失敗報告到何處。
擴展不是由代理的數量來衡量。而是由系統是否仍然易於理解,以及每個自動化動作是否都有可問責的擁有者來衡量。
一個實用的建置順序
整個設定可以分階段進行:
- 部署 Hermes 並確認服務能在重新啟動後存活。
- 連接一個模型並建立花費上限。
- 新增 Telegram,並附上嚴格的允許使用者清單。
- 在簡短、可審查的檔案中定義身分和使用者偏好。
- 為一個重複性任務建立一個技能。
- 手動執行該技能,直到其輸出一致。
- 排程它並驗證傳遞。
- 將非機密設定備份到一個私有儲存庫。
- 審查日誌、成本、權限和恢復能力。
- 只有在需要隔離時,才新增設定檔或額外的代理。
這個順序避免了一個常見的陷阱:建立了一個壯觀但無法維護的展示。一個個人 AI 助理是透過可靠性、累積的操作知識和安全的重複來體現其價值——而不是透過第一天安裝的整合數量。
動手實作:建立可觀測的常駐 VPS 基線
- 成果: 在 VPS 安裝 Hermes、驗證一次模型對話,並以狀態可查的受管理服務執行通訊閘道。
- 時間: 25–40 分鐘,不含供應商登入時間。
- 風險: 中。實作會修改遠端主機並安裝背景服務,但不會加入公開通訊頻道或開啟新的防火牆連接埠。
開始之前
- 使用支援的 Linux VPS 帳戶與 SSH、
sudo存取權,並確認具備git、curl、xz-utils。 - 若主機已有其他工作負載,安裝前先建立供應商快照或 VPS 快照。
- 建立基線期間不要把 Hermes 直接暴露在公開網路。
日後建立排程前,先選擇正確的 Cron 模式:
| 模式 | 實際執行內容 | 適合用途 | 成本與輸出 |
|---|---|---|---|
| 代理模式 | 自包含提示詞或技能會在全新的 Hermes 代理工作階段中執行;也可先用選用指令碼收集上下文。 | 真正需要模型推理的研究、綜整或判斷。 | 使用模型 token;代理的最終回覆會被傳送並留下執行紀錄。 |
| 純指令碼模式 | no_agent=True 必須搭配指令碼,並完全略過代理迴圈。 |
確定性的健康檢查、閾值判斷、匯出與監控守門程式。 | 不呼叫大型語言模型;標準輸出會原樣傳送,空輸出或 wakeAgent=false 則保持安靜。 |
代理模式的 Cron 每次都使用沒有目前對話上下文的全新隔離工作階段,也無法向人追問。因此提示詞必須包含所有路徑、輸入、限制、輸出、無變化行為與停止條件。Cron 執行中的代理不得遞迴建立更多 Cron;若需改排程,應產生提案,由人在該執行以外套用。
動手完成
在 VPS 執行釘選版本所列的官方安裝程式,並重新載入終端機環境:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc # 登入環境是 zsh 時改用 source ~/.zshrc
hermes setup
在設定精靈中選擇一個供應商與模型。加入 Telegram 或 Cron 前,先執行一次唯讀測試與深度狀態檢查:
hermes chat -q "只回覆主機名稱,並說明沒有變更任何檔案。不要修改任何內容。"
hermes status --deep
安裝、啟動並檢查 Linux 開機自動執行的系統服務:
sudo hermes gateway install --system
sudo hermes gateway start --system
hermes gateway status --system
驗證成功
- 單次對話從選定供應商取得正常回覆。
hermes status --deep沒有尚未處理的供應商或設定失敗。hermes gateway status --system顯示開機服務正在運作。- 主動執行
sudo hermes gateway restart --system後,服務能回到運作狀態。
發生問題時
- 加入其他功能前先執行
hermes doctor。 - 對話出現驗證錯誤或選錯模型時,重新執行
hermes model。 - 服務無法持續運作時,使用
hermes logs與hermes gateway status --system查驗。 - 一般對話與受管理閘道未同時健康前,不要設定通訊或排程。
安全、隱私與成本
官方安裝方式會執行遠端指令碼;只使用釘選版本安裝文件列出的 HTTPS 網址,並先檢查該文件。SSH 使用金鑰驗證,不要公開儀表板,把密碼交給 Hermes 設定流程而不是終端機歷史紀錄,並在啟用無人值守工作前設定模型支出上限。即使沒有模型呼叫,持續運作的閘道仍有固定 VPS 成本。
官方參考
來源影片: Hermes Agent: Zero to Personal AI Assistant (1 Hour Course),Nate Herk | AI Automation。根據完整逐字稿改編與重組;已移除廣告及重複的口語指示。
