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-11-12 對照 OpenClaw v2026.11.3 的 Ollama 文件與 Ollama 的 OpenClaw 整合文件更新。以下是文件導向的設定與驗收方法,尚未啟動 Gateway、模型推論或 web search;模型清單仍以你的主機實際輸出為準。
先選三種連線模式
| 模式 | 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 的執行參數;使用人工指定值時,兩者應一起檢查。
依 v2026.11.3 的 model discovery 文件,Ollama 已在 agent 的模型 scope 中時,明確指定的自架 endpoint 即使已有 models 清單,仍會探索其他已安裝的 chat models;手動模型保留自己的設定。要只列設定中的模型,可使用 models.mode: "replace" 或 plugins.entries.ollama.config.discovery.enabled: false,修改前先確認是否會影響其他 provider。
/api/tags 成功時,還會比對設定模型是否存在;名稱錯誤會出現警告,離線時則沒有這個缺少模型警告。因此「沒有警告」不足以證明 host 可達。一次 discovery 失敗也可能保留相同 endpoint/憑證的上次成功 inventory;目錄可見與當下可推論應分開查。
Cloud + Local 與 Cloud only 怎麼分
透過本機 daemon 使用 cloud model
這條路仍然以本機 Ollama 為入口:
ollama signinopenclaw models list --provider ollama# 確認這個完整 ID 在你的 host 可用後再選用:openclaw models set ollama/kimi-k2.5:cloud完成登入後,才可以把某些 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,確認文字推論
若 /api/chat 通過而 agent 回覆失敗,可依官方 smoke tests做窄範圍檢查。以下 llama3.2:latest 是範例,需先在該 host 安裝,或換成實際存在的完整模型 ID:
OLLAMA_API_KEY=ollama-local \ openclaw infer model run \ --local \ --model ollama/llama3.2:latest \ --prompt "Reply with exactly: pong" \ --json這條路徑略過 chat tools、memory 與 session context。它通過時,接著在完整 agent 做一個低影響工具任務,例如讀取專案副本的一份文字檔並回報內容;只有文字推論通過,仍不能認定工具往返正常。若 Gateway 在 Docker 或另一台主機,shell 的 curl 測試也應移到相同網路位置,確認 127.0.0.1 指向的 daemon 一致。
新版文件也說明:隔離 cron 選到本機/私有網路/.local Ollama provider,而 /api/tags 不可達時,該次會記為 skipped;host 檢查快取五分鐘。若症狀出現在排程,先看 run 是否被略過,再查模型,詳見 OpenClaw Cron 執行與投遞排錯。
本機推論和 web search 各自驗收
Ollama Web Search 文件要求自架 host 已執行 ollama signin;直接連 https://ollama.com 則需真正的 API key。純本機文字推論成功,無法證明搜尋的登入與外部服務也成功。
Ollama 整合流程會自動啟用搜尋;手動調整使用 openclaw configure --section web。先以無私人內容的查詢驗證搜尋,再確認回覆實際使用了搜尋結果。需要完全本機資料路徑時,應分別評估 cloud model 與 web search 的對外傳輸。
若只想改 Ollama 整合設定,可用 ollama launch openclaw --config;官方另提醒,已有 Gateway 時,選用新模型可能讓它重新啟動,操作前先安排現有任務。
給 agent 工作流的設定檢查表
- 將本機、LAN、Cloud + Local、Cloud only 寫成明確選項,不讓使用者只填一個模糊的「Ollama URL」。
- 使用
ollama list或/api/tags的實際結果建立模型選擇,避免把文章中的示例模型當成固定目錄。 - 原生工具呼叫使用
api: "ollama"與 host 根 URL;若被迫接相容代理,另寫清楚功能取捨。 - 把
contextWindow、num_ctx、timeout 與keep_alive分別記錄,問題才不會都被叫成「模型太慢」。 - 設定完成後,分別完成目錄、最小文字推論、完整 agent 工具往返;有啟用搜尋時再驗收搜尋。
- 對連到 LAN 或雲端的 provider,把 key 的來源、傳送目的地與輪替責任寫進交接文件。
先確認 host 與模型,再驗收文字、工具和搜尋;每層留下結果,才能把 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 當成雲端憑證。
參考資料:
OpenClaw v2026.11.3:Ollama setup