Skip to content

Ollama(本地模型)

Ollama 是一款本地 LLM 运行时,让你在自己的机器上运行开源模型,无需 API 费用。OpenClaw 通过 Ollama 的原生 API 接入,支持流式输出和工具调用。

重要提示:不要使用 Ollama 的 /v1 OpenAI 兼容 URL(http://host:11434/v1)——这会导致工具调用失效,模型可能把工具 JSON 当普通文本输出。请使用原生 API URL:baseUrl: "http://host:11434"(不带 /v1)。

快速上手

步骤 1:安装 Ollama

访问 https://ollama.ai 下载安装。

步骤 2:拉取模型

bash
ollama pull gpt-oss:20b      # GPT 开源版
ollama pull llama3.3          # Meta Llama 3.3
ollama pull qwen2.5-coder:32b # 通义千问 Coder
ollama pull deepseek-r1:32b   # DeepSeek R1

步骤 3:启用 Ollama for OpenClaw

Ollama 不需要真实密钥,设置任意值即可:

bash
# 环境变量
export OLLAMA_API_KEY="ollama-local"

# 或配置文件
openclaw config set models.providers.ollama.apiKey "ollama-local"

步骤 4:设置默认模型

json5
{
  agents: {
    defaults: {
      model: { primary: "ollama/gpt-oss:20b" },
    },
  },
}

自动发现模型

当你设置了 OLLAMA_API_KEY没有在配置中显式定义 models.providers.ollama 时,OpenClaw 会自动从本地 Ollama 实例(http://127.0.0.1:11434)发现可用模型:

  • 查询 /api/tags/api/show
  • 只保留支持工具调用(tools 能力)的模型
  • 当模型报告 thinking 时标记为推理模型
  • 从模型信息中读取 contextWindow
  • 所有成本设为 0

查看可用模型:

bash
ollama list
openclaw models list

新增模型只需 ollama pull <model> 后 OpenClaw 自动识别。

远程 Ollama

如果 Ollama 运行在其他机器上,需要显式配置 baseUrl

json5
{
  models: {
    mode: "merge",
    providers: {
      ollama: {
        baseUrl: "http://192.168.1.100:11434",  // 注意:不带 /v1
        apiKey: "ollama-local",
      },
    },
  },
}

显式模型配置

如果需要精确控制模型参数(不使用自动发现),可以手动定义:

json5
{
  models: {
    mode: "merge",
    providers: {
      ollama: {
        baseUrl: "http://127.0.0.1:11434",
        apiKey: "ollama-local",
        models: [
          {
            id: "llama3.3",
            name: "Llama 3.3",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 131072,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
  agents: {
    defaults: {
      model: { primary: "ollama/llama3.3" },
    },
  },
}

推荐本地模型

模型Ollama 命令特点
Llama 3.3 70Bollama pull llama3.3通用,强推理
GPT-OSS 20Bollama pull gpt-oss:20b轻量快速
Qwen2.5-Coder 32Bollama pull qwen2.5-coder:32b代码能力强
DeepSeek-R1 32Bollama pull deepseek-r1:32b推理模型
Mistralollama pull mistral欧洲开源,注重隐私

常见问题

模型不出现在 OpenClaw 列表中

  • 运行 ollama list 确认模型已下载
  • 确认模型支持工具调用(不支持工具的模型不会出现在自动发现列表中)
  • 尝试显式配置模型而非依赖自动发现

工具调用失效(模型输出原始 JSON)

  • 确认 baseUrl 不包含 /v1
  • 使用 http://host:11434(原生 API),不使用 http://host:11434/v1

模型运行缓慢

  • 本地模型受限于硬件,特别是 GPU 显存
  • 选择参数量较小的模型(如 7B、8B)以获得更快响应