메인 콘텐츠로 건너뛰기

로컬 모델

로컬 실행은 가능하지만, OpenClaw는 큰 컨텍스트와 프롬프트 인젝션에 대한 강한 방어를 전제로 합니다. 작은 카드급 모델은 컨텍스트를 잘라내고 안전성을 약화시킵니다. 목표를 높게 잡으세요: 최대 사양의 Mac Studio 2대 이상 또는 이에 준하는 GPU 장비(약 $30k+). 단일 24 GB GPU는 더 가벼운 프롬프트에서만, 더 높은 지연 시간으로 동작합니다. 실행 가능한 범위에서 가장 큰 / 풀사이즈 모델 변형을 사용하세요. 과도하게 양자화된 체크포인트나 “small” 체크포인트는 프롬프트 인젝션 위험을 높입니다(보안 참조). 가장 마찰이 적은 로컬 설정을 원한다면 Ollamaopenclaw onboard부터 시작하세요. 이 페이지는 고급 로컬 스택과 사용자 지정 OpenAI 호환 로컬 서버를 위한 의견이 반영된 가이드입니다.

권장: LM Studio + 대형 로컬 모델(Responses API)

현재 가장 좋은 로컬 스택입니다. LM Studio에 대형 모델(예: 풀사이즈 Qwen, DeepSeek, Llama 빌드)을 로드하고, 로컬 서버(기본값 http://127.0.0.1:1234)를 활성화한 뒤, Responses API를 사용해 추론과 최종 텍스트를 분리하세요.
{
  agents: {
    defaults: {
      model: { primary: “lmstudio/my-local-model” },
      models: {
anthropic/claude-opus-4-6: { alias: “Opus” },
lmstudio/my-local-model: { alias: “Local” },
      },
    },
  },
  models: {
    mode: “merge”,
    providers: {
      lmstudio: {
        baseUrl: “http://127.0.0.1:1234/v1”,
        apiKey: “lmstudio”,
        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: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}
설정 체크리스트
  • LM Studio 설치: https://lmstudio.ai
  • LM Studio에서 가장 큰 모델 빌드를 다운로드하고(“small”/과도한 양자화 변형은 피함), 서버를 시작한 뒤 http://127.0.0.1:1234/v1/models에 해당 모델이 표시되는지 확인하세요.
  • my-local-model을 LM Studio에 표시되는 실제 모델 ID로 바꾸세요.
  • 모델을 계속 로드된 상태로 유지하세요. 콜드 로드는 시작 지연 시간을 늘립니다.
  • LM Studio 빌드에 맞게 contextWindow/maxTokens를 조정하세요.
  • WhatsApp에서는 최종 텍스트만 전송되도록 Responses API를 유지하세요.
로컬로 실행하더라도 호스팅 모델은 계속 구성해 두세요. 폴백을 계속 사용할 수 있도록 models.mode: "merge"를 사용하세요.

하이브리드 구성: 호스팅 기본 모델, 로컬 폴백

{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-6",
        fallbacks: ["lmstudio/my-local-model", "anthropic/claude-opus-4-6"],
      },
      models: {
        "anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
        "lmstudio/my-local-model": { alias: "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: "my-local-model",
            name: "Local Model",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 196608,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

로컬 우선, 호스팅 안전망 포함

기본 모델과 폴백 순서를 바꾸고, 동일한 provider 블록과 models.mode: "merge"를 유지하세요. 그러면 로컬 머신이 내려갔을 때 Sonnet 또는 Opus로 폴백할 수 있습니다.

리전 호스팅 / 데이터 라우팅

  • 호스팅된 MiniMax/Kimi/GLM 변형도 OpenRouter에서 리전 고정 엔드포인트(예: US 호스팅)로 제공됩니다. 원하는 관할 구역 내에서 트래픽을 유지하려면 해당 리전 변형을 선택하고, 동시에 Anthropic/OpenAI 폴백을 유지하려면 models.mode: "merge"를 계속 사용하세요.
  • 완전 로컬 전용이 가장 강한 개인정보 보호 경로입니다. 호스팅 리전 라우팅은 provider 기능이 필요하지만 데이터 흐름도 통제하고 싶을 때의 중간 지점입니다.

기타 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"를 유지하세요. 로컬/프록시 /v1 백엔드의 동작 참고:
  • OpenClaw는 이를 네이티브 OpenAI 엔드포인트가 아니라 프록시 스타일의 OpenAI 호환 경로로 취급합니다
  • 네이티브 OpenAI 전용 요청 형태 조정은 여기에 적용되지 않습니다: service_tier 없음, Responses store 없음, OpenAI reasoning 호환 payload 형태 조정 없음, 프롬프트 캐시 힌트 없음
  • 숨겨진 OpenClaw attribution 헤더(originator, version, User-Agent)도 이러한 사용자 지정 프록시 URL에는 주입되지 않습니다

문제 해결

  • Gateway가 프록시에 도달할 수 있나요? curl http://127.0.0.1:1234/v1/models
  • LM Studio 모델이 언로드되었나요? 다시 로드하세요. 콜드 시작은 흔한 “멈춤” 원인입니다.
  • 컨텍스트 오류가 있나요? contextWindow를 낮추거나 서버 제한을 높이세요.
  • 보안: 로컬 모델은 provider 측 필터를 건너뜁니다. 프롬프트 인젝션 영향 범위를 제한하려면 에이전트 범위를 좁게 유지하고 압축을 활성화하세요.