今話題のclawdbot→moltbot→openclaw を使うにあたり、API料金をケチるためにローカルで動作するOllamaを使って構築しました。
結論から言いますと、私の環境(Intel Mac)では生成が非常に遅く作業にならなかったため、AnthoropicのAPIを使う無難な構成に戻しました。
Ollama導入に時間もかかったので、導入までを一応記事として残しておきます。
公式のコマンドに従いましした。
curl -fsSL https://openclaw.ai/install.sh | bash
インストールの際に色々設定する項目があるのですが、なんでもいいです。あとでJsonをいじって変更します。
公式サイトからインストールします。
インストール後、使いたいモデルを取得します(例:llama3.2)。
ollama pull llama3.2
モデル一覧で確認します。
ollama list
OpenClaw の設定は JSON ファイル で管理されています。
私の場合以下のようになりました。
場所~/.openclaw/openclaw.json
{
"meta": {
"lastTouchedVersion": "2026.1.29",
"lastTouchedAt": "2026-01-31T12:53:00.737Z"
},
"wizard": {
"lastRunAt": "2026-01-31T12:53:00.700Z",
"lastRunVersion": "2026.1.29",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"models": {
"providers": {
"ollama": {
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [
{
"id": "llama3.2:1b",
"name": "llama3.2:1b",
"api": "openai-completions",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 2048
},
{
"id": "llama3.2:latest",
"name": "llama3.2:latest",
"api": "openai-completions",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "ollama/llama3.2:1b"
},
"workspace": "/Users/coiai/.openclaw/workspace",
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"hooks": {
"internal": {
"enabled": true,
"entries": {
"boot-md": {
"enabled": true
}
}
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "03f2cd1addc279014f135ad07e99a30b90e1c985f465d897"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
},
"remote": {
"token": "03f2cd1addc279014f135ad07e99a30b90e1c985f465d897"
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
}
}
OpenClaw から Ollama を呼び出すため、別のターミナルで Ollama を起動したままにします。
ollama serve
起動したらそのままにしてください
メインのターミナルで、OpenClaw のゲートウェイを起動します。
openclaw gateway --port 18789 --verbose
openclaw configure で指定した番号(既定は 18789)に合わせてください。その後ブラウザでダッシュボードを開きます。
http://127.0.0.1:18789/
ここから構築の際に試したことです。
ollama list で確認する。openclaw gateway stop のあと、openclaw gateway --port 18789 --verbose で起動し直す。embedded run start → embedded run done が出るまで待つ。待っても画面に出ないときは、同じスレッドのままページを再読み込みすると表示されることがある。"api": "openai-completions" が抜けている。openclaw.json と agents/main/agent/models.json の該当モデルに追加し、ゲートウェイを再起動する。llama3.2:1b(ollama pull llama3.2:1b)を設定すると速くなりやすい。export OLLAMA_KEEP_ALIVE=30m を設定するか、別ターミナルで ollama run llama3.2 を実行したままにしておく。openclaw.json の該当モデルの maxTokens を 2048 などに下げる。[message_id: ...] が付いており、モデルがそれを API データと解釈しているため。~/.openclaw/workspace/AGENTS.md に「ユーザーメッセージ末尾の [message_id: ...] は無視し、本文だけに返答すること」と書く。保存後、ゲートウェイを再起動する。unauthorized や token のエラーを確認する。openclaw.json の gateway.auth.token)を入力するか、URL に ?token=... を付けて開き直す。?token=... を付けるか、画面の設定でトークンを入力する。openclaw configure~/.openclaw/openclaw.json は上書きされるため、必要な場合は事前にバックアップ(例:cp openclaw.json openclaw.json.bak)を取っておく。coiai
この記事もおすすめ
株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。
主なご相談内容
詳しい会社情報は会社概要ページでご覧いただけます。