OpenShell
OpenShell adalah backend sandbox terkelola untuk OpenClaw. Alih-alih menjalankan container Docker secara lokal, OpenClaw mendelegasikan siklus hidup sandbox ke CLIopenshell,
yang menyediakan environment jarak jauh dengan eksekusi perintah berbasis SSH.
Plugin OpenShell menggunakan kembali transport SSH inti yang sama dan bridge
filesystem jarak jauh yang sama seperti backend SSH generik. Plugin ini menambahkan
siklus hidup khusus OpenShell (sandbox create/get/delete, sandbox ssh-config)
dan mode workspace mirror opsional.
Prasyarat
- CLI
openshellterinstal dan ada diPATH(atau setel path kustom melaluiplugins.entries.openshell.config.command) - Akun OpenShell dengan akses sandbox
- OpenClaw Gateway berjalan di host
Mulai cepat
- Aktifkan plugin dan setel backend sandbox:
- Mulai ulang Gateway. Pada giliran agen berikutnya, OpenClaw membuat sandbox OpenShell dan merutekan eksekusi tool melaluinya.
- Verifikasi:
Mode workspace
Ini adalah keputusan paling penting saat menggunakan OpenShell.mirror
Gunakan plugins.entries.openshell.config.mode: "mirror" saat Anda ingin workspace lokal
tetap menjadi yang kanonis.
Perilaku:
- Sebelum
exec, OpenClaw menyinkronkan workspace lokal ke sandbox OpenShell. - Setelah
exec, OpenClaw menyinkronkan workspace jarak jauh kembali ke workspace lokal. - Tool file tetap beroperasi melalui bridge sandbox, tetapi workspace lokal tetap menjadi source of truth di antara giliran.
- Anda mengedit file secara lokal di luar OpenClaw dan ingin perubahan tersebut terlihat di sandbox secara otomatis.
- Anda ingin sandbox OpenShell berperilaku semirip mungkin dengan backend Docker.
- Anda ingin workspace host mencerminkan penulisan sandbox setelah setiap giliran exec.
remote
Gunakan plugins.entries.openshell.config.mode: "remote" saat Anda ingin
workspace OpenShell menjadi yang kanonis.
Perilaku:
- Saat sandbox pertama kali dibuat, OpenClaw melakukan seed workspace jarak jauh dari workspace lokal satu kali.
- Setelah itu,
exec,read,write,edit, danapply_patchberoperasi langsung terhadap workspace OpenShell jarak jauh. - OpenClaw tidak menyinkronkan perubahan jarak jauh kembali ke workspace lokal.
- Pembacaan media pada waktu prompt tetap berfungsi karena tool file dan media membaca melalui bridge sandbox.
- Sandbox seharusnya hidup terutama di sisi jarak jauh.
- Anda ingin overhead sinkronisasi per giliran lebih rendah.
- Anda tidak ingin edit lokal host diam-diam menimpa status sandbox jarak jauh.
openclaw sandbox recreate untuk melakukan seed ulang.
Memilih mode
mirror | remote | |
|---|---|---|
| Workspace kanonis | Host lokal | OpenShell jarak jauh |
| Arah sinkronisasi | Dua arah (setiap exec) | Seed satu kali |
| Overhead per giliran | Lebih tinggi (unggah + unduh) | Lebih rendah (operasi jarak jauh langsung) |
| Edit lokal terlihat? | Ya, pada exec berikutnya | Tidak, sampai recreate |
| Paling cocok untuk | Alur kerja pengembangan | Agen jangka panjang, CI |
Referensi konfigurasi
Semua config OpenShell berada di bawahplugins.entries.openshell.config:
| Kunci | Tipe | Default | Deskripsi |
|---|---|---|---|
mode | "mirror" atau "remote" | "mirror" | Mode sinkronisasi workspace |
command | string | "openshell" | Path atau nama CLI openshell |
from | string | "openclaw" | Sumber sandbox untuk pembuatan pertama kali |
gateway | string | — | Nama gateway OpenShell (--gateway) |
gatewayEndpoint | string | — | URL endpoint gateway OpenShell (--gateway-endpoint) |
policy | string | — | ID kebijakan OpenShell untuk pembuatan sandbox |
providers | string[] | [] | Nama provider yang dilampirkan saat sandbox dibuat |
gpu | boolean | false | Meminta resource GPU |
autoProviders | boolean | true | Meneruskan --auto-providers saat pembuatan sandbox |
remoteWorkspaceDir | string | "/sandbox" | Workspace tulis utama di dalam sandbox |
remoteAgentWorkspaceDir | string | "/agent" | Path mount workspace agen (untuk akses read-only) |
timeoutSeconds | number | 120 | Timeout untuk operasi CLI openshell |
mode, scope, workspaceAccess) dikonfigurasi di bawah
agents.defaults.sandbox seperti backend lainnya. Lihat
Sandboxing untuk matriks lengkap.
Contoh
Penyiapan remote minimal
Mode mirror dengan GPU
OpenShell per agen dengan gateway kustom
Pengelolaan siklus hidup
Sandbox OpenShell dikelola melalui CLI sandbox normal:remote, recreate sangat penting: ini menghapus workspace jarak jauh
kanonis untuk cakupan tersebut. Penggunaan berikutnya melakukan seed workspace jarak jauh baru dari
workspace lokal.
Untuk mode mirror, recreate terutama mereset environment eksekusi jarak jauh karena
workspace lokal tetap menjadi yang kanonis.
Kapan harus recreate
Lakukan recreate setelah mengubah salah satu dari ini:agents.defaults.sandbox.backendplugins.entries.openshell.config.fromplugins.entries.openshell.config.modeplugins.entries.openshell.config.policy
Keterbatasan saat ini
- Browser sandbox tidak didukung pada backend OpenShell.
sandbox.docker.bindstidak berlaku untuk OpenShell.- Pengaturan runtime khusus Docker di bawah
sandbox.docker.*hanya berlaku untuk backend Docker.
Cara kerjanya
- OpenClaw memanggil
openshell sandbox create(dengan flag--from,--gateway,--policy,--providers,--gpusesuai konfigurasi). - OpenClaw memanggil
openshell sandbox ssh-config <name>untuk mendapatkan detail koneksi SSH untuk sandbox. - Core menulis config SSH ke file sementara dan membuka sesi SSH menggunakan bridge filesystem jarak jauh yang sama seperti backend SSH generik.
- Dalam mode
mirror: sinkronkan lokal ke jarak jauh sebelum exec, jalankan, sinkronkan kembali setelah exec. - Dalam mode
remote: seed satu kali saat create, lalu beroperasi langsung pada workspace jarak jauh.
Lihat juga
- Sandboxing — mode, cakupan, dan perbandingan backend
- Sandbox vs Tool Policy vs Elevated — debugging tool yang diblokir
- Multi-Agent Sandbox and Tools — override per agen
- Sandbox CLI — perintah
openclaw sandbox