Gateway
OpenShell
OpenShell, yönetilen bir korumalı alan arka ucudur: OpenClaw, Docker kapsayıcılarını
yerel olarak çalıştırmak yerine korumalı alan yaşam döngüsünü uzak ortamlar
hazırlayan ve komutları SSH üzerinden çalıştıran 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'inin yüklü olması (
openclaw plugins install @openclaw/openshell-sandbox) PATHüzerindeopenshellCLI (veyaplugins.entries.openshell.config.commandaracılığıyla özel bir yol)- Korumalı alan erişimi olan bir OpenShell hesabı
- Ana makinede çalışan OpenClaw Gateway
Hızlı başlangıç
openclaw plugins install @openclaw/openshell-sandbox{ agents: { defaults: { sandbox: { mode: "all", backend: "openshell", scope: "session", workspaceAccess: "rw", }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: "openclaw", mode: "remote", }, }, }, },}Gateway'i yeniden başlatın. Bir sonraki aracı turunda OpenClaw bir OpenShell korumalı alanı oluşturur ve araç yürütmeyi bunun üzerinden yönlendirir. Şunlarla doğrulayın:
openclaw sandbox listopenclaw sandbox explainÇalışma alanı modları
Bu, OpenShell için en önemli karardır.
mirror (varsayılan)
plugins.entries.openshell.config.mode: "mirror", yerel çalışma alanını
kanonik tutar:
- OpenClaw,
execöncesinde yerel çalışma alanını korumalı alanla eşitler. - OpenClaw,
execsonrasında uzak çalışma alanını yeniden yerel ortama eşitler. - Dosya araçları korumalı alan köprüsünden geçer ancak turlar arasında doğruluk kaynağı yerel ortam olmaya devam eder.
Geliştirme iş akışları için en uygunudur: OpenClaw dışında yapılan yerel düzenlemeler bir sonraki yürütmede görünür ve korumalı alan Docker arka ucuna benzer şekilde davranır.
Ödünleşim: Her yürütme turunda yükleme ve indirme maliyeti oluşur.
remote
mode: "remote", OpenShell çalışma alanını kanonik hâle getirir:
- İlk korumalı alan oluşturulduğunda OpenClaw, uzak çalışma alanını yerel ortamdan bir kez başlangıç verileriyle doldurur.
- Bundan sonra
exec,read,write,editveapply_patchdoğrudan uzak çalışma alanında işlem yapar. OpenClaw, uzak değişiklikleri yerel ortama eşitlemez. - İstem sırasında medya okumaları çalışmaya devam eder (dosya/medya araçları korumalı alan köprüsü üzerinden okur).
Uzun süre çalışan aracılar ve CI için en uygunudur: Tur başına ek yük daha düşüktür ve ana makinedeki yerel düzenlemeler uzak durumun sessizce üzerine yazamaz.
Mod seçimi
mirror |
remote |
|
|---|---|---|
| Kanonik çalışma alanı | Yerel ana makine | Uzak OpenShell |
| Eşitleme yönü | Çift yönlü (her yürütmede) | Tek seferlik başlangıç aktarımı |
| Tur başına ek yük | Daha yüksek (yükleme + indirme) | Daha düşük (doğrudan uzak işlem) |
| Yerel düzenlemeler görünür mü? | Evet, sonraki yürütmede | Hayır, yeniden oluşturulana kadar |
| En uygun kullanım | Geliştirme iş akışları | Uzun süre çalışan aracılar, CI |
Yapılandırma başvurusu
Tüm OpenShell yapılandırması plugins.entries.openshell.config altında bulunur:
| Anahtar | Tür | Varsayılan | Açıklama |
|---|---|---|---|
mode |
"mirror" veya "remote" |
"mirror" |
Çalışma alanı eşitleme modu |
command |
string |
"openshell" |
openshell CLI'nin yolu veya adı |
from |
string |
"openclaw" |
İlk oluşturma için korumalı alan kaynağı |
gateway |
string |
ayarlanmamış | OpenShell Gateway adı (üst düzey --gateway) |
gatewayEndpoint |
string |
ayarlanmamış | OpenShell Gateway uç noktası (üst düzey --gateway-endpoint) |
policy |
string |
ayarlanmamış | Korumalı alan oluşturma için OpenShell politika kimliği |
providers |
string[] |
[] |
Korumalı alan oluşturulurken bağlanan sağlayıcı adları (yinelenenler kaldırılır, girdi başına bir --provider bayrağı) |
gpu |
boolean |
false |
GPU kaynakları iste (--gpu) |
autoProviders |
boolean |
true |
Oluşturma sırasında --auto-providers (veya false olduğunda --no-auto-providers) geçir |
remoteWorkspaceDir |
string |
"/sandbox" |
Korumalı alan içindeki birincil yazılabilir çalışma alanı |
remoteAgentWorkspaceDir |
string |
"/agent" |
Aracı çalışma alanının bağlama yolu (çalışma alanı erişimi rw değilse salt okunur) |
timeoutSeconds |
number |
120 |
openshell CLI işlemleri için zaman aşımı |
remoteWorkspaceDir ve remoteAgentWorkspaceDir mutlak yollar olmalı ve
yönetilen /sandbox veya /agent kökleri altında kalmalıdır; diğer mutlak
yollar reddedilir.
Korumalı alan düzeyindeki ayarlar (mode, scope, workspaceAccess), diğer
arka uçlarda olduğu gibi agents.defaults.sandbox altında bulunur. Tam matris
için Korumalı Alan Kullanımı sayfasına bakın.
Örnekler
Asgari uzak kurulum
{ agents: { defaults: { sandbox: { mode: "all", backend: "openshell", }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: "openclaw", mode: "remote", }, }, }, },}GPU ile mirror modu
{ agents: { defaults: { sandbox: { mode: "all", backend: "openshell", scope: "agent", workspaceAccess: "rw", }, }, }, plugins: { entries: { openshell: { enabled: true, config: { from: "openclaw", mode: "mirror", gpu: true, providers: ["openai"], timeoutSeconds: 180, }, }, }, },}Özel Gateway ile aracı başına OpenShell
{ agents: { defaults: { sandbox: { mode: "off" }, }, list: [ { id: "researcher", sandbox: { mode: "all", backend: "openshell", scope: "agent", workspaceAccess: "rw", }, }, ], }, plugins: { entries: { openshell: { enabled: true, config: { from: "openclaw", mode: "remote", gateway: "lab", gatewayEndpoint: "https://lab.example", policy: "strict", }, }, }, },}Yaşam döngüsü yönetimi
# Tüm korumalı alan çalışma ortamlarını listele (Docker + OpenShell)openclaw sandbox list # Etkin politikayı inceleopenclaw sandbox explain # Yeniden oluştur (uzak çalışma alanını siler, sonraki kullanımda başlangıç verilerini yeniden aktarır)openclaw sandbox recreate --allremote modu için yeniden oluşturma özellikle önemlidir: İlgili kapsamın
kanonik uzak çalışma alanını siler ve sonraki kullanımda yerel ortamdan 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.backendplugins.entries.openshell.config.fromplugins.entries.openshell.config.modeplugins.entries.openshell.config.policy
Güvenlik sağlamlaştırması
Mirror modu dosya sistemi köprüsü, yerel çalışma alanı kökünü sabitler ve her okuma, yazma, dizin oluşturma, 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. Sembolik bağlantı değişimi veya yeniden bağlanan bir çalışma alanı, dosya erişimini yansıtılan ağacın dışına yönlendiremez.
Mevcut sınırlamalar
- Korumalı alan tarayıcısı OpenShell arka ucunda desteklenmez.
sandbox.docker.binds, OpenShell için geçerli değildir; bağlamalar yapılandırılmışsa korumalı alan oluşturma başarısız olur.sandbox.docker.*altındaki Docker'a özgü çalışma zamanı ayarları (envhariç) yalnızca Docker arka ucu için geçerlidir.
Nasıl çalışır?
- OpenClaw, korumalı alan adı için
sandbox getkomutunu çalıştırır (yapılandırılmış--gateway/--gateway-endpointdeğerleriyle); bu başarısız olursasandbox createile bir tane oluşturur ve ayarlandığında--name,--from,--policy, etkinleştirildiğinde--gpu,--auto-providers/--no-auto-providersve yapılandırılmış her sağlayıcı için bir--providerbayrağı geçirir. - OpenClaw, SSH bağlantı ayrıntılarını almak için korumalı alan adıyla
sandbox ssh-configkomutunu ç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.
mirrormodunda: yürütmeden önce yerelden uzağa eşitler, çalıştırır ve sonrasında yeniden yerel ortama eşitler.remotemodunda: oluşturma sırasında başlangıç verilerini bir kez aktarır, ardından doğrudan uzak çalışma alanında işlem yapar.
İlgili konular
- Korumalı Alan Kullanımı - modlar, kapsamlar ve arka uç karşılaştırması
- Korumalı Alan, Araç Politikası ve Yükseltilmiş Yetki Karşılaştırması - engellenen araçlarda hata ayıklama
- Çok Aracılı Korumalı Alan ve Araçlar - aracı başına geçersiz kılmalar
- Korumalı Alan CLI -
openclaw sandboxkomutları