Skip to content

本地模型

本地运行是可行的,但 OpenClaw 预期使用大上下文,并且需要对 prompt injection 有很强的防御。小规格显卡/小模型会截断上下文,削弱安全性。建议把目标定得更高:至少两台满配 Mac Studio 或同等 GPU 服务器(约 ($30k+))。单张 24 GB GPU 只能应对更轻的 prompts,并且延迟更高。尽量使用你能跑的 最大/完整尺寸 模型版本;激进量化或“small” checkpoint 会提高 prompt injection 风险(参见 Security)。

推荐:LM Studio + MiniMax M2.1(Responses API,完整尺寸)

当前最好的本地组合。在 LM Studio 中加载 MiniMax M2.1,启用本地 server(默认 http://127.0.0.1:1234),并使用 Responses API 将 reasoning 与最终文本分离。

json5
{
  agents: {
    defaults: {
      model: { primary: "lmstudio/minimax-m2.1-gs32" },
      models: {
        "anthropic/claude-opus-4-5": { alias: "Opus" },
        "lmstudio/minimax-m2.1-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.1-gs32",
            name: "MiniMax M2.1 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.1 构建版本(避免 “small”/重度量化变体),启动 server,并确认 http://127.0.0.1:1234/v1/models 能列出该模型。
  • 保持模型常驻加载;冷启动会显著增加启动延迟。
  • 如果你的 LM Studio 构建参数不同,调整 contextWindow/maxTokens
  • 对 WhatsApp 建议使用 Responses API,这样只发送最终文本。

即便你主要使用本地模型,也建议保留 hosted models 的配置;使用 models.mode: "merge",以保证 fallback 始终可用。

混合配置:hosted 为主,本地为 fallback

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

本地优先,但保留 hosted 安全网

交换 primary 与 fallback 的顺序;保留相同的 providers block 与 models.mode: "merge",这样当本地机器不可用时仍能 fallback 到 Sonnet 或 Opus。

区域托管 / 数据路由

  • OpenRouter 上也有 hosted 的 MiniMax/Kimi/GLM 变体,并提供按地域固定的 endpoint(例如 US-hosted)。在那边选择区域变体,可把流量限制在你选择的司法辖区内,同时仍可用 models.mode: "merge" 保留 Anthropic/OpenAI 的 fallback。
  • 纯本地仍是最强隐私路径;当你需要 provider 特性但又想控制数据流时,区域托管是一个折中方案。

其它 OpenAI 兼容本地代理

如果 vLLM、LiteLLM、OAI-proxy 或自建网关提供了 OpenAI 风格的 /v1 端点,也能工作。把上面的 provider block 替换为你的 endpoint 与 model ID:

json5
{
  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",以便 hosted models 仍可作为 fallback。

排障

  • Gateway 能访问代理吗?curl http://127.0.0.1:1234/v1/models
  • LM Studio 模型被卸载了?重新加载;冷启动是常见的“卡住”原因。
  • 上下文错误?降低 contextWindow 或提高 server 限制。
  • 安全性:本地模型跳过 provider 侧过滤;保持 agents 边界更窄,并开启 compaction,以限制 prompt injection 的影响半径。