OpenClaw 串接 Ollama 怎麼設定?先分清本機、Cloud 與 `/v1` 邊界
OpenClaw 可以把 Ollama 當成本機或雲端模型提供者,但設定時最容易踩到的不是模型名稱,而是把三種不同路徑混在一起:本機 Ollama daemon、透過本機 daemon 使用 cloud model,以及直接連到 ollama.com。
直接答案是:先用 openclaw onboard 選擇 Ollama 模式,再用 openclaw models list --provider ollama 確認實際模型;若手動設定,Ollama 原生端點應使用 http://主機:11434,不要在 baseUrl 後面加 /v1。 OpenClaw 官方文件目前以原生 /api/chat 為預設,並提醒 OpenAI-compatible /v1 模式的工具呼叫可能不可靠。
本文依 2026-08-04 查核的 OpenClaw Ollama provider 文件與 Ollama 的 OpenClaw 整合文件整理流程;模型清單與版本仍應以你的主機實際輸出為準。
先選三種連線模式
| 模式 | Ollama 在哪裡 | 需要什麼 | 適合的情境 |
|---|---|---|---|
| Local only | 本機或 LAN 上的 Ollama | 可連到 daemon、已安裝模型 | 不想把推論送到雲端 |
| Cloud + Local | 本機 daemon 同時轉送 :cloud 模型 | 本機 daemon;使用 cloud model 時需 ollama signin | 想保留本機模型,也想使用 hosted model |
| Cloud only | https://ollama.com | Ollama API key | 不在本機執行 Ollama daemon |
這三者不是只換一個模型 ID。Cloud only 的 ollama-cloud/<model> provider、透過本機 daemon 的 ollama/<model>:cloud,以及本機模型的 ollama/<model>,在認證、端點與驗證方式上都不同。
如果你只是要最快完成一次安裝,也可以從 Ollama 端執行:
ollama launch openclaw官方整合流程會協助安裝 OpenClaw、選擇模型、建立 gateway 設定,並啟用 Ollama 的 web search;但使用本機模型時,官方建議至少準備 64k context,硬體是否能負擔仍要自己驗證。
用 onboarding 建立本機設定
先確認 Ollama 正在執行,並拉一個確實存在的模型:
ollama serveollama pull gemma4curl http://127.0.0.1:11434/api/tags接著啟動 OpenClaw onboarding:
openclaw onboard在介面中選 Ollama,再選 Local only。完成後用下面兩個指令確認 catalog 與預設模型:
openclaw models list --provider ollamaopenclaw models status如果你不想把本機設定寫死在互動流程,也可以使用官方提供的非互動形式。模型 ID 必須替換成 ollama list 或 openclaw models list 顯示的完整名稱:
export OLLAMA_API_KEY='ollama-local'
openclaw onboard --non-interactive \ --auth-choice ollama \ --custom-base-url 'http://127.0.0.1:11434' \ --custom-model-id 'gemma4' \ --accept-risk對本機或 LAN host,OLLAMA_API_KEY 可以是讓 OpenClaw 啟用 provider 檢查的本地值;連到 https://ollama.com 時,則應使用真正的 Ollama API key。不要把真正的 key 寫進 repository 或貼到 log。
手動設定時,baseUrl 不要寫成 /v1
需要連到另一台 GPU 主機時,可以在 OpenClaw 設定中明確描述 provider。這個範例使用原生 Ollama API:
{ models: { providers: { ollama: { baseUrl: "http://gpu-box.local:11434", api: "ollama", apiKey: "ollama-local", timeoutSeconds: 300, models: [ { id: "qwen3.5:9b", name: "qwen3.5:9b", input: ["text"], contextWindow: 32768, maxTokens: 8192, params: { num_ctx: 32768, thinking: false, keep_alive: "15m", }, }, ], }, }, }, agents: { defaults: { model: { primary: "ollama/qwen3.5:9b", }, }, },}這裡有三個容易漏掉的邊界:
baseUrl是 host 根目錄,不是http://gpu-box.local:11434/v1。primary使用provider/model格式,provider 前綴要保留。contextWindow是 OpenClaw 的上下文預算,params.num_ctx是傳給 Ollama 的執行參數;使用人工指定值時,兩者應一起檢查。
若你設定了 models.providers.ollama.models,OpenClaw 會進入明確模型清單,不再完全依賴自動 discovery。因此模型 ID 拼錯時,先回到主機上的 ollama list,不要只改 allowlist。
Cloud + Local 與 Cloud only 怎麼分
透過本機 daemon 使用 cloud model
這條路仍然以本機 Ollama 為入口:
ollama signinollama pull gemma4openclaw models list --provider ollamaopenclaw models set ollama/gemma4完成登入後,才可以把某些 hosted model 以 ollama/<model>:cloud 的形式放進同一個 provider。這種模式的重點是「OpenClaw 連到本機 host,由 Ollama 處理 cloud routing」,不是把 baseUrl 改成雲端網址。
直接使用 Ollama Cloud
如果這台機器不跑本機 daemon,改用 ollama-cloud:
export OLLAMA_API_KEY='你的 Ollama API key'openclaw onboard --auth-choice ollama-cloudopenclaw models set ollama-cloud/kimi-k2.5:cloud這條路不需要 ollama signin 或本機 ollama serve,但必須確認 API key、雲端模型 ID 和帳號權限。不要把 ollama-cloud/... 與 ollama/... 當成同一個 provider 的別名。
三層驗證,找出到底是哪裡壞
第一層:Ollama daemon 是否可達
curl -fsS http://127.0.0.1:11434/api/tags如果這裡失敗,先處理 Ollama 服務、host、port 或容器網路;OpenClaw 尚未進入問題範圍。
第二層:模型是否真的存在
ollama listopenclaw models list --provider ollama兩邊的名稱若不同,先以實際存在的完整 tag 為準。gemma4、gemma4:latest、qwen3.5:9b 與 qwen3.5:9b-cloud 不是可以隨意互換的字串。
第三層:原生 API 能否完成最小對話
curl http://127.0.0.1:11434/api/chat \ -H 'Content-Type: application/json' \ -d '{ "model": "gemma4", "messages": [{"role": "user", "content": "Reply with exactly: ok"}], "stream": false }'如果這個請求成功,但 OpenClaw 失敗,再檢查 gateway 是否和你執行 curl 的 shell 在同一台機器、provider 是否被手動設定覆蓋,以及 baseUrl 是否誤加 /v1。若你要處理更完整的模型 allowlist,可接著看 OpenClaw 模型切換與 agents.defaults.models 設定。
給 agent 工作流的設定檢查表
- 將本機、LAN、Cloud + Local、Cloud only 寫成明確選項,不讓使用者只填一個模糊的「Ollama URL」。
- 使用
ollama list或/api/tags的實際結果建立模型選擇,避免把文章中的示例模型當成固定目錄。 - 原生工具呼叫使用
api: "ollama"與 host 根 URL;若被迫接相容代理,另寫清楚功能取捨。 - 把
contextWindow、num_ctx、timeout 與keep_alive分別記錄,問題才不會都被叫成「模型太慢」。 - 設定完成後,至少做一次
models list、models status和最小文字推論。 - 對連到 LAN 或雲端的 provider,把 key 的來源、傳送目的地與輪替責任寫進交接文件。
OpenClaw 和 Ollama 的整合重點不是「把一個模型接上去」,而是把路由、認證、原生 API 與上下文邊界寫清楚。先完成三層驗證,再把 messaging channels 或 web search 接上去,出錯時比較容易知道是模型、daemon 還是 gateway 設定。
常見問題
Q: OpenClaw 串接 Ollama 時,為什麼不能直接使用 /v1?
A: OpenClaw 的 Ollama provider 預設使用原生 /api/chat,官方文件提醒 /v1 的 OpenAI-compatible 模式可能讓工具呼叫或 streaming 行為不可靠。只有在明確需要相容代理時,才應使用該模式並額外驗證工具流程。
Q: ollama pull 成功,OpenClaw 還是說找不到模型,怎麼查?
A: 先確認 OpenClaw 連到的 host 和你執行 ollama pull 的 host 相同,再以 ollama list、curl <baseUrl>/api/tags 與 openclaw models list --provider ollama 比對完整模型 ID。若 provider 有手動 models 清單,也要確認它沒有排除該模型。
Q: 本機模型需要先設定真正的 Ollama API key 嗎?
A: 連本機或 LAN host 時,OpenClaw 文件使用本地值啟用可用性檢查;直接連 https://ollama.com 才需要真正的 API key。實際仍要依你的 host 是否有額外驗證而定,不要把本地範例 key 當成雲端憑證。
參考資料:
回報錯字、失效連結,或告訴我你想看的延伸主題。