OpenShell, yönetilen bir sandbox arka ucudur: OpenClaw, Docker container’larını
yerel olarak çalıştırmak yerine sandbox yaşam döngüsünü uzak ortamları
hazırlayan ve komutları SSH üzerinden yürüten openshell CLI’ye devreder.
Plugin, genel SSH arka ucuyla aynı SSH
aktarımını ve uzak dosya sistemi köprüsünü yeniden kullanır; ayrıca OpenShell
yaşam döngüsünü (sandbox create/get/delete/ssh-config) ve isteğe bağlı mirror
çalışma alanı eşitleme modunu ekler.
Ön koşullar
- OpenShell plugin’i yüklü (
openclaw plugins install @openclaw/openshell-sandbox)
openshell CLI, PATH üzerinde (veya
plugins.entries.openshell.config.command aracılığıyla özel bir yolda)
- Sandbox erişimine sahip bir OpenShell hesabı
- Ana makinede çalışan OpenClaw Gateway
Hızlı başlangıç
Gateway’i yeniden başlatın. Bir sonraki ajan turunda OpenClaw bir OpenShell
sandbox’ı oluşturur ve araç yürütmesini bunun üzerinden yönlendirir. Şunlarla
doğrulayın:
Çalışma alanı modları
Bu, en önemli OpenShell kararıdır.
mirror (varsayılan)
plugins.entries.openshell.config.mode: "mirror", yerel çalışma alanını
kanonik tutar:
exec öncesinde OpenClaw, yerel çalışma alanını sandbox’a eşitler.
exec sonrasında OpenClaw, uzak çalışma alanını yeniden yerele eşitler.
- Dosya araçları sandbox köprüsünden geçer, ancak turlar arasında yerel
ortam doğruluk kaynağı olarak kalır.
Geliştirme iş akışları için idealdir: OpenClaw dışındaki yerel düzenlemeler
bir sonraki yürütmede görünür ve sandbox, Docker arka ucuna benzer şekilde
davranır.
Ödünleşim: Her yürütme turunda yükleme + indirme maliyeti.
remote
mode: "remote", OpenShell çalışma alanını kanonik hâle getirir:
- İlk sandbox oluşturulduğunda OpenClaw, uzak çalışma alanını yerelden
yalnızca bir kez başlangıç verileriyle doldurur.
- Bundan sonra
exec, read, write, edit ve apply_patch
doğrudan uzak çalışma alanında çalışır. OpenClaw, uzak değişiklikleri
yerele eşitlemez.
- İstem sırasındaki medya okumaları çalışmaya devam eder (dosya/medya araçları
sandbox köprüsü üzerinden okur).
Uzun süre çalışan ajanlar ve CI için idealdir: tur başına ek yük daha düşüktür
ve ana makinedeki yerel düzenlemeler uzak durumun sessizce üzerine yazamaz.
İlk başlangıç verileri aktarıldıktan sonra ana makinede OpenClaw dışında düzenlenen dosyalar uzak sandbox tarafından görülemez. Yeniden başlangıç verileri aktarmak için openclaw sandbox recreate komutunu çalıştırın.
Mod seçimi
Yapılandırma referansı
Tüm OpenShell yapılandırması plugins.entries.openshell.config altında bulunur:
remoteWorkspaceDir ve remoteAgentWorkspaceDir mutlak yollar olmalı ve yönetilen
/sandbox veya /agent kökleri altında kalmalıdır; diğer mutlak yollar
reddedilir.
Sandbox düzeyindeki ayarlar (mode, scope, workspaceAccess) diğer
arka uçlarda olduğu gibi agents.defaults.sandbox altında bulunur. Tam matris için
Sandbox Kullanımı sayfasına bakın.
Örnekler
En küçük remote kurulumu
GPU ile mirror modu
Özel gateway ile ajan başına OpenShell
Yaşam döngüsü yönetimi
remote modu için yeniden oluşturma özellikle önemlidir: bu kapsamın
kanonik uzak çalışma alanını siler ve sonraki kullanımda yerelden yeni bir
çalışma alanına başlangıç verileri aktarılır. mirror modunda yerel
ortam kanonik kaldığından yeniden oluşturma, esas olarak uzak yürütme ortamını
sıfırlar.
Şunlardan herhangi birini değiştirdikten sonra yeniden oluşturun:
agents.defaults.sandbox.backend
plugins.entries.openshell.config.from
plugins.entries.openshell.config.mode
plugins.entries.openshell.config.policy
Güvenliği sağlamlaştırma
Mirror modu dosya sistemi köprüsü, yerel çalışma alanı kökünü sabitler ve her
okuma, yazma, mkdir, kaldırma ve yeniden adlandırma işleminden önce kanonik
yolları (realpath aracılığıyla) yeniden denetleyerek yolun ortasındaki sembolik
bağlantıları reddeder. Bir sembolik bağlantı değişimi veya yeniden bağlanan
çalışma alanı, dosya erişimini yansıtılan ağacın dışına yönlendiremez.
Mevcut sınırlamalar
- Sandbox tarayıcısı OpenShell arka ucunda desteklenmez.
- Bağlamalar yapılandırılmışsa
sandbox.docker.binds OpenShell’e uygulanmaz;
sandbox oluşturma başarısız olur.
sandbox.docker.* altındaki Docker’a özgü çalışma ortamı ayarları (env dışında)
yalnızca Docker arka ucuna uygulanır.
Nasıl çalışır?
- OpenClaw, sandbox adı için (yapılandırılmış tüm
--gateway/--gateway-endpoint değerleriyle) sandbox get komutunu çalıştırır; bu başarısız olursa
sandbox create ile bir tane oluşturur ve ayarlandıklarında --name, --from, --policy,
etkin olduğunda --gpu, --auto-providers/--no-auto-providers ve yapılandırılmış her
sağlayıcı için bir --provider bayrağı geçirir.
- OpenClaw, SSH bağlantı ayrıntılarını almak için sandbox adına
sandbox ssh-config komutunu çalıştırır.
- Çekirdek, SSH yapılandırmasını geçici bir dosyaya yazar ve genel SSH arka
ucuyla aynı uzak dosya sistemi köprüsü üzerinden bir SSH oturumu açar.
mirror modunda: yürütmeden önce yerelden uzağa eşitle, çalıştır, ardından yeniden yerele eşitle.
remote modunda: oluşturma sırasında bir kez başlangıç verileri aktar, ardından doğrudan
uzak çalışma alanında çalış.
İlgili konular