Local LLM を利用するようにセットアップするには直接 ~/.openclaw/openclaw.json を編集するのが確実です。
プロバイダ名を既存のありそうな名称 “ollama” や “lmstudio” と重ならないようにしてください。 OpenClaw にはプリセットのプロバイダとして “ollama” がすでに含まれておりこれらを完全に上書きすることができません。
例えば agents.defaults.model.primary に “ollama/gpt-oss:120b” を指定した場合、必ず localhost (127.0.0.1:11343) の ollama を見に行きます。 そのため baseUrl を定義して他の PC に接続しようとしても失敗します。
baseUrl を設定して他の PC やサーバーに接続する場合は設定するプロバイダ名に注意してください。
.openclaw/openclaw.json を書き換えて設定を変更したあとは、確実に読み込ませるために Gateway を再起動してください。 openclaw status 等のコマンドで一見読み込まれているように見えても、Gateway には読み込まれていない可能性があります。
確実に設定を反映させるためには「openclaw gateway restart」の実行を忘れないようにしてください。
openclaw status や openclaw tui などのコマンドで表示されるモデル名は、新しいものに切り替わるまで時間がかかります。
古いモデル名が表示されたままでも openclaw gateway restart していれば大丈夫なのでそのまま使用してください。
OpenClaw にネットワークアクセスを許可する場合は、必ず 300b 以上のパラメータ数を持った LLM を使用してください。 例えば OpenAI の gpt-oss 120b はローカル PC 上でも動作可能ですが、パラメータ数が少ないのでセキュリティ面からは非推奨となります。 もちろん 120b でも OpenClaw を使用すること自体は可能なので、クローズドな SandBox 上で動作テストを行うことはできます。 以下の設定では gpt-oss:120b を使用している部分がありますが、仮想マシンを使った完全な隔離された環境での実験利用を想定していますのでご注意ください。
直接 ~/.openclaw/openclaw.json を書き換えます。
{ ~ "models": { "providers": { "lmstudio-pc": { "baseUrl": "http://<LMSTUDIO HOST ADDRESS>:1234/v1", "apiKey": "lmstudio", "api": "openai-completions", "models": [ { "id": "openai/gpt-oss-120b", "name": "openai/gpt-oss-120b", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 65536, "maxTokens": 32768 }, { "id": "qwen3.5-122b-a10b", "name": "qwen3.5-122b-a10b", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 65536, "maxTokens": 32768 }, { "id": "qwen/qwen3-vl-8b", "name": "qwen/qwen3-vl-8b", "reasoning": true, "input": [ "text", "image" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 32768, "maxTokens": 32768 } ] } } }, ~ "agents": { "defaults": { "model": { "primary": "lmstudio-pc/openai/gpt-oss-120b" }, "imageModel": { "primary": "lmstudio-pc/qwen/qwen3-vl-8b" }, "workspace": "/home/~/.openclaw/workspace", "compaction": { "mode": "safeguard" }, "timeoutSeconds": 1800, "maxConcurrent": 4, "subagents": { "maxConcurrent": 8 } } } }
ollama 自体はすでにインストールされているものとします。 もしまだインストールしていない、もしくは最新版に更新されていない場合はこちらからインストールしてください。
ollama pull コマンドで使用するモデルをダウンロードしておきます。
例
ollama pull gpt-oss:120b
ollama launch openclaw –model <モデル名> を実行すると自動的に OpenClaw が起動します。~/.openclaw/openclaw.json も書き換えてくれます。
例
ollama launch openclaw --model gpt-oss:120b
直接 ~/.openclaw/openclaw.json を書き換えます。
{ ~ "models": { "providers": { "ollama-pc": { "baseUrl": "http://<OLLAMA HOST ADDRESS>:11434/v1", "apiKey": "ollama-local", "api": "openai-completions", "models": [ { "id": "gpt-oss:120b", "name": "gpt-oss:120b", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 65536, "maxTokens": 32768 } ] } } }, ~ "agents": { "defaults": { "model": { "primary": "ollama-pc/gpt-oss:120b" }, "workspace": "/home/~/.openclaw/workspace", "compaction": { "mode": "safeguard" }, "timeoutSeconds": 1800, "maxConcurrent": 4, "subagents": { "maxConcurrent": 8 } } } }
この方法を使うと簡単にセットアップを行うことができます。 API Key を設定に書かなくて済むことや Web 検索機能が使えることからこちらの方法がお勧めです。 その代わり ollama コマンドのインストールが必要で、4.5 GB ほどストレージ容量を消費します。
あらかじめ OpenClaw が動作している PC やサーバー上に Ollama をインストールしておく必要があります。
また apiKey の代わりに ollama signin で認証しておいてください。
ollama launch openclaw –model <モデル名> で実行すると自動的に OpenClaw が起動します。openclaw.json も書き換えてくれます。
モデル指定を行わない場合はおすすめのモデルから選択できるようになります。
例
ollama launch openclaw –model glm-5:cloud
もしメニューでモデルを選択し直す場合は –config をつけてください。
ollama launch openclaw –configこの方法で OpenClaw をセットアップした場合は、ollama_web_search 用の plugin が自動的にインストールされます。
この方法を使うと、Local PC 上に ollama コマンドをインストールしなくてもクラウド上のモデルを利用することができます。 ollama のランタイムはそれなりに大きいのでストレージの節約になります。 ただし今のところ vision モデルがうまく動作しません。 なお ollama_web_search を使う場合は、ollama コマンド経由でのインストールをお勧めします。
コンテキストウィンドウ長は必要に応じて修正してください。 apiKey が必要です。
{ ~ "models": { "providers": { "ollama-turbo": { "baseUrl": "https://ollama.com/v1", "apiKey": "<OLLAMA CLOUD API KEY>", "api": "openai-completions", "models": [ { "id": "glm-5:cloud", "name": "glm-5:cloud", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 131072, "maxTokens": 32768 }, { "id": "kimi-k2.5:cloud", "name": "kimi-k2.5:cloud", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 131072, "maxTokens": 32768 } ] } } }, ~ "agents": { "defaults": { "model": { "primary": "ollama-turbo/glm-5:cloud" }, "workspace": "/home/~/.openclaw/workspace", "compaction": { "mode": "safeguard" }, "timeoutSeconds": 1800, "maxConcurrent": 4, "subagents": { "maxConcurrent": 8 } } } }
RAM 96GB + GPU VRAM 16GB
llama-server --model Qwen3.5-122B-A10B-UD-Q4_K_XL-00001-of-00003.gguf -t 16 --ctx-size 65536 -ctk bf16 -ctv bf16 --host 0.0.0.0 --port 8080 --temp 0.2 --min-p 0.1 --top-p 0.85 --top-k 20
RAM 128GB + GPU VRAM 16GB
llama-server --model Qwen3.5-122B-A10B-UD-Q6_K_XL-00001-of-00004.gguf -t 16 --ctx-size 65536 -ctk bf16 -ctv bf16 --host 0.0.0.0 --port 8080 --temp 0.2 --min-p 0.1 --top-p 0.85 --top-k 20
直接 ~/.openclaw/openclaw.json を書き換えます。
{ ~ "models": { "providers": { "llamacpp-pc": { "baseUrl": "http://<LLAMA-SERVER IP ADDRESS>:8080/v1", "apiKey": "llama.cpp", "api": "openai-completions", "models": [ { "id": "Qwen3.5-122B-A10B-UD-Q6_K_XL-00001-of-00004.gguf", "name": "Qwen3.5-122B-A10B-UD-Q6_K_XL-00001-of-00004.gguf", "reasoning": true, "input": [ "text" ], "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 65536, "maxTokens": 32768 } ] } } }, ~ "agents": { "defaults": { "model": { "primary": "llamacpp-pc/Qwen3.5-122B-A10B-UD-Q6_K_XL-00001-of-00004.gguf" }, "workspace": "/home/~/.openclaw/workspace", "compaction": { "mode": "safeguard" }, "timeoutSeconds": 1800, "maxConcurrent": 4, "subagents": { "maxConcurrent": 8 } } } }