1708 字
9 分鐘

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 onlyhttps://ollama.comOllama API key不在本機執行 Ollama daemon

這三者不是只換一個模型 ID。Cloud only 的 ollama-cloud/<model> provider、透過本機 daemon 的 ollama/<model>:cloud,以及本機模型的 ollama/<model>,在認證、端點與驗證方式上都不同。

如果你只是要最快完成一次安裝,也可以從 Ollama 端執行:

Terminal window
ollama launch openclaw

官方整合流程會協助安裝 OpenClaw、選擇模型、建立 gateway 設定,並啟用 Ollama 的 web search;但使用本機模型時,官方建議至少準備 64k context,硬體是否能負擔仍要自己驗證。

用 onboarding 建立本機設定#

先確認 Ollama 正在執行,並拉一個確實存在的模型:

Terminal window
ollama serve
ollama pull gemma4
curl http://127.0.0.1:11434/api/tags

接著啟動 OpenClaw onboarding:

Terminal window
openclaw onboard

在介面中選 Ollama,再選 Local only。完成後用下面兩個指令確認 catalog 與預設模型:

Terminal window
openclaw models list --provider ollama
openclaw models status

如果你不想把本機設定寫死在互動流程,也可以使用官方提供的非互動形式。模型 ID 必須替換成 ollama listopenclaw models list 顯示的完整名稱:

Terminal window
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",
},
},
},
}

這裡有三個容易漏掉的邊界:

  1. baseUrl 是 host 根目錄,不是 http://gpu-box.local:11434/v1
  2. primary 使用 provider/model 格式,provider 前綴要保留。
  3. contextWindow 是 OpenClaw 的上下文預算,params.num_ctx 是傳給 Ollama 的執行參數;使用人工指定值時,兩者應一起檢查。

若你設定了 models.providers.ollama.models,OpenClaw 會進入明確模型清單,不再完全依賴自動 discovery。因此模型 ID 拼錯時,先回到主機上的 ollama list,不要只改 allowlist。

Cloud + Local 與 Cloud only 怎麼分#

透過本機 daemon 使用 cloud model#

這條路仍然以本機 Ollama 為入口:

Terminal window
ollama signin
ollama pull gemma4
openclaw models list --provider ollama
openclaw models set ollama/gemma4

完成登入後,才可以把某些 hosted model 以 ollama/<model>:cloud 的形式放進同一個 provider。這種模式的重點是「OpenClaw 連到本機 host,由 Ollama 處理 cloud routing」,不是把 baseUrl 改成雲端網址。

直接使用 Ollama Cloud#

如果這台機器不跑本機 daemon,改用 ollama-cloud

Terminal window
export OLLAMA_API_KEY='你的 Ollama API key'
openclaw onboard --auth-choice ollama-cloud
openclaw models set ollama-cloud/kimi-k2.5:cloud

這條路不需要 ollama signin 或本機 ollama serve,但必須確認 API key、雲端模型 ID 和帳號權限。不要把 ollama-cloud/...ollama/... 當成同一個 provider 的別名。

三層驗證,找出到底是哪裡壞#

第一層:Ollama daemon 是否可達#

Terminal window
curl -fsS http://127.0.0.1:11434/api/tags

如果這裡失敗,先處理 Ollama 服務、host、port 或容器網路;OpenClaw 尚未進入問題範圍。

第二層:模型是否真的存在#

Terminal window
ollama list
openclaw models list --provider ollama

兩邊的名稱若不同,先以實際存在的完整 tag 為準。gemma4gemma4:latestqwen3.5:9bqwen3.5:9b-cloud 不是可以隨意互換的字串。

第三層:原生 API 能否完成最小對話#

Terminal window
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;若被迫接相容代理,另寫清楚功能取捨。
  • contextWindownum_ctx、timeout 與 keep_alive 分別記錄,問題才不會都被叫成「模型太慢」。
  • 設定完成後,至少做一次 models listmodels 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 listcurl <baseUrl>/api/tagsopenclaw models list --provider ollama 比對完整模型 ID。若 provider 有手動 models 清單,也要確認它沒有排除該模型。

Q: 本機模型需要先設定真正的 Ollama API key 嗎?#

A: 連本機或 LAN host 時,OpenClaw 文件使用本地值啟用可用性檢查;直接連 https://ollama.com 才需要真正的 API key。實際仍要依你的 host 是否有額外驗證而定,不要把本地範例 key 當成雲端憑證。

參考資料:

OpenClaw:Ollama provider

Ollama:OpenClaw 整合

Ollama:API chat

OpenClaw 串接 Ollama 怎麼設定?先分清本機、Cloud 與 `/v1` 邊界
https://laplusda.com/posts/openclaw-ollama-model-setup/
作者
Zero
發佈於
2026-08-04
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。