OpenClaw, Plugin bağımlılığı işini kurulum/güncelleme zamanında tutar. Runtime yükleme paket yöneticilerini çalıştırmaz, bağımlılık ağaçlarını onarmaz veya OpenClaw paket dizinini değiştirmez.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Sorumluluk ayrımı
Plugin paketleri kendi bağımlılık grafiğine sahiptir:- runtime bağımlılıkları Plugin paketinin
dependenciesveyaoptionalDependenciesalanlarında bulunur - SDK/çekirdek içe aktarmaları peer veya OpenClaw tarafından sağlanan içe aktarmalardır
- yerel geliştirme Plugin’leri kendi önceden kurulmuş bağımlılıklarını getirir
- npm ve git Plugin’leri OpenClaw sahipli paket köklerine kurulur
- Plugin kaynağını keşfet
- açıkça istendiğinde paketi kur veya güncelle
- kurulum metaverilerini kaydet
- Plugin entrypoint’ini yükle
- bağımlılıklar eksik olduğunda uygulanabilir bir hatayla başarısız ol
Kurulum kökleri
OpenClaw kaynak başına kararlı kökler kullanır:- npm paketleri
~/.openclaw/npmaltında kurulur - git paketleri
~/.openclaw/gitaltında klonlanır - local/path/archive kurulumları bağımlılık onarımı yapılmadan kopyalanır veya referanslanır
openclaw plugins install npm-pack:<path.tgz>, yerel bir npm-pack tarball’ı için
aynı yönetilen npm kökünü kullanır. OpenClaw tarball’ın npm metaverilerini okur, onu
yönetilen köke kopyalanmış bir file: bağımlılığı olarak ekler, normal npm kurulumunu
çalıştırır ve ardından Plugin’e güvenmeden önce kurulu lockfile metaverilerini doğrular.
Bu, yerel bir pack yapıtının simüle ettiği registry yapıtı gibi davranması gereken
paket kabulü ve sürüm adayı kanıtı için tasarlanmıştır.
npm, geçişli bağımlılıkları Plugin paketinin yanında
~/.openclaw/npm/node_modules konumuna hoist edebilir. OpenClaw kuruluma güvenmeden
önce yönetilen npm kökünü tarar ve kaldırma sırasında npm tarafından yönetilen paketleri
kaldırmak için npm kullanır; böylece hoist edilen runtime bağımlılıkları yönetilen
temizleme sınırının içinde kalır.
openclaw/plugin-sdk/* içe aktaran Plugin’ler openclaw paketini peer
bağımlılık olarak bildirir. OpenClaw, npm’in host paketinin ayrı bir registry kopyasını
yönetilen köke kurmasına izin vermez, çünkü eski host paketleri daha sonraki Plugin
kurulumlarında npm peer çözümlemesini etkileyebilir. Yönetilen npm kurulumları paylaşılan
kök için npm peer çözümlemesini/materyalizasyonunu atlar ve OpenClaw kurulum, güncelleme
veya kaldırma sonrasında host peer bildiren kurulu paketler için Plugin yerel
node_modules/openclaw bağlantılarını yeniden uygular.
git kurulumları depoyu klonlar veya yeniler, ardından şunu çalıştırır:
node_modules çözümlemesi normal bir Node paketinde olduğu gibi çalışır.
Yerel Plugin’ler
Yerel Plugin’ler geliştirici denetimindeki dizinler olarak ele alınır. OpenClaw onlar içinnpm install, pnpm install veya bağımlılık onarımı çalıştırmaz. Yerel bir
Plugin’in bağımlılıkları varsa, Plugin’i yüklemeden önce bunları o Plugin içinde kurun.
Üçüncü taraf TypeScript yerel Plugin’leri acil durum Jiti yolunu kullanabilir. Paketlenmiş
JavaScript Plugin’leri ve paketle gelen dahili Plugin’ler Jiti yerine yerel
import/require üzerinden yüklenir.
Başlatma ve yeniden yükleme
Gateway başlatma ve config yeniden yükleme hiçbir zaman Plugin bağımlılıklarını kurmaz. Bunlar Plugin kurulum kayıtlarını okur, entrypoint’i hesaplar ve onu yükler. Runtime sırasında bir bağımlılık eksikse, Plugin yüklenemez ve hata operatörü açık bir çözüme yönlendirmelidir:doctor --fix, eski OpenClaw tarafından üretilmiş bağımlılık durumunu temizleyebilir ve config
onlara referans verdiğinde yerel kurulum kayıtlarında eksik olan indirilebilir Plugin’leri
kurtarabilir. Doctor, zaten kurulu olan yerel bir Plugin için bağımlılıkları onarmaz.
Paketle gelen Plugin’ler
Hafif ve çekirdek açısından kritik paketle gelen Plugin’ler OpenClaw’ın parçası olarak gönderilir. Bunların ya ağır bir runtime bağımlılık ağacı olmamalı ya da ClawHub/npm üzerinde indirilebilir bir pakete taşınmalıdır. Çekirdek pakette gönderilen, harici olarak kurulan veya yalnızca kaynak olarak kalan Plugin’lerin güncel üretilmiş listesi için bkz. Plugin envanteri. Paketle gelen Plugin manifest’leri bağımlılık staging’i istememelidir. Büyük veya isteğe bağlı Plugin işlevselliği normal bir Plugin olarak paketlenmeli ve üçüncü taraf Plugin’lerle aynı npm/git/ClawHub yolu üzerinden kurulmalıdır. Kaynak checkout’larında OpenClaw depoyu bir pnpm monorepo olarak ele alır.pnpm install sonrasında
paketle gelen Plugin’ler extensions/<id> konumundan yüklenir; böylece paket yerel workspace
bağımlılıkları kullanılabilir olur ve düzenlemeler doğrudan alınır. Kaynak checkout geliştirmesi
yalnızca pnpm içindir; depo kökünde düz npm install, paketle gelen Plugin bağımlılıklarını
hazırlamanın desteklenen bir yolu değildir.
| Kurulum biçimi | Paketle gelen Plugin konumu | Bağımlılık sahibi |
|---|---|---|
npm install -g openclaw | Paketin içindeki derlenmiş runtime ağacı | OpenClaw paketi ve açık Plugin kurulum/güncelleme/doctor akışları |
Git checkout artı pnpm install | extensions/<id> workspace paketleri | Her Plugin paketinin kendi bağımlılıkları dahil pnpm workspace’i |
openclaw plugins install ... | Yönetilen npm/git/ClawHub Plugin kökü | Plugin kurulum/güncelleme akışı |
Eski temizleme
Eski OpenClaw sürümleri, başlatma sırasında veya doctor onarımı esnasında paketle gelen Plugin bağımlılık kökleri oluştururdu. Mevcut doctor temizliği,--fix kullanıldığında bu eski dizinleri
ve symlink’leri kaldırır; buna eski plugin-runtime-deps kökleri, kırpılmış
plugin-runtime-deps hedeflerini işaret eden global Node-prefix paket symlink’leri,
.openclaw-runtime-deps* manifest’leri, üretilmiş Plugin node_modules, kurulum stage dizinleri
ve paket yerel pnpm store’ları dahildir. Paketlenmiş postinstall ayrıca yükseltmelerin sarkan
ESM paket içe aktarmaları bırakmaması için eski hedef kökleri kırpmadan önce bu global symlink’leri
kaldırır.
Bu yollar yalnızca eski kalıntılardır. Yeni kurulumlar bunları oluşturmamalıdır.