本地模型

跑本地模型是可行的,但 OpenClaw 需要大上下文窗口和強大的 prompt injection 防禦能力。小顯卡會截斷上下文且安全性較弱。目標要放高:至少 2 台頂配 Mac Studio 或等級相當的 GPU 機器(約 3 萬美金以上)。單張 24 GB 顯卡只適合較輕量的 prompt,且延遲較高。使用你能跑得動的最大/完整版模型;激進量化或「小型」模型會增加 prompt injection 風險(參閱 安全性)。

如果你想要最輕鬆的本地設定,從 Ollamaopenclaw onboard 開始。本頁是針對高階本地架構和自訂 OpenAI 相容本地伺服器的進階指南。

推薦:LM Studio + MiniMax M2.5(Responses API,完整版)

目前最佳的本地方案。在 LM Studio 中載入 MiniMax M2.5,啟用本地伺服器(預設 http://127.0.0.1:1234),使用 Responses API 讓推理過程和最終文字分開。

{
  agents: {
    defaults: {
      model: { primary: "lmstudio/minimax-m2.5-gs32" },
      models: {
        "anthropic/claude-opus-4-6": { alias: "Opus" },
        "lmstudio/minimax-m2.5-gs32": { alias: "Minimax" },
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",
        api: "openai-responses",
        models: [
          {
            id: "minimax-m2.5-gs32",
            name: "MiniMax M2.5 GS32",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

設定檢查清單

  • 安裝 LM Studio:https://lmstudio.ai
  • 在 LM Studio 中下載可用的最大 MiniMax M2.5 版本(避免「小型」或重度量化版本),啟動伺服器,確認 http://127.0.0.1:1234/v1/models 有列出。
  • 保持模型載入狀態;冷載入會增加啟動延遲。
  • 如果你的 LM Studio 版本不同,調整 contextWindow/maxTokens
  • WhatsApp 使用 Responses API 確保只發送最終文字。

即使跑本地模型,也要保留雲端模型設定;用 models.mode: "merge" 讓備援仍然可用。

混合設定:雲端為主、本地備援

{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-5",
        fallbacks: ["lmstudio/minimax-m2.5-gs32", "anthropic/claude-opus-4-6"],
      },
      models: {
        "anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
        "lmstudio/minimax-m2.5-gs32": { alias: "MiniMax Local" },
        "anthropic/claude-opus-4-6": { alias: "Opus" },
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      lmstudio: {
        baseUrl: "http://127.0.0.1:1234/v1",
        apiKey: "lmstudio",
        api: "openai-responses",
        models: [
          {
            id: "minimax-m2.5-gs32",
            name: "MiniMax M2.5 GS32",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

本地優先、雲端安全網

把主要和備援的順序對調;providers 區塊和 models.mode: "merge" 保持不變,這樣本地機器離線時還能退回到 Sonnet 或 Opus。

地區性托管/資料路由

  • MiniMax/Kimi/GLM 等模型在 OpenRouter 上也有區域限定端點的託管版本(例如美國託管)。選擇區域版本可以讓流量留在你選定的管轄範圍內,同時用 models.mode: "merge" 保留 Anthropic/OpenAI 備援。
  • 純本地仍是最強的隱私路徑;託管的區域路由是中間方案——當你需要提供者功能但想控制資料流向時。

其他 OpenAI 相容本地代理

vLLM、LiteLLM、OAI-proxy 或自訂 gateway,只要提供 OpenAI 風格的 /v1 端點就能用。把上面的 provider 區塊換成你的端點和模型 ID:

{
  models: {
    mode: "merge",
    providers: {
      local: {
        baseUrl: "http://127.0.0.1:8000/v1",
        apiKey: "sk-local",
        api: "openai-responses",
        models: [
          {
            id: "my-local-model",
            name: "Local Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 120000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

維持 models.mode: "merge" 讓雲端模型仍可作為備援。

疑難排解

  • Gateway 連得到代理嗎?curl http://127.0.0.1:1234/v1/models
  • LM Studio 模型被卸載了?重新載入;冷啟動是常見的「卡住」原因。
  • 上下文錯誤?降低 contextWindow 或提高伺服器端的限制。
  • 安全性:本地模型跳過提供者端的安全過濾;保持 agent 範圍精簡,並開啟 compaction 來限制 prompt injection 的影響範圍。