openclaw plugins
게이트웨이 플러그인/확장 프로그램을 관리합니다 (프로세스 내 로드).
관련 문서:
- 플러그인 시스템: Plugins
- 플러그인 매니페스트 + 스키마: Plugin manifest
- 보안 강화: Security
명령어
openclaw plugins list
openclaw plugins info <id>
openclaw plugins enable <id>
openclaw plugins disable <id>
openclaw plugins uninstall <id>
openclaw plugins doctor
openclaw plugins update <id>
openclaw plugins update --all
번들 플러그인은 OpenClaw과 함께 제공되지만 비활성화 상태로 시작합니다.
plugins enable로 활성화할 수 있습니다.
모든 플러그인은 인라인 JSON Schema가 포함된 openclaw.plugin.json 파일을 제공해야 합니다
(configSchema, 비어 있어도 필수). 매니페스트나 스키마가 없거나 잘못되면
플러그인이 로드되지 않고 설정 검증에 실패합니다.
설치
openclaw plugins install <path-or-spec>
openclaw plugins install <npm-spec> --pin
보안 참고: 플러그인 설치는 코드 실행과 동일하게 취급하세요. 고정된 버전을 사용하는 것이 좋습니다.
npm 스펙은 레지스트리 전용입니다 (패키지 이름 + 선택적 정확한 버전 또는
dist-tag). Git/URL/파일 스펙 및 semver 범위는 거부됩니다. 의존성
설치는 안전을 위해 --ignore-scripts로 실행됩니다.
일반 스펙과 @latest는 안정 트랙을 유지합니다. npm이 이들 중 하나를
프리릴리스로 해석하면 OpenClaw가 중단하고 @beta/@rc 같은 프리릴리스 태그나
@1.2.3-beta.4 같은 정확한 프리릴리스 버전으로 명시적으로 선택하도록 요청합니다.
일반 설치 스펙이 번들 플러그인 ID와 일치하면(예: diffs), OpenClaw는
번들 플러그인을 직접 설치합니다. 같은 이름의 npm 패키지를 설치하려면
명시적 스코프 스펙을 사용하세요(예: @scope/diffs).
지원되는 아카이브: .zip, .tgz, .tar.gz, .tar.
로컬 디렉토리 복사를 피하려면 --link를 사용하세요 (plugins.load.paths에 추가):
openclaw plugins install -l ./my-plugin
npm 설치에서 --pin을 사용하면 확인된 정확한 스펙(name@version)을
plugins.installs에 저장하면서 기본 동작은 고정되지 않은 상태로 유지합니다.
삭제
openclaw plugins uninstall <id>
openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files
uninstall은 plugins.entries, plugins.installs,
플러그인 허용 목록, 그리고 해당하는 경우 연결된 plugins.load.paths 항목에서
플러그인 레코드를 제거합니다.
활성 메모리 플러그인의 경우 메모리 슬롯이 memory-core로 초기화됩니다.
기본적으로 삭제 시 활성 상태 디렉토리 확장 프로그램 루트 아래의 플러그인 설치 디렉토리도
제거합니다 ($OPENCLAW_STATE_DIR/extensions/<id>). 디스크에 파일을 유지하려면
--keep-files를 사용하세요.
--keep-config는 --keep-files의 더 이상 사용되지 않는 별칭으로 지원됩니다.
업데이트
openclaw plugins update <id>
openclaw plugins update --all
openclaw plugins update <id> --dry-run
업데이트는 npm에서 설치된 플러그인(plugins.installs에 추적됨)에만 적용됩니다.
저장된 무결성 해시가 존재하고 가져온 아티팩트 해시가 변경된 경우,
OpenClaw는 경고를 출력하고 진행 전 확인을 요청합니다. CI/비대화형 실행에서
프롬프트를 건너뛰려면 전역 --yes를 사용하세요.