入門路徑

從零到個人 AI 助理:在 VPS 上建置 Hermes 而不造成混亂

一套完整的 VPS 運作模型,涵蓋基礎設施、模型、通訊、技能、排程、備份與安全。

文章主視覺圖版從零到個人 AI 助理:在 VPS 上建置 Hermes 而不造成混亂hx-article-03-hermes-zero-to-personal-ai-assistant正在載入視覺預覽…
以原始尺寸檢視

從零到個人 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 是一個機密憑證。它應存放在指定用於機密或設定的系統中,並避免出現在螢幕截圖、程式碼倉庫和共享筆記中。允許使用者的設定同樣重要:一個連上網際網路的機器人不應接受陌生人的指令。

閘道啟動並開始運作後,用一個無害的請求進行測試。然後測試未經授權的帳戶是否會被拒絕。僅僅因為擁有者的訊息得到了回應,並不代表設定完成;存取控制也必須如預期般運作。

支柱四:記憶與技能

記憶賦予助手連續性。技能賦予它可重複性。這些概念有重疊,但它們服務不同的目的。

記憶應捕捉關於使用者、當前專案、偏好和先前決策的持久性事實。技能則應捕捉程序:如何研究一個主題、更新文件、準備報告或使用某個工具。將所有東西都混入一個巨大的指令檔案中會造成混亂並消耗上下文。

一個有用的技能包含四個部分:

  1. 清晰的觸發條件或目的。
  2. 開始所需的輸入。
  3. 一系列動作和檢查。
  4. 定義好的輸出格式和停止條件。

第一個技能應解決一個真實的重複性問題。它可能是準備每日行業簡報、將進來的連結轉換為結構化筆記,或審計一個網頁列表。在將其排程之前,先手動執行幾次。每一次失敗都揭示了一個可以新增到技能中的缺失假設。

支柱五:排程與持續性

Cron 工作將一個能幹的助手轉變為一個主動的助手。一個 cron 任務可以每日、每週或以其他間隔執行,並透過設定的閘道傳遞其結果。

第一個排程任務應是可觀察且可逆轉的。每日摘要比自動化的帳戶變更更安全。要包含明確的傳送目的地、最大範圍,以及當找不到有意義的結果時該怎麼做的指示。

持續性也意味著備份。Hermes 會逐漸累積身分檔案、使用者資訊、技能、專案成品、排程定義和設定。失去這些檔案可能會抹去數月的精心調整,即使軟體很容易重新安裝。

一個私有的 Git 儲存庫為非機密的設定和技能檔案提供了實用的備份方式。必須排除機密。提交變更時應附上有意義的訊息,以便損壞的設定可以被追溯和回滾。一個儲存庫只有在恢復測試通過後才最有用,而不僅僅是當檔案出現在遠端網站上時。

安全是一種作業實踐

一個連接了工具和帳戶的代理會擴大錯誤可能造成的影響。安全運作需要多個層面:

  • 有意識地保持作業系統和 Hermes 的更新。
  • 使用金鑰為基礎的伺服器存取,並停用不必要的服務。
  • 透過防火牆或私人網路限制網路暴露。
  • 將 Token 存放在原始碼控制之外。
  • 每個整合只授予其所需的最低權限。
  • 對於不可逆轉或公開的動作要求批准。
  • 定期審查日誌和模型花費。
  • 在重大變更之前進行備份。

提示注入是另一個考量。來自網頁、電子郵件或文件的內容可能包含旨在操控代理的指令。外部文字應被視為資料,而非可信的指令。技能應指示 Hermes 忽略在不可信的來源材料中找到的指令,除非使用者明確批准。

透過隔離責任來擴展

一個 Hermes 實例可以執行許多角色,但無限制地累積最終會產生衝突。財務工作流程、內容工作流程和客戶支援工作流程可能需要不同的工具、記憶和風險控制。

設定檔或獨立的代理提供了隔離。從一個通用助手開始,只有在有明確理由時才拆分角色:不同的憑證、不同的使用者、不相容的指令,或需要限制某個工作流程可能造成的損害。

當引入多個代理時,要定義所有權。一個協調者可以委派有限的任務,而專業代理則以約定的格式產出結果。共享儲存應有明確的資料夾邊界。排程任務應標明哪個代理擁有輸出,以及將失敗報告到何處。

擴展不是由代理的數量來衡量。而是由系統是否仍然易於理解,以及每個自動化動作是否都有可問責的擁有者來衡量。

一個實用的建置順序

整個設定可以分階段進行:

  1. 部署 Hermes 並確認服務能在重新啟動後存活。
  2. 連接一個模型並建立花費上限。
  3. 新增 Telegram,並附上嚴格的允許使用者清單。
  4. 在簡短、可審查的檔案中定義身分和使用者偏好。
  5. 為一個重複性任務建立一個技能。
  6. 手動執行該技能,直到其輸出一致。
  7. 排程它並驗證傳遞。
  8. 將非機密設定備份到一個私有儲存庫。
  9. 審查日誌、成本、權限和恢復能力。
  10. 只有在需要隔離時,才新增設定檔或額外的代理。

這個順序避免了一個常見的陷阱:建立了一個壯觀但無法維護的展示。一個個人 AI 助理是透過可靠性、累積的操作知識和安全的重複來體現其價值——而不是透過第一天安裝的整合數量。

動手實作:建立可觀測的常駐 VPS 基線

  • 成果: 在 VPS 安裝 Hermes、驗證一次模型對話,並以狀態可查的受管理服務執行通訊閘道。
  • 時間: 25–40 分鐘,不含供應商登入時間。
  • 風險: 中。實作會修改遠端主機並安裝背景服務,但不會加入公開通訊頻道或開啟新的防火牆連接埠。

開始之前

  • 使用支援的 Linux VPS 帳戶與 SSH、sudo 存取權,並確認具備 gitcurlxz-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 logshermes gateway status --system 查驗。
  • 一般對話與受管理閘道未同時健康前,不要設定通訊或排程。

安全、隱私與成本

官方安裝方式會執行遠端指令碼;只使用釘選版本安裝文件列出的 HTTPS 網址,並先檢查該文件。SSH 使用金鑰驗證,不要公開儀表板,把密碼交給 Hermes 設定流程而不是終端機歷史紀錄,並在啟用無人值守工作前設定模型支出上限。即使沒有模型呼叫,持續運作的閘道仍有固定 VPS 成本。

官方參考


來源影片: Hermes Agent: Zero to Personal AI Assistant (1 Hour Course),Nate Herk | AI Automation。根據完整逐字稿改編與重組;已移除廣告及重複的口語指示。

提及的概念

本文的知識庫鄰近領域。