把外部系統掛到 OpenClaw,自動化才會從「命令行演示」升級為「隨時在線的隊友」。2026 年的推薦形態是:HTTP 網關暴露受共享密鑰保護的 /hooks/* 端點,同時在 Apple Silicon 上跑 Ollama,讓 HTML/CSS 重構留在區域網推理路徑裡——前提是接線正確。本文說明如何啟用 Webhook、在喚醒與智能體路由間取捨、在同一臺 Mac 上校驗 Ollama,並匯總升級後 GitHub issue 裡仍常見的錯誤。
安全啟用鉤子與密鑰
上遊文檔通常要求 hooks.enabled: true 並配置網關每次 POST 都校驗的令牌。優先使用 Authorization: Bearer <token>;部分遺留客戶端仍支持 x-openclaw-token。不要把密鑰放進查詢參數——它們會出現在訪問日誌與瀏覽器歷史裡。
修改配置後重啟網關進程,並確認在反向代理終結 TLS 之前,監聽器只綁定 127.0.0.1。在把任何端點暴露到筆記本之外前,請先閱讀 生產環境網關加固指南,完成迴環綁定、證書與隧道策略的對齊。
團隊層面建議把密鑰輪換寫進日曆:每季度生成新令牌,先在 staging 網關驗證 24 小時,再滾動更新生產,並保留舊令牌短窗口以防回滾。若使用 macOS Keychain 存儲,請記錄條目名稱與創建人,避免離職交接時無人知道如何更新。對多區域部署,確保每個環境的 openclaw.json 使用不同密鑰,防止測試流量誤觸生產智能體。
日誌欄位應包含請求 ID 與鉤子類型,便於把網關行與 Ollama 行關聯。可在反向代理層注入 X-Request-ID,並在 OpenClaw 側原樣列印。對合規行業,禁用包含完整 JSON 正文的 debug 級別日誌,或先對敏感欄位做脫敏。若 webhook 來自第三方 SaaS,核對對方 IP 段與籤名算法是否與文檔一致,避免把偽造 POST 當成合法事件。
/hooks/wake 與 /hooks/agent
可把 POST /hooks/wake 理解為「輕戳系統」——CI 完成、日曆提醒觸發,或 CMS 希望智能體去輪詢目錄。POST /hooks/agent 則面向隔離運行,適合不可信 JSON 來自合作夥伴集成的場景,爆炸半徑更小。
| 路由 | 典型負載 | 使用時機 |
|---|---|---|
/hooks/wake | 輕量信號與元數據 | 定時任務、倉庫推送鉤子 |
/hooks/agent | 任務正文與工具提示 | Jira/Linear 等待辦的單票自動化 |
若同一條業務鏈路既需要喚醒又需要帶工具參數,可在網關前用隊列削峰:先接受 webhook 寫入隊列,再由工作進程按類型分流到內部 API,避免高峰時直接把 Ollama 打滿。對需要嚴格順序的流水線,給 payload 加單調遞增序號並在處理器側去重。
可複製粘貼的 curl 示例
從任何能到達網關的主機(常通過 SSH 隧道)執行:
curl -sS -X POST "https://gateway.example/hooks/wake" \
-H "Authorization: Bearer $OPENCLAW_HOOK_SECRET" \
-H "Content-Type: application/json" \
-d '{"source":"ci","build":"12345"}'
本地測試可把 URL 換成迴環隧道(如 https://127.0.0.1:8443/hooks/wake)。期望 HTTP 200 或 204 且帶 JSON 正文;立刻返回 401 多為 Bearer 不匹配,404 多為網關版本過舊或路徑拼寫錯誤——注意尾部斜槓,部分代理會規範化路徑導致意外。
智能體範圍的測試幾乎相同,僅路徑替換:
curl -sS -X POST "https://127.0.0.1:8443/hooks/agent" \
-H "Authorization: Bearer $OPENCLAW_HOOK_SECRET" \
-H "Content-Type: application/json" \
-d '{"task":"Summarize dist/index.html headings","repo":"/Users/build/workspace/site"}'
在 CI 中可用 jq 斷言 .status == "accepted"。若負載均衡終結 HTTP/2,留意重複 POST 重試:冪等處理器應在約 5 分鐘 窗口內識別相同 build ID 並短路,避免昂貴 Ollama 提示被雙擊執行。
對跨地域團隊,建議在筆記本與雲 Mac 各跑一遍相同 curl,確認 DNS、證書鏈與系統代理一致。若公司 SSL 檢查中間人證書,記得把根證書導入雲 Mac 鑰匙串,否則 curl 成功而 Node 進程失敗會造成「只有網關報錯」的假象。
M 系列上的 Ollama:埠、模型與回退
Ollama 默認監聽 127.0.0.1:11434。在運行 OpenClaw 的同一臺 Mac 上驗證模型目錄:
curl -sS http://127.0.0.1:11434/api/tags | jq '.models[].name'
在 openclaw.json 中用諸如 qwen2.5:7b 的明確 ID 固定模型;模糊別名可能讓調度器回退到雲端 API。若你剛讀完 npm 與 Docker 部署對比,請確認容器或全局安裝與 Ollama 處於同一網絡命名空間——Docker 場景常需 host.docker.internal:11434 代替 localhost。
吞吐提示:Apple Silicon Mac mini 在 7B 級別模型上常見 35–50 tok/s;請為權重與 Node 網關 footprint 至少預算 8 GB 內存。區分原生 Ollama API 與 /v1 上的 OpenAI 兼容面:工具調用行為不同,OpenClaw 規劃器可能按提供方字符串選擇傳輸層。不確定時,用五行 JSON 工具模式分別測試,觀察返回的是結構化參數還是純文本,並把獲勝組合寫進 webhook 運維手冊。
對大倉庫,可在技能配置裡限制索引路徑,配合 .openclawignore 排除 node_modules 與構建產物,降低上下文窗口佔用。若模型偶爾返回截斷 diff,考慮把任務拆成「列文件」與「逐文件補丁」兩階段,並在鉤子負載裡攜帶明確的文件邊界,減少智能體越界修改。
2026 年已知故障模式
- Ollama 完成後仍 HTTP 404。 關註上遊 issue:運行結束但回調路由未找到。緩解:升級到最新補丁並確認反向代理原樣轉發
/hooks/*。 - Ollama 流式傳輸時自定義頭被剝離。 需要
X-OLLAMA-KEY的受保護端點若在舊版本丟頭會 403;在代理層注入頭或升級直至修復。 - 已配置 Ollama 仍走 Anthropic。 從網關進程環境而非僅你的 shell 執行
curl,排查防火牆縫隙;顯式設置agents.defaults.model.primary為ollama/model:tag並觀察回退告警日誌。 - 小模型拒絕工具模式。 部分 Gemma 級檢查點在掛載工具時返回 HTTP 400;OpenClaw 可能自動去掉工具重試——請為小模型規劃更簡單的任務。
復現上述任一條時,請並行抓取網關與 Ollama 日誌約 30 秒;對齊時間戳通常一次迭代就能判斷是網絡、鑑權還是模型側問題。
若你使用外部向量庫或檢索插件,確認 webhook 觸發的任務不會在同一秒啟動過多並發索引刷新,以免把 SSD I/O 與模型排隊同時打滿。對需要嚴格 SLA 的團隊,可為鉤子處理器加重試上限與死信隊列,把失敗事件導出到 Slack 以便白天處理。
為何在租用的 Mac mini 上演練
Webhook 加本地推理意味著常駐進程:網關、Ollama,偶爾還有瀏覽器技能。雲 Mac mini 把這些負載從筆記本電池上移開,保留 OpenClaw 插件期望的 macOS 路徑,並讓你在冒險升級前快照一份已知良好的 openclaw.json。實驗搞砸時,重建比回收共享辦公機更快。
組合 SSH 查看日誌與偶發 VNC 點擊隱私授權彈窗,同一節點兩種訪問方式,無需額外硬體。值得記錄的指標:Webhook 周接受率目標 99.5%;從 POST 到首條智能體日誌的 p95 延遲在區域網常見 300–800 毫秒;以及 Ollama 隊列深度。若雲廠商 429 激增,多半是鉤子扇出觸發過多並行智能體;可在 CI 用信號量節流或把 cron 錯峰 30–60 秒。
對 HTML/CSS 倉庫,讓技能指向與靜態構建相同的工作樹,使 webhook 觸發的 diff 仍可在同一 PR 審查。常見布局把倉庫放在雲 Mac 的 /Users/build/workspace/site,並用 .openclawignore 排除 node_modules 與 dist。橋接 Slack 或 Teams 時,每季度輪換籤名密鑰,並用 security add-generic-password 存入鑰匙串,避免排障時 env | grep OPENCLAW 誤洩露。
在 MacHTML 租用節點上,你可以按項目隔離用戶與 LaunchAgent,避免不同客戶的鉤子互相讀取臨時文件。若需要合規審計,導出網關訪問日誌到只追加存儲,並標註保留周期。對跨國團隊,選擇與主要用戶同區域的機房,降低 TLS 往返對 webhook 尾延遲的影響。
最後,把「成功演練」定義成可重複劇本:從空機器到收到第一條 2xx webhook 的時間、涉及的命令序列、以及回滾步驟。每次大版本升級後重跑一遍,能顯著降低周末 on-call 的心智負擔。
常見問題
Ollama 已成功為什麼仍出現 HTTP 404?
部分網關構建在 Ollama 作為提供方時會錯誤處理運行後回調。請升級 OpenClaw,確認 Webhook URL 與文檔中的 /hooks/* 路徑一致,並在響應階段抓取網關日誌。
是否允許把令牌放在查詢字符串?
當前最佳實踐拒絕在查詢串中放密鑰;請使用 Authorization: Bearer 或 x-openclaw-token 請求頭。
已配置 Ollama 為何 OpenClaw 仍調用 Anthropic?
若主模型字符串不是有效的 ollama/ 引用,或網關進程無法訪問守護進程,模型發現可能回退。請用 curl 驗證連通性並顯式固定 agents.defaults.model.primary。
租用 MacHTML 的 Apple Silicon 容量,可讓 webhook 端點與 Ollama 模型 24/7 常駐而不過熱節流個人 MacBook。穩定性直接轉化為更少的 CI 鉤子遺漏與更可預測的改寫延遲。把租用節點當作生產級預發:每次成功演練後凍結依賴一周,再安排有計劃的升級。
在 Apple Silicon 上預發 OpenClaw + Ollama
開通雲 Mac mini,通過 npm 或 Docker 安裝棧,再按幫助中心配置 SSH 隧道與 webhook 測試。