openclaw update
OpenClaw’u güncelleyin ve stable/extended-stable/beta/dev kanalları arasında geçiş yapın.
npm/pnpm/bun aracılığıyla yüklediyseniz (genel yükleme, git meta verisi yok),
güncellemeler Güncelleme bölümünde açıklanan
paket yöneticisi akışı üzerinden gerçekleştirilir.
Kullanım
openclaw --update, openclaw update olarak yeniden yazılır (kabuklar ve
başlatıcı betikleri için kullanışlıdır).
Seçenekler
--verbose bayrağı yoktur. Planlanan işlemleri önizlemek için --dry-run,
makine tarafından okunabilir sonuçlar için --json ve yalnızca
kanal/kullanılabilirlik için openclaw update status --json kullanın. Gateway konsol ayrıntı düzeyi
(--verbose) ve dosya günlük düzeyi (logging.level: "debug"/"trace")
birbirinden bağımsız ayarlardır; bkz. Gateway günlük kaydı.
Nix modunda (
OPENCLAW_NIX_MODE=1), değişiklik yapan openclaw update çalıştırmaları devre dışıdır. Bunun yerine bu yüklemenin Nix kaynağını veya flake girdisini güncelleyin; nix-openclaw için önce ajan yaklaşımını kullanan Hızlı Başlangıç kılavuzunu kullanın. openclaw update status ve openclaw update --dry-run salt okunur kalır.update status
Etkin güncelleme kanalını, git etiketini/dalını/SHA’sını (yalnızca kaynak
çalışma kopyalarında) ve güncelleme kullanılabilirliğini gösterin.
Extended-stable paket yüklemelerinde durum, ön plan güncellemesiyle aynı genel
seçiciyi ve kesin paket doğrulamasını gerçekleştirir. Yüklü sürüm daha yeniyse
ahead of extended-stable bildirebilir. JSON hataları
registry.reason (selector_missing, selector_query_failed,
exact_package_mismatch veya unsupported_git_channel) içerir.
update repair
Çekirdek paket zaten değiştirildikten ancak sonraki onarım çalışması düzgün
tamamlanmadıktan sonra güncelleme sonlandırmasını yeniden çalıştırın.
openclaw update yeni çekirdek paketi yüklediği hâlde çekirdek sonrası plugin
eşitlemesi, yönetilen npm plugin meta verileri, kayıt defteri yenilemesi veya
doctor onarımı yakınsamadığında desteklenen kurtarma yolu budur.
update repair, openclaw doctor --fix işlemini çalıştırır, onarılan
yapılandırmayı ve yükleme kayıtlarını yeniden yükler, izlenen plugin’leri etkin
güncelleme kanalı için eşitler, yönetilen npm plugin yüklemelerini günceller,
eksik yapılandırılmış plugin yüklerini onarır, plugin kayıt defterini yeniler
ve yakınsanmış yükleme kaydı meta verilerini yazar. Yeni bir çekirdek paket
yüklemez ve Gateway’i yeniden başlatmaz.
update wizard
Bir güncelleme kanalı seçmek ve ardından Gateway’in yeniden başlatılıp
başlatılmayacağını onaylamak için etkileşimli akış (varsayılan olarak yeniden
başlatılır). Git çalışma kopyası olmadan dev seçildiğinde bir
tane oluşturulması önerilir.
Ne yapar?
Kanallar arasında açıkça geçiş yapılması (--channel ...), yükleme yöntemini
de uyumlu tutar:
dev-> bir git çalışma kopyasının bulunmasını sağlar (varsayılan~/openclawveyaOPENCLAW_HOMEayarlandığında$OPENCLAW_HOME/openclaw;OPENCLAW_GIT_DIRile geçersiz kılın), bunu günceller ve genel CLI’ı bu çalışma kopyasından yükler.stable->latestkullanarak npm’den yükler.extended-stable-> genel npmextended-stableseçicisini çözümler, seçilen kesin paketi doğrular ve tam olarak bu sürümü yükler. Başka bir seçiciye geri dönmez ve Git çalışma kopyalarında reddedilir.beta-> npm dist-tagbetadeğerini tercih eder; beta eksikse veya mevcut kararlı sürümden daha eskiyselatestdeğerine geri döner.
Yeniden başlatma devri
Gateway çekirdek otomatik güncelleyicisi (yapılandırma aracılığıyla etkinleştirildiğinde), CLI güncelleme yolunu canlı Gateway istek işleyicisinin dışında başlatır. Denetim düzlemiupdate.run paket yöneticisi
güncellemeleri ve denetlenen git çalışma kopyası güncellemeleri, canlı Gateway
işlemi içinde paket ağacını değiştirmek veya dist/ öğesini yeniden
oluşturmak yerine aynı yönetilen hizmet devrini kullanır: Gateway ayrılmış bir
yardımcı başlatıp çıkar ve bu yardımcı openclaw update --yes --json işlemini Gateway işlem
ağacının dışından çalıştırır. Devir kullanılamıyorsa update.run, elle
çalıştırılacak güvenli kabuk komutunu içeren yapılandırılmış bir yanıt döndürür.
Saklanan extended-stable seçimler, update.checkOnStart etkinleştirildiğinde başlangıçta ve 24 saatlik aralıklarla salt okunur güncelleme
ipuçları alır. Bu kontroller hiçbir zaman güncelleme uygulamaz,
devir başlatmaz, Gateway’i yeniden başlatmaz, kararlı sürüm gecikmesi/jitter’ı kullanmaz veya beta
yoklama sıklığını kullanmaz. Açık ön plan güncellemeleri, saklanan
update.channel: "extended-stable" ile yalın ön plan güncellemeleri, isteğe bağlı durum ve bunların yönetilen
Gateway devri desteklenmeye devam eder.
Yerel bir yönetilen Gateway hizmeti kuruluysa ve yeniden başlatma etkinse,
paket yöneticisi ve git checkout güncellemeleri, paket ağacını değiştirmeden veya
checkout/derleme çıktısını değiştirmeden önce çalışan hizmeti durdurur. Güncelleyici
ardından hizmet meta verilerini yeniler, hizmeti yeniden başlatır ve
Gateway: restarted and verified. bildirmeden önce yeniden başlatılan Gateway’i doğrular.
Paket yöneticisi güncellemeleri ayrıca yeniden başlatılan Gateway’in beklenen
paket sürümünü bildirdiğini doğrular; git checkout güncellemeleri ise yeniden derlemeden sonra
gateway sağlığını ve hizmetin hazır olmasını doğrular.
Paket yöneticisi güncellemeleri normalde yönetilen hizmette kayıtlı Node ikilisini
kullanmaya devam eder. Bu Node hedef sürümü çalıştıramıyorsa ancak mevcut
CLI Node çalıştırabiliyorsa ve hizmetin güncellenen pakete ait olduğu
kanıtlanmışsa, yeniden başlatma etkin bir güncelleme sonlandırma için mevcut Node’u kullanır ve
hizmet meta verilerini bu çalışma zamanına göre yeniden yazar. --no-restart hizmet
meta verilerini onaramaz; bu nedenle aynı çalışma zamanı uyumsuzluğu paket değiştirilmeden önce işlemi durdurur.
macOS’ta güncelleme sonrası kontrol ayrıca LaunchAgent’ın etkin profil için
yüklü/çalışır durumda olduğunu ve yapılandırılmış geri döngü portunun
sağlıklı olduğunu doğrular. Plist kurulu ancak launchd tarafından denetlenmiyorsa OpenClaw,
LaunchAgent’ı otomatik olarak yeniden önyükler ve sağlık/sürüm/
kanal hazır olma kontrollerini yeniden çalıştırır (yeni bir önyükleme RunAtLoad işini doğrudan yükler,
bu nedenle kurtarma yeni oluşturulan Gateway’i hemen kickstart -k etmez). Gateway
yine de sağlıklı duruma gelmezse komut sıfır dışı kodla çıkar ve
yeniden başlatma günlük yoluyla birlikte yeniden başlatma, yeniden kurma ve paket geri alma
talimatlarını yazdırır.
Yeniden başlatma çalıştırılamazsa komut, manuel openclaw gateway restart ipucuyla birlikte
Gateway: restart skipped (...) veya Gateway: restart failed: ... yazdırır.
--no-restart ile paket değiştirme veya git yeniden derleme yine çalışır ancak
yönetilen hizmet durdurulmaz veya yeniden başlatılmaz; dolayısıyla çalışan Gateway, siz
manuel olarak yeniden başlatana kadar eski kodu kullanmaya devam eder.
Kontrol düzlemi yanıt biçimi
update.run, bir paket yöneticisi kurulumu veya denetlenen git checkout üzerinde
Gateway kontrol düzlemi üzerinden çalıştığında işleyici, Gateway çıktıktan sonra
devam eden CLI güncellemesinden devir başlatmayı ayrı olarak bildirir:
ok: true,result.status: "skipped",result.reason: "managed-service-handoff-started"vehandoff.status: "started": Gateway, yönetilen hizmet devrini oluşturdu ve ayrılmış yardımcının canlı hizmet işlemi dışındaopenclaw update --yes --jsonçalıştırabilmesi için kendi yeniden başlatmasını zamanladı.ok: false,result.reason: "managed-service-handoff-unavailable"vehandoff.status: "unavailable": OpenClaw güvenli bir devir için denetleyici hizmet sınırı ve kalıcı hizmet kimliği bulamadı (örneğin systemd devri yalnızca ortam systemd işlem işaretçilerini değil,OPENCLAW_SYSTEMD_UNITbirim kimliğini gerektirir). Yanıt, Gateway dışından çalıştırılacak kabuk komutu olanhandoff.commanddeğerini içerir.ok: false,result.reason: "managed-service-handoff-failed": Gateway devri oluşturmayı denedi ancak ayrılmış yardımcıyı başlatamadı.
sentinel yükü Gateway çıkmadan önce yazılır ve CLI
devri, yönetilen hizmetin yeniden başlatma sağlık kontrolleri tamamlandıktan sonra aynı yeniden başlatma
nöbetçisini günceller. Devir sırasında nöbetçi, başarı devamı olmadan
stats.reason: "restart-health-pending" taşıyabilir;
yeniden başlatılan Gateway bunu yoklar ve yalnızca CLI hizmet sağlığını
doğrulayıp nöbetçiyi nihai ok sonucuyla yeniden yazdıktan sonra devamı tetikler.
openclaw status ve openclaw status --all, bu nöbetçi beklemede veya başarısızken
bir Update restart satırı gösterir; update.status ise yenileyip
en son nöbetçiyi döndürür.
Git checkout akışı
Kanal seçimi
stable: en son beta olmayan etiketi checkout yapar, ardından derler ve doctor’ı çalıştırır.beta: en son-betaetiketini tercih eder; beta yoksa veya daha eskiyse en son kararlı etikete geri döner.dev:maincheckout yapar, ardından getirir ve rebase eder.extended-stable: Git checkout’ları için desteklenmez; checkout üzerinde değişiklik yapılmaz.
Güncelleme adımları
1
Temiz çalışma ağacını doğrula
Kaydedilmemiş değişiklik bulunmamasını gerektirir.
2
Kanalı değiştir
Seçilen kanala (etiket veya dal) geçer.
3
Upstream'i getir
Yalnızca geliştirme.
4
Ön kontrol derlemesi (yalnızca geliştirme)
TypeScript derlemesini geçici bir çalışma ağacında çalıştırır. Uç başarısız olursa derlenebilen en yeni commit’i bulmak için en fazla 10 commit geriye gider. Bu ön kontrol sırasında lint’i de çalıştırmak için
OPENCLAW_UPDATE_PREFLIGHT_LINT=1 ayarlayın; kullanıcı güncelleme ana makineleri genellikle CI çalıştırıcılarından daha küçük olduğundan lint, kısıtlı seri modda çalışır.5
Rebase et
Seçilen commit üzerine rebase eder (yalnızca geliştirme).
6
Bağımlılıkları kur
Repo paket yöneticisini kullanır. pnpm checkout’larında güncelleyici, bir pnpm çalışma alanı içinde
npm run build çalıştırmak yerine gerektiğinde pnpm önyüklemesi yapar (önce corepack, ardından geçici bir npm install pnpm@11 geri dönüşü aracılığıyla). pnpm önyüklemesi yine de başarısız olursa güncelleyici, checkout içinde npm run build denemek yerine paket yöneticisine özgü bir hatayla erkenden durur.7
Control UI'ı derle
Gateway’i ve Control UI’ı derler.
8
Doctor'ı çalıştır
openclaw doctor, son güvenli güncelleme kontrolü olarak çalışır.9
Plugin'leri eşitle
Plugin’leri etkin kanalla eşitler. Geliştirme, paketlenmiş Plugin’leri; kararlı ve beta ise npm’i kullanır. İzlenen Plugin kurulumlarını günceller.
Plugin eşitleme ayrıntıları
Beta kanalında, varsayılan/en son hattı izleyen takip edilen npm ve ClawHub Plugin kurulumları önce bir Plugin@beta sürümünü dener. Plugin’in beta sürümü yoksa
OpenClaw, kayıtlı varsayılan/en son tanıma geri döner ve
bir uyarı bildirir. OpenClaw, npm Plugin’lerinde beta
paketi mevcut olup kurulum doğrulamasında başarısız olduğunda da geri döner. Bu geri dönüş uyarıları
çekirdek güncellemesinin başarısız olmasına neden olmaz. Kesin sürümler ve açık etiketler hiçbir zaman yeniden yazılmaz.
Yönetilen bir Plugin ile sınırlı olan ve eşitleme yolunun etrafından dolaşabildiği güncelleme sonrası Plugin eşitleme hataları (örneğin temel olmayan bir Plugin için erişilemeyen bir npm kayıt defteri), çekirdek güncellemesi başarıyla tamamlandıktan sonra uyarı olarak bildirilir. JSON sonucu, üst düzey güncelleme
status: "ok" değerini korur ve openclaw update repair ile openclaw plugins inspect <id> --runtime --json yönlendirmesini içeren postUpdate.plugins.status: "warning" değerini bildirir. Beklenmeyen güncelleyici veya eşitleme istisnaları yine de güncelleme sonucunu başarısız kılar. Plugin kurulum veya güncelleme hatasını düzeltin, ardından openclaw update repair komutunu yeniden çalıştırın. Başarısız bir güncelleme yönetilen bir Plugin’i kullanılamaz durumda bıraktığında OpenClaw, operatör tarafından yazılmış plugins.allow veya plugins.deny politikasını değiştirmeden çalışma zamanı girdisini devre dışı bırakır ve etkin yuvaları sıfırlar.Plugin başına eşitleme adımından sonra openclaw update, gateway yeniden başlatılmadan önce zorunlu bir çekirdek sonrası yakınsama geçişi çalıştırır: eksik yapılandırılmış Plugin yüklerini onarır, diskteki her etkin izlenen kurulum kaydını doğrular ve package.json değerinin ayrıştırılabilir olduğunu (ve açıkça bildirilmiş tüm main değerlerinin mevcut olduğunu) statik olarak doğrular. Bu geçişten kaynaklanan hatalar ve geçersiz bir yapılandırma anlık görüntüsü postUpdate.plugins.status: "error" döndürür ve üst düzey güncelleme status değerini "error" olarak değiştirir; böylece openclaw update sıfır dışı kodla çıkar ve gateway doğrulanmamış bir Plugin kümesiyle yeniden başlatılmaz. Hata, openclaw update repair ve openclaw plugins inspect <id> --runtime --json konumlarını gösteren yapılandırılmış postUpdate.plugins.warnings[].guidance satırlarını içerir. Devre dışı bırakılmış Plugin girdileri ve güvenilir kaynak bağlantılı resmî eşitleme hedefleri olmayan kayıtlar burada atlanır (eksik yük kontrolünün kullandığı skipDisabledPlugins politikası yansıtılır); böylece eski bir devre dışı Plugin kaydı, başka bakımdan geçerli bir güncellemeyi engelleyemez.Güncellenen Gateway başladığında Plugin yükleme yalnızca doğrulama yapar: başlangıç, paket yöneticilerini çalıştırmaz veya bağımlılık ağaçlarını değiştirmez. Paket yöneticisi update.run yeniden başlatmaları CLI yönetilen hizmet yoluna devredilir; böylece paket değişimi eski Gateway işleminin dışında gerçekleşir ve güncellemenin tamamlanmış olarak bildirilip bildirilemeyeceğine hizmet sağlık kontrolleri karar verir.latest amacı için OpenClaw, Plugin
@extended-stable değerini sorgulamaz veya npm latest değerine geri dönmez; paket sürümünü
kurulu çekirdekten türetir. Açık sürüm sabitlemeleri, açık latest olmayan etiketler,
üçüncü taraf paketler ve npm dışı kaynaklar mevcut amaçlarını korur.
Paket yöneticisi kurulumları için openclaw update, paket yöneticisini
çağırmadan önce hedef paket sürümünü çözümler. npm global kurulumları aşamalı
kurulum kullanır: OpenClaw yeni paketi geçici bir npm önekine kurar,
aday paketin preinstall sırasında ana makine Node sürümünü doğrulamasına izin verir
ve buradaki paketlenmiş dist envanterini doğrular. Paketlenmiş bir tamamlama koruması
preinstall başarılı olana kadar bu envanterin dışında kalır; böylece yaşam döngüsü betiklerini
atlayan paket yöneticileri de etkinleştirmeden önce durur. npm 12 ve daha yeni sürümlerde
güncelleyici yalnızca aday OpenClaw yaşam döngüsünü onaylar; geçişli
bağımlılık betikleri engellenmiş kalır. OpenClaw daha sonra temiz paket ağacını
gerçek global öneke geçirir. Doğrulama başarısız olursa güncelleme sonrası doctor, Plugin
eşitleme ve yeniden başlatma işlemleri şüpheli ağaçtan çalıştırılmaz. Kurulu
sürüm hedefle zaten eşleşse bile komut global paket kurulumunu
yeniler, ardından Plugin eşitlemeyi, çekirdek komut tamamlama yenilemesini
ve yeniden başlatma işlemlerini çalıştırır. Bu, paketlenmiş yan bileşenleri ve kanalın sahip olduğu
Plugin kayıtlarını kurulu OpenClaw derlemesiyle uyumlu tutarken tam
Plugin komutu tamamlama yeniden derlemelerini açık
openclaw completion --write-state çalıştırmalarına bırakır.
İlgili
openclaw doctor(git checkout’larında önce güncellemeyi çalıştırmayı önerir)- Geliştirme kanalları
- Güncelleme
- CLI başvurusu