메인 콘텐츠로 건너뛰기

Building Provider Plugins

이 가이드는 model provider(LLM)를 OpenClaw에 추가하는 provider plugin 제작 흐름을 설명합니다. 끝나면 model catalog, API key auth, dynamic model resolution을 갖춘 provider를 만들 수 있습니다.

기본 흐름

  1. package.jsonopenclaw.plugin.json으로 package/manifest 정의
  2. api.registerProvider(...)로 provider 등록
  3. catalog를 제공해 기본 모델 집합 노출
  4. 필요하면 resolveDynamicModel(...) 추가
  5. 필요하면 runtime hook을 점진적으로 추가
  6. 테스트 작성

최소 provider 요소

provider에 최소한 필요한 항목:
  • id
  • label
  • docsPath
  • envVars
  • auth
  • catalog
providerAuthEnvVarsproviderAuthChoices를 manifest에 넣으면 OpenClaw가 plugin runtime을 로드하지 않고도 credential을 감지할 수 있습니다.

Dynamic model resolution

router/proxy처럼 임의의 모델 ID를 받는 provider라면 resolveDynamicModel을 구현합니다. 네트워크 준비가 필요하면 prepareDynamicModel을 추가할 수 있습니다.

Runtime hook

대부분의 provider는 catalogresolveDynamicModel만으로 충분합니다. 필요 시 다음 hook을 추가합니다:
  • token exchange
  • request normalization
  • usage/accounting
  • provider 전용 extra capability(speech/media/image/web search)

권장 helper

  • createProviderApiKeyAuthMethod(...)
  • defineSingleProviderPluginEntry(...)
  • provider-onboard 계열 preset helper

테스트 포인트

  • API 키가 있을 때 catalog가 반환되는지
  • dynamic model이 올바른 provider/api/baseUrl을 갖는지
  • provider-specific auth/normalization이 예상대로 동작하는지

다음 단계