개발 채널
OpenClaw는 세 가지 업데이트 채널을 제공합니다:- stable: npm dist-tag
latest. 대부분의 사용자에게 권장됩니다. - beta: 현재 유효한 경우 npm dist-tag
beta; beta가 없거나 최신 stable 릴리스보다 오래된 경우 업데이트 흐름은latest로 대체됩니다. - dev:
main의 이동하는 헤드(git). npm dist-tag:dev(게시된 경우).main브랜치는 실험과 활발한 개발을 위한 곳입니다. 미완성 기능이나 호환성이 깨지는 변경이 포함될 수 있습니다. 프로덕션 게이트웨이에는 사용하지 마세요.
latest로 이동하는 명시적
승격 단계를 실행합니다. 유지관리자는 필요에 따라 stable 릴리스를
직접 latest에 게시할 수도 있습니다. npm 설치에서는 dist-tag가
소스 오브 트루스입니다.
채널 전환
--channel은 선택을 config(update.channel)에 유지하고 설치 방법도
이에 맞게 정렬합니다:
stable(패키지 설치): npm dist-taglatest를 통해 업데이트합니다.beta(패키지 설치): npm dist-tagbeta를 우선 사용하지만,beta가 없거나 현재 stable 태그보다 오래된 경우latest로 대체합니다.stable(git 설치): 최신 stable git 태그를 체크아웃합니다.beta(git 설치): 최신 beta git 태그를 우선 사용하지만, beta가 없거나 더 오래된 경우 최신 stable git 태그로 대체합니다.dev: git 체크아웃을 보장하고(기본값~/openclaw,OPENCLAW_GIT_DIR로 재정의 가능),main으로 전환한 뒤 upstream에 리베이스하고, 빌드한 다음 해당 체크아웃에서 전역 CLI를 설치합니다.
일회성 버전 또는 태그 대상 지정
유지된 채널을 변경하지 않고 한 번의 업데이트에 대해 특정 dist-tag, 버전 또는 패키지 spec을 대상으로 하려면--tag를 사용하세요:
--tag는 패키지(npm) 설치에만 적용됩니다. git 설치는 이를 무시합니다.- 태그는 유지되지 않습니다. 다음
openclaw update는 평소처럼 구성된 채널을 사용합니다. - 다운그레이드 보호: 대상 버전이 현재 버전보다 오래된 경우,
OpenClaw는 확인을 요청합니다(
--yes로 건너뛸 수 있음). --channel beta는--tag beta와 다릅니다. 채널 흐름은 beta가 없거나 오래된 경우 stable/latest로 대체될 수 있지만,--tag beta는 그 한 번의 실행에 대해 원시betadist-tag를 대상으로 합니다.
드라이 런
변경 없이openclaw update가 무엇을 할지 미리 봅니다:
Plugins 및 채널
openclaw update로 채널을 전환하면 OpenClaw는 plugin
소스도 동기화합니다:
dev는 git 체크아웃의 번들 plugins를 우선 사용합니다.stable과beta는 npm으로 설치된 plugin 패키지를 복원합니다.- npm으로 설치된 plugins는 코어 업데이트가 완료된 후 업데이트됩니다.
현재 상태 확인
태깅 모범 사례
- git 체크아웃이 도달해야 하는 릴리스에는 태그를 붙이세요(
vYYYY.M.D는 stable,vYYYY.M.D-beta.N은 beta). vYYYY.M.D.beta.N도 호환성을 위해 인식되지만,-beta.N을 권장합니다.- 레거시
vYYYY.M.D-<patch>태그도 여전히 stable(non-beta)로 인식됩니다. - 태그는 변경 불가능하게 유지하세요. 태그를 이동하거나 재사용하지 마세요.
- npm 설치에서는 npm dist-tag가 계속 소스 오브 트루스입니다:
latest-> stablebeta-> 후보 빌드 또는 beta 우선 stable 빌드dev-> main 스냅샷(선택 사항)
macOS 앱 제공 여부
beta 및 dev 빌드에는 macOS 앱 릴리스가 포함되지 않을 수 있습니다. 이는 괜찮습니다:- git 태그와 npm dist-tag는 여전히 게시될 수 있습니다.
- 릴리스 노트 또는 changelog에 “이 beta에는 macOS 빌드가 없음”을 명시하세요.