Building Provider Plugins
이 가이드는 model provider(LLM)를 OpenClaw에 추가하는 provider plugin 제작 흐름을 설명합니다. 끝나면 model catalog, API key auth, dynamic model resolution을 갖춘 provider를 만들 수 있습니다.기본 흐름
package.json과openclaw.plugin.json으로 package/manifest 정의api.registerProvider(...)로 provider 등록catalog를 제공해 기본 모델 집합 노출- 필요하면
resolveDynamicModel(...)추가 - 필요하면 runtime hook을 점진적으로 추가
- 테스트 작성
최소 provider 요소
provider에 최소한 필요한 항목:idlabeldocsPathenvVarsauthcatalog
providerAuthEnvVars와 providerAuthChoices를 manifest에 넣으면 OpenClaw가 plugin runtime을 로드하지 않고도 credential을 감지할 수 있습니다.
Dynamic model resolution
router/proxy처럼 임의의 모델 ID를 받는 provider라면resolveDynamicModel을 구현합니다. 네트워크 준비가 필요하면 prepareDynamicModel을 추가할 수 있습니다.
Runtime hook
대부분의 provider는catalog와 resolveDynamicModel만으로 충분합니다. 필요 시 다음 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이 예상대로 동작하는지