CLI 백엔드 Plugin을 사용하면 OpenClaw가 로컬 AI CLI를 텍스트 추론 백엔드로 호출할 수 있습니다. 백엔드는 모델 참조에서 provider 접두사로 나타납니다.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
업스트림 서비스가 일반 HTTP 모델 API를 제공한다면 대신
provider Plugin을 작성하세요. 업스트림
런타임이 완전한 agent 세션, 도구 이벤트, Compaction 또는 백그라운드
작업 상태를 소유한다면 agent 하네스를 사용하세요.
Plugin이 소유하는 항목
CLI 백엔드 Plugin에는 세 가지 계약이 있습니다.| 계약 | 파일 | 목적 |
|---|---|---|
| 패키지 진입점 | package.json | OpenClaw가 Plugin 런타임 모듈을 찾도록 지정 |
| 매니페스트 소유권 | openclaw.plugin.json | 런타임 로드 전에 백엔드 id를 선언 |
| 런타임 등록 | index.ts | 명령 기본값으로 api.registerCliBackend(...)를 호출 |
api.registerCliBackend(...)를 호출할 때 시작됩니다.
최소 백엔드 Plugin
패키지 메타데이터 만들기
package.json
./src/index.ts라면 빌드된 JavaScript 피어를 가리키는
openclaw.runtimeExtensions를 추가하세요. 진입점을 참조하세요.백엔드 소유권 선언하기
openclaw.plugin.json
cliBackends는 런타임 소유권 목록입니다. config 또는 모델 선택에서
acme-cli/...가 언급될 때 OpenClaw가 Plugin을 자동 로드할 수 있게 합니다.setup.cliBackends는 descriptor-first 설정 표면입니다. 모델 검색,
온보딩 또는 상태가 Plugin 런타임을 로드하지 않고 백엔드를 인식해야 할 때
추가하세요. 해당 정적 descriptor만으로 설정에 충분한 경우에만
requiresRuntime: false를 사용하세요.Config 형태
CliBackendConfig는 OpenClaw가 CLI를 실행하고 파싱하는 방법을 설명합니다.
| 필드 | 용도 |
|---|---|
command | 바이너리 이름 또는 절대 명령 경로 |
args | fresh 실행을 위한 기본 argv |
resumeArgs | 재개된 세션을 위한 대체 argv; {sessionId} 지원 |
output / resumeOutput | 파서: json, jsonl 또는 text |
input | 프롬프트 전송: arg 또는 stdin |
modelArg | 모델 id 앞에 사용되는 플래그 |
modelAliases | OpenClaw 모델 id를 CLI 네이티브 id에 매핑 |
sessionArg / sessionArgs | 세션 id를 전달하는 방법 |
sessionMode | always, existing 또는 none |
sessionIdFields | OpenClaw가 CLI 출력에서 읽는 JSON 필드 |
systemPromptArg / systemPromptFileArg | 시스템 프롬프트 전송 방식 |
systemPromptWhen | first, always 또는 never |
imageArg / imageMode | 이미지 경로 지원 |
serialize | 같은 백엔드 실행 순서 유지 |
reliability.watchdog | 출력 없음 타임아웃 조정 |
고급 백엔드 훅
CliBackendPlugin은 다음도 정의할 수 있습니다.
| 훅 | 용도 |
|---|---|
normalizeConfig(config, context) | 병합 후 레거시 사용자 config 다시 쓰기 |
resolveExecutionArgs(ctx) | thinking effort 같은 요청 범위 플래그 추가 |
prepareExecution(ctx) | 실행 전 임시 인증 또는 config 브리지 만들기 |
transformSystemPrompt(ctx) | 최종 CLI별 시스템 프롬프트 변환 적용 |
textTransforms | 양방향 프롬프트/출력 치환 |
defaultAuthProfileId | 특정 OpenClaw 인증 프로필 선호 |
authEpochMode | 인증 변경이 저장된 CLI 세션을 무효화하는 방식 결정 |
nativeToolMode | CLI에 항상 켜진 네이티브 도구가 있는지 선언 |
bundleMcp / bundleMcpMode | OpenClaw의 loopback MCP 도구 브리지 사용 |
MCP 도구 브리지
CLI 백엔드는 기본적으로 OpenClaw 도구를 받지 않습니다. CLI가 MCP 구성을 사용할 수 있다면 명시적으로 옵트인하세요.| 모드 | 용도 |
|---|---|
claude-config-file | MCP config 파일을 받는 CLI |
codex-config-overrides | argv에서 config override를 받는 CLI |
gemini-system-settings | 시스템 설정 디렉터리에서 MCP 설정을 읽는 CLI |
nativeToolMode: "always-on"을 설정하세요.
사용자 구성
사용자는 모든 백엔드 기본값을 override할 수 있습니다.PATH 밖에 있을 때의 command만 해당합니다.
검증
번들된 Plugin의 경우 빌더와 설정 등록을 다루는 집중 테스트를 추가한 다음, Plugin의 대상 테스트 레인을 실행하세요.체크리스트
package.json에 openclaw.extensions와 게시된 패키지를 위한 빌드된 런타임 진입점이 있습니다openclaw.plugin.json이 cliBackends와 의도적인 activation.onStartup을 선언합니다설정/모델 검색이 콜드 상태에서 백엔드를 봐야 할 때
setup.cliBackends가 있습니다api.registerCliBackend(...)가 매니페스트와 동일한 백엔드 id를 사용합니다agents.defaults.cliBackends.<id> 아래의 사용자 override가 계속 우선합니다세션, 시스템 프롬프트, 이미지, 출력 파서 설정이 실제 CLI 계약과 일치합니다
대상 테스트와 최소 하나의 라이브 CLI 스모크가 백엔드 경로를 증명합니다
관련 항목
- CLI 백엔드 - 사용자 구성 및 런타임 동작
- Plugin 빌드 - 패키지 및 매니페스트 기본 사항
- Plugin SDK 개요 - 등록 API 참조
- Plugin 매니페스트 -
cliBackends및 설정 descriptor - Agent 하네스 - 전체 외부 agent 런타임