Ollama

Ollama はオープンソースモデルを手軽にローカル実行できる LLM ランタイムです。OpenClaw は Ollama のネイティブ API(/api/chat)と連携し、ストリーミングやツール呼び出しに対応しています。OLLAMA_API_KEY(または認証プロファイル)を設定し、明示的な models.providers.ollama エントリを定義しなければ、ローカルの Ollama モデルを自動検出します。

警告: リモート Ollama ユーザーの方へ: OpenClaw では /v1 OpenAI 互換 URL(http://host:11434/v1)を使用しないでください。ツール呼び出しが正常に動作せず、モデルがツール JSON をプレーンテキストとして出力する場合があります。代わりにネイティブ Ollama API の URL を使用してください: baseUrl: "http://host:11434"/v1 なし)。

クイックスタート

オンボーディングウィザード(推奨)

Ollama をセットアップする最も簡単な方法はオンボーディングウィザードです:

openclaw onboard

プロバイダー一覧から Ollama を選択します。ウィザードが以下を行います:

  1. Ollama インスタンスのベース URL を確認(デフォルト http://127.0.0.1:11434)。
  2. Cloud + Local(クラウド+ローカルモデル)か Local(ローカルモデルのみ)かを選択。
  3. Cloud + Local を選択し、ollama.com にサインインしていない場合はブラウザでサインインフローを開始。
  4. 利用可能なモデルを検出し、デフォルトを提案。
  5. 選択したモデルがローカルにない場合は自動的にプル。

非インタラクティブモードにも対応しています:

openclaw onboard --non-interactive \
  --auth-choice ollama \
  --accept-risk

カスタムベース URL やモデルを指定することも可能です:

openclaw onboard --non-interactive \
  --auth-choice ollama \
  --custom-base-url "http://ollama-host:11434" \
  --custom-model-id "qwen3.5:27b" \
  --accept-risk

手動セットアップ

  1. Ollama をインストール: https://ollama.com/download

  2. ローカル推論を行いたい場合はモデルをプル:

ollama pull glm-4.7-flash
# または
ollama pull gpt-oss:20b
# または
ollama pull llama3.3
  1. クラウドモデルも使いたい場合はサインイン:
ollama signin
  1. オンボーディングを実行し Ollama を選択:
openclaw onboard
  • Local: ローカルモデルのみ
  • Cloud + Local: ローカルモデル+クラウドモデル
  • kimi-k2.5:cloudminimax-m2.5:cloudglm-5:cloud などのクラウドモデルはローカルでの ollama pull不要

OpenClaw が現在提案するデフォルト:

  • ローカルデフォルト: glm-4.7-flash
  • クラウドデフォルト: kimi-k2.5:cloudminimax-m2.5:cloudglm-5:cloud
  1. 手動で設定する場合は、OpenClaw で Ollama を直接有効化(任意の値で動作します。Ollama は実際のキーを必要としません):
# 環境変数を設定
export OLLAMA_API_KEY="ollama-local"

# または設定ファイルで構成
openclaw config set models.providers.ollama.apiKey "ollama-local"
  1. モデルの確認・切り替え:
openclaw models list
openclaw models set ollama/glm-4.7-flash
  1. または設定ファイルでデフォルトを指定:
{
  agents: {
    defaults: {
      model: { primary: "ollama/glm-4.7-flash" },
    },
  },
}

モデル自動検出(暗黙的プロバイダー)

OLLAMA_API_KEY(または認証プロファイル)を設定し、models.providers.ollama定義しない場合、OpenClaw は http://127.0.0.1:11434 のローカル Ollama インスタンスからモデルを自動検出します:

  • /api/tags にクエリ
  • /api/show のベストエフォートルックアップで contextWindow を取得(利用可能な場合)
  • モデル名のヒューリスティック(r1reasoningthink)で reasoning をマーク
  • maxTokens を OpenClaw が使用する Ollama デフォルトの最大トークン上限に設定
  • すべてのコストを 0 に設定

これにより、手動でモデルエントリを定義せずにローカル Ollama インスタンスのカタログと同期できます。

利用可能なモデルを確認するには:

ollama list
openclaw models list

新しいモデルを追加するには、Ollama でプルするだけです:

ollama pull mistral

プルしたモデルは自動的に検出され、利用可能になります。

models.providers.ollama を明示的に設定した場合、自動検出はスキップされ、モデルを手動で定義する必要があります(下記参照)。

設定

基本セットアップ(暗黙的検出)

Ollama を有効化する最もシンプルな方法は環境変数です:

export OLLAMA_API_KEY="ollama-local"

明示的セットアップ(手動モデル定義)

以下の場合は明示的な設定を使用します:

  • Ollama が別のホスト/ポートで動作している。
  • コンテキストウィンドウやモデルリストを固定したい。
  • モデル定義を完全に手動で管理したい。
{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434",
        apiKey: "ollama-local",
        api: "ollama",
        models: [
          {
            id: "gpt-oss:20b",
            name: "GPT-OSS 20B",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 8192,
            maxTokens: 8192 * 10
          }
        ]
      }
    }
  }
}

OLLAMA_API_KEY が設定されていれば、プロバイダーエントリで apiKey を省略しても、OpenClaw が可用性チェック時に自動補完します。

カスタムベース URL(明示的設定)

Ollama が別のホストやポートで動作している場合(明示的設定では自動検出が無効になるため、モデルを手動で定義してください):

{
  models: {
    providers: {
      ollama: {
        apiKey: "ollama-local",
        baseUrl: "http://ollama-host:11434", // /v1 なし - ネイティブ Ollama API URL を使用
        api: "ollama", // ネイティブのツール呼び出し動作を保証するために明示的に設定
      },
    },
  },
}

警告: URL に /v1 を追加しないでください。/v1 パスは OpenAI 互換モードを使用し、ツール呼び出しが安定しません。パスサフィックスなしのベース Ollama URL を使用してください。

モデル選択

設定が完了すると、すべての Ollama モデルが利用可能になります:

{
  agents: {
    defaults: {
      model: {
        primary: "ollama/gpt-oss:20b",
        fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"],
      },
    },
  },
}

クラウドモデル

クラウドモデルを使うと、kimi-k2.5:cloudminimax-m2.5:cloudglm-5:cloud などのクラウドホスト型モデルをローカルモデルと並行して利用できます。

クラウドモデルを使用するには、オンボーディング時に Cloud + Local モードを選択します。ウィザードがサインイン状態を確認し、必要に応じてブラウザでサインインフローを開きます。認証が確認できない場合は、ローカルモデルのデフォルトにフォールバックします。

ollama.com/signin から直接サインインすることも可能です。

詳細設定

推論モデル

OpenClaw は deepseek-r1reasoningthink などの名前を持つモデルをデフォルトで推論対応として扱います:

ollama pull deepseek-r1:32b

モデルコスト

Ollama は無料でローカル実行されるため、すべてのモデルコストは $0 に設定されています。

ストリーミング設定

OpenClaw の Ollama 連携はデフォルトでネイティブ Ollama API/api/chat)を使用しており、ストリーミングとツール呼び出しの同時利用を完全サポートしています。特別な設定は不要です。

レガシー OpenAI 互換モード

警告: OpenAI 互換モードではツール呼び出しが安定しません。 このモードはプロキシ経由で OpenAI フォーマットが必要で、ネイティブのツール呼び出し動作に依存しない場合にのみ使用してください。

OpenAI 互換エンドポイントを使用する必要がある場合(例: OpenAI フォーマットのみをサポートするプロキシの背後)、api: "openai-completions" を明示的に設定します:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434/v1",
        api: "openai-completions",
        injectNumCtxForOpenAICompat: true, // default: true
        apiKey: "ollama-local",
        models: [...]
      }
    }
  }
}

このモードではストリーミングとツール呼び出しの同時利用ができない場合があります。モデル設定で params: { streaming: false } を指定してストリーミングを無効化する必要があるかもしれません。

Ollama で api: "openai-completions" を使用すると、OpenClaw はデフォルトで options.num_ctx を注入し、Ollama がサイレントに 4096 コンテキストウィンドウにフォールバックするのを防ぎます。プロキシやアップストリームが不明な options フィールドを拒否する場合は、この動作を無効化してください:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "http://ollama-host:11434/v1",
        api: "openai-completions",
        injectNumCtxForOpenAICompat: false,
        apiKey: "ollama-local",
        models: [...]
      }
    }
  }
}

コンテキストウィンドウ

自動検出されたモデルでは、OpenClaw は Ollama が報告するコンテキストウィンドウを使用します(利用可能な場合)。利用できない場合は OpenClaw の Ollama デフォルトコンテキストウィンドウにフォールバックします。明示的なプロバイダー設定で contextWindowmaxTokens をオーバーライドできます。

トラブルシューティング

Ollama が検出されない

Ollama が起動していること、OLLAMA_API_KEY(または認証プロファイル)が設定されていること、明示的な models.providers.ollama エントリを定義していないことを確認してください:

ollama serve

API にアクセスできることも確認:

curl http://localhost:11434/api/tags

利用可能なモデルがない

モデルが一覧に表示されない場合は、以下のいずれかを行ってください:

  • モデルをローカルにプルする
  • models.providers.ollama でモデルを明示的に定義する

モデルの追加:

ollama list  # インストール済みモデルを確認
ollama pull glm-4.7-flash
ollama pull gpt-oss:20b
ollama pull llama3.3     # その他のモデル

接続が拒否される

Ollama が正しいポートで動作しているか確認:

# Ollama が起動しているか確認
ps aux | grep ollama

# または Ollama を再起動
ollama serve

関連ドキュメント