coiai Logo

OpenClaw を Ollama で起動するまでの手順

結論

今話題のclawdbot→moltbot→openclaw を使うにあたり、API料金をケチるためにローカルで動作するOllamaを使って構築しました。

結論から言いますと、私の環境(Intel Mac)では生成が非常に遅く作業にならなかったため、AnthoropicのAPIを使う無難な構成に戻しました。

Ollama導入に時間もかかったので、導入までを一応記事として残しておきます。

環境

  • MacBook Pro 2020
  • Core i5 1.4GHz Intel
  • Intel Iris Plus Graphics 646
  • 8GB
  • Sequoia 15.7.3
  • Node v22.22.0

やり方


OpenClaw のインストール

公式のコマンドに従いましした。

https://openclaw.ai

curl -fsSL https://openclaw.ai/install.sh | bash

インストールの際に色々設定する項目があるのですが、なんでもいいです。あとでJsonをいじって変更します。


Ollama のインストールとモデルの準備

公式サイトからインストールします。

https://ollama.com

インストール後、使いたいモデルを取得します(例:llama3.2)。

ollama pull llama3.2

モデル一覧で確認します。

ollama list

設定ファイル(openclaw.json)について

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"
    }
  }
}

Ollama の起動

OpenClaw から Ollama を呼び出すため、別のターミナルで Ollama を起動したままにします。

ollama serve

起動したらそのままにしてください


OpenClaw ゲートウェイの起動

メインのターミナルで、OpenClaw のゲートウェイを起動します。

openclaw gateway --port 18789 --verbose
  • ポートは openclaw configure で指定した番号(既定は 18789)に合わせてください。
  • このターミナルも閉じずに起動したままにします。
  • ログが流れていれば正常に起動しています。

その後ブラウザでダッシュボードを開きます。

http://127.0.0.1:18789/

試したこと

ここから構築の際に試したことです。

返答が返ってこない

  • Ollama が起動しているか ollama list で確認する。
  • ゲートウェイを再起動する(設定を変えたあとは必須)。
    openclaw gateway stop のあと、openclaw gateway --port 18789 --verbose で起動し直す。
  • 初回は Ollama の推論に 5〜10 分かかることがある。ログに embedded run startembedded run done が出るまで待つ。待っても画面に出ないときは、同じスレッドのままページを再読み込みすると表示されることがある。
  • ログに 「Unhandled API in mapOptionsForApi: undefined」 が出る場合:モデル定義に "api": "openai-completions" が抜けている。openclaw.jsonagents/main/agent/models.json の該当モデルに追加し、ゲートウェイを再起動する。

返答が遅い

  • 軽量モデルにする:例として llama3.2:1bollama pull llama3.2:1b)を設定すると速くなりやすい。
  • モデルをメモリに残す:Ollama 起動前に export OLLAMA_KEEP_ALIVE=30m を設定するか、別ターミナルで ollama run llama3.2 を実行したままにしておく。
  • 返答の最大長を短くするopenclaw.json の該当モデルの maxTokens を 2048 などに下げる。

返答が変(「Twilio API」「JSON」「session ID」のように分析される)

  • ユーザーメッセージに内部用の [message_id: ...] が付いており、モデルがそれを API データと解釈しているため。
  • 対処:ワークスペースの ~/.openclaw/workspace/AGENTS.md に「ユーザーメッセージ末尾の [message_id: ...] は無視し、本文だけに返答すること」と書く。保存後、ゲートウェイを再起動する。
  • それでも改善しない場合は、より指示に従いやすいモデル(例:llama3.2:latest)に切り替える。

文字が送信するとすぐ消える

  • 認証エラーのことが多い。ブラウザの開発者ツール(F12)のコンソールで unauthorizedtoken のエラーを確認する。
  • ダッシュボードの設定で トークンopenclaw.jsongateway.auth.token)を入力するか、URL に ?token=... を付けて開き直す。
  • WebSocket や接続エラーが出ている場合は、ゲートウェイを再起動してから再度試す。

ダッシュボードに接続できない

  • ゲートウェイが動いているか、ターミナルのログを確認する。
  • ポート番号が設定と一致しているか確認する(既定は 18789)。
  • トークン認証を有効にしている場合は、URL に ?token=... を付けるか、画面の設定でトークンを入力する。

設定をやり直したい

  • もう一度ウィザードを実行する。
    openclaw configure
    既存の ~/.openclaw/openclaw.json は上書きされるため、必要な場合は事前にバックアップ(例:cp openclaw.json openclaw.json.bak)を取っておく。
投稿日: 2026年2月1日
カテゴリ: 未分類
タグ:
coiai

coiai

この記事もおすすめ

ポッドキャストを取った後Audiotionですべきこと

ポッドキャストを取った後Audiotionですべきこと

この記事はポッドキャストなどの音声コンテンツを取った後にAuditionで編集する方法について解説しています。 環境 やること 基本的に以下の4つの工程をすると、かなりクオリティアップにつながります! ノイズリダクション 無音部分を選択します。開始地点をi, 終わりをo キーを押すと選択できます。選択できたらエフェクト→ノイズリダクション/リストア→ノイズプリントをキャプチャを押します。 続いて、全体を選択します。cmd, a で全選択になります。エフェクト→ノイズリダクション/リストア→ノイズリダクションを選択します。 以下のようなパネルが表示されうので、ノイズのみをきたりして、削減ちを調整して、良い感じになったら適応ボタンを押します。 シングルバンドコンプレッサ 左のパネルのエフェクトトラックから▶️ボタンを押し、振幅と圧縮→シングルバンドコンプレッッサを選択します。 選択すると下記のようなパネルが開きます。それぞれ、 といった意味があります。設定値は下記画像のようにしています。 設定がめんどくさい場合はプリセットからラジオレベラーを選択してください。 EQ(声をクリアにする) パラメトリックイコライザーを使用します。エフェクト→フィルターとイコライザ→パラメトリックイコライザーを選択します。 私の場合は下記のように設定しています。 無音カット エフェクト→診断→無音をカットをすると左パネルに診断が表示されます。 効果を無音を削除、プリセットをポッドキャストにするとちょうどよくなると思います。設定したら、スキャンボタンを教えて、全て削除で無音がカットされます。 かなりカットされてしまうので、短いCM等に使うのはありかなという感じです。 参考 Adobe 無音カット https://helpx.adobe.com/jp/audition/using/strip-silence.html

MetaStore コンテンツ型のアプリ内課金を実装する

MetaStore コンテンツ型のアプリ内課金を実装する

MetaStoreのコンテンツ型のアプリ内課金を実装する方法についてです。 コンテンツを追加する 右上のアドオンを作成ボタンを押す。 アドオンタイプ 一度購入したら、それ以降は購入しない設定は耐久型を選びます。アプリ内のコインや石など、消耗品は消耗品を選びます。 価格設定 価格設定タブに進むとコンテンツの価格を設定できます。有料のコンテンツをまだ登録したことない場合は支払い情報の設定が住んでいないはずなので、支払い情報の設定が先に必要になります。 DUC データユーズチェックアップ 左メニューの必要条件の中のデータ使用状況の確認を開きます。 例えばIAPでユーザー認識が必要な場合は User ID, ユーザー名が必要な場合は User Profile の追加ボタンを押します。 何に使うかの用途と説明が求められるのでそこに使用用途を記述してください。 ここまで出来たらリクエストを送信ボタンを押します。 このようにデータの取り扱いについて質問されるので答えてください。英語で書いてあるので、なんとなく何が書いてあるか順番にさらっと説明します。 データの使用状況の確認 左サイドバーから必要条件⇒データ使用状況の確認をクリックします。 これが設定されていないと以下の文言のポップアップが表示されます。 読んでくださった方へ 株式会社coiaiでは、Quest向け、PCVR、Vision OS向けの開発も得意としています。新規開発ももちろん、開発途中でメンバーが必要といった場合でも請け負えますので、ご相談ください!

この記事を書いた会社

株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。

商号株式会社 coiai創業2022年1月設立2025年1月23日資本金1,500,000円(設立時点)本社所在地東京都練馬区関町北 3-6-9代表者代表取締役 竹村 啓佑 / 代表取締役 服部 陽良

主なご相談内容

会社概要・役員紹介を見る

詳しい会社情報は会社概要ページでご覧いただけます。

資料請求・無料相談

導入要件のヒアリングからPoC、本番運用まで伴走します。まずはお気軽にご相談ください。

お問い合わせの前に 個人情報保護方針 をご確認ください。