
想在隨身攜帶的工作筆電上盡情調用具備自主行動力的 Hermes Agent,卻常因本地顯示卡記憶體受限、風扇高速狂轉而感到綁手綁腳嗎?其實只要善用專為 Apple Silicon 打造的 oMLX 推理引擎,就能將算力充沛的桌上型主機化為專屬 AI 運算節點,透過區域網路開放 API 端點,提供給另一台工作機無縫連線!本文將從內網監聽設定、連通性驗證、到 Hermes Agent 的端點對接進行完整實戰拆解,帶你輕鬆打造流暢安靜的雙機 AI 工作流。
1. 為什麼選擇「oMLX + Hermes Agent」雙機分離架構?
在本地運行大型語言模型(LLM)時,我們往往面臨兩難:高效能的運算硬體通常體積龐大且功耗較高,而輕便的日常工作筆電在跑高負載模型時,容易出現記憶體不足與發熱降頻的問題。透過雙機分離的拓撲架構,我們可以把兩項開源工具的優勢發揮到極致:
🚀 oMLX 高效推理後端
基於 Apple 原生 MLX 框架 所開發的開源推理引擎,能夠深度發揮 Apple Silicon 統一記憶體的高頻寬優勢,以極低功耗提供相容於 OpenAI API 的標準 HTTP 服務,讓龐大參數模型在常駐記憶體下依然維持毫秒級回應。
🤖 Hermes Agent 自主智能體
由開源社群領頭羊 Nous Research 推出的 Hermes 系列模型原生支援強悍的函數調用(Function Calling)與結構化推論能力。搭配 Hermes Agent 客戶端,能在工作機上靈活執行終端機指令、讀寫程式碼與進行多步驟自主決策。
將 oMLX 作為「運算大腦(Host)」,專注處理矩陣運算與 Token 生成;而把 Hermes Agent 放在「操作工作機(Client)」,負責處理日常程式編寫與工具執行,不僅徹底解放筆電效能,更讓開發流程變得優雅而安定。
2. 行前準備:硬體角色分配與區域網路拓撲
在動手修改設定檔之前,請先確認兩台設備在實體網路與環境上的就緒狀態:
| 設備角色 | 硬體建議規格 | 負責任務與服務 |
|---|---|---|
| 伺服端 (Host) | Apple Silicon Mac (M系列晶片,建議 32GB 以上統一記憶體) | 常駐運行 oMLX,載入 Hermes-3 系列模型並開放 Port 8000 |
| 客戶端 (Client) | 一般筆電或工作站 (Windows / macOS / Linux 皆可) | 安裝 Python 3.10+ 與 Hermes Agent CLI,發送推論請求 |
⚠️ 關鍵網路條件:兩台設備必須處於同一個區域網路(LAN)網段(例如皆連線至相同的家用 Wi-Fi 或實體路由器,IP 屬於 192.168.1.X 或 10.0.0.X),且路由器切勿開啟「訪客隔離 (AP Isolation)」功能,否則設備間將無法互相通訊。
3. 伺服端設定:讓 oMLX 開放全域網路監聽 (0.0.0.0)
基於本機安全性考量,oMLX 預設通常僅綁定在環回位址(127.0.0.1),這會導致外部設備的連線請求直接遭到系統拒絕。我們需要將其調整為全介面監聽(0.0.0.0)。
步驟 A:查詢伺服端內網 IP
在 Mac 伺服端開啟「終端機」,輸入下列指令查詢當前分配到的區域網路 IP:
ipconfig getifaddr en0
# 若使用有線乙太網路,可改為查詢 en1,或執行以下指令查看:
ifconfig | grep "inet " | grep -v 127.0.0.1
此處請先記下終端機顯示的數值(本文教學以 192.168.1.100 為範例)。
步驟 B:設定 oMLX 監聽 0.0.0.0
根據你的 oMLX 啟動模式,挑選對應的方式調整監聽位址:
- 圖形介面 (GUI App):開啟 oMLX 視窗,進入「Settings」設定頁籤,將 Host 欄位由
127.0.0.1更改為0.0.0.0,連接埠(Port)保持預設的8000。 - 命令列模式 (CLI):若習慣透過終端機啟動服務,請加上
--host參數:omlx serve --host 0.0.0.0 --port 8000 - 設定檔持久化:亦可直接在系統環境變數中加入
export OMLX_HOST=0.0.0.0,確保未來開機或重啟服務時皆能維持對外監聽。
步驟 C:放行 macOS 系統防火牆與確認模型
前往 Mac 的「系統設定」>「網路」>「防火牆」,確認防火牆允許 oMLX 接收傳入連線。接著打開伺服端瀏覽器進入 https://127.0.0.1:8000/admin,確認模型已經載入完成,並記錄下模型代號(如 mlx-community/Hermes-3-Llama-3.1-8B-4bit,或你在管理後台設定的模型別名 Alias)。
4. 連通性驗證:使用 curl 快速排查通訊管道
在著手設定工作機上的 Hermes Agent 之前,務必先確認兩台電腦之間的網路握手是否順暢。請走到客戶端電腦(你的工作筆電)前,開啟終端機執行:
curl https://192.168.1.100:8000/v1/models
若網路配置正確,終端機將會立即回傳一段結構嚴謹的 JSON 資料,列出伺服端目前掛載的模型清單:
{
"object": "list",
"data": [
{
"id": "hermes-3-8b",
"object": "model",
"owned_by": "omlx"
}
]
}
只要能順利取得上述 JSON,就代表網路通道與防火牆已全數開通!若此時出現 Connection refused 或指令卡住超時,請停下腳步回到步驟三重新檢查 Host 是否確實為 0.0.0.0。
5. 客戶端配置:為 Hermes Agent 設定遠端 API 端點
確認底層網路相通後,接下來就是告訴 Hermes Agent:「請將所有對話與工具呼叫請求,指派到遠端的 oMLX 伺服器處理」。
方式一:手動編輯核心設定檔 (推薦,穩定可靠)
找到 Hermes Agent 的使用者家目錄設定檔 ~/.hermes/config.yaml(若不存在請手動建立),編輯為以下內容:
model:
provider: custom
default: "hermes-3-8b" # 填入步驟三查詢到的模型 ID 或別名
base_url: "https://192.168.1.100:8000/v1" # 伺服端內網 IP 與埠號,末端務必包含 /v1
api_mode: chat_completions
temperature: 0.7
max_tokens: 4096
此外,由於許多基於 OpenAI SDK 建構的 Agent 客戶端會強制檢查環境變數中的金鑰,即便本地 oMLX 預設無須驗證,也請在 ~/.hermes/.env 檔案中補上一行虛擬金鑰以避免程式拋出缺少 Key 的警告:
OPENAI_API_KEY="omlx-local"
方式二:透過 CLI 命令列互動引導設定
如果你偏好在終端機中透過選單操作,也可以直接在工作機執行:
hermes model
在互動式提示中,Provider 選擇 Custom Endpoint,並依序填入 Base URL(https://192.168.1.100:8000/v1)以及對應的模型名稱即可。
6. 實戰演練:從 Ping 測試到自主工具調用
設定完成後,我們可以在客戶端進行兩階段測試,確保各項協同模組運作正常。
階段一:非互動式極速連線探測
在客戶端終端機執行單次探測指令,確認端點能正常回傳字串:
hermes chat -q "請簡短說明什麼是分散式推論架構?" -Q
若數秒內終端機順暢輸出繁體中文解答,恭喜你!這代表訊息已經順利往返兩台裝置。
階段二:進入完整交互式 Agent 模式
鍵入以下指令,進入全功能自主智慧工作台:
hermes chat
在對話介面中,你可以嘗試輸入稍微複雜的任務,例如:
「請幫我在目前目錄建立一個名為 network_test 的資料夾,並寫入一個能定期檢查內網連線狀態的 Python 腳本。」
此時你可以觀察到:工作機上的 Hermes Agent 會解析意圖、規劃工具調用、並在本地安全環境下執行檔案與終端機指令;而所有繁重的神經網絡推論與自然語言組織,全都在遠端的 Mac 伺服端無聲高速運轉。工作機依然冰涼省電,工作體驗極度流暢!
7. 專家級避坑指南:常見連線報錯與除錯 SOP
在建置跨裝置 API 串接的過程中,如果遇到突發狀況,可以依循下表進行快速定位:
| 常見錯誤現象 | 核心成因分析 | 黃金解決對策 |
|---|---|---|
| Connection Refused | oMLX 依然綁定在 127.0.0.1,未向區網開放 |
檢查啟動參數,確認 Host 已明確設定為 0.0.0.0。 |
| Request Timeout | 無線路由器開啟了 AP 隔離,或 Mac 防火牆擋下封包 | 關閉路由器的訪客隔離;在 Mac 系統設定中暫時將 oMLX 加入防火牆信任清單。 |
| 404 Not Found | Base URL 端點路徑漏掉了版本前綴 | Hermes 的 base_url 結尾必須包含 :8000/v1,不可只有 :8000。 |
| Model Not Found | 設定檔指定的模型名稱與 oMLX 後端不一致 | 在工作機執行 curl https://<IP>:8000/v1/models,複製 JSON 內的精準 id 字串填回 config。 |
| 推論回應過慢 | 模型 Context 長度設定過高,或是 Wi-Fi 封包延遲 | 適度調降 oMLX 的 Max Context 限制,或兩台主機優先改採實體有線網路連線。 |
本文所提及之 IP 綁定(0.0.0.0)與防火牆調整教學,僅適用於受密碼保護之私人家庭或受信任之公司內部區域網路(LAN)。開放全網段監聽意味著區域網路內的所有設備皆具備向該連接埠發送請求之潛在能力。強烈建議切勿在缺乏身分驗證(如反向代理 Basic Auth)或未經加密通道的情況下,直接透過路由器 Port Forwarding(連接埠轉發)將服務曝露於公開網際網路。若有跨外網遠距存取需求,請務必搭配 Tailscale 或 WireGuard 等安全虛擬私人網路方案進行加密傳輸。