- "Bash for Agents" buatan Vercel
- Lingkungan Bash virtual berbasis TypeScript yang dirancang untuk agen AI yang membutuhkan lingkungan bash yang aman dan tersandbox
- Berjalan di atas filesystem virtual dalam memori (InMemoryFs), sebagai lingkungan eksekusi sandbox yang tidak memungkinkan akses ke disk nyata
- Secara default akses jaringan diblokir, dan bila diperlukan mendukung permintaan jaringan aman berbasis URL yang diizinkan melalui
curl
- Hanya dapat mengakses filesystem yang disediakan, serta mencakup fitur pencegahan loop tak hingga dan eksekusi rekursif
- Tidak mendukung eksekusi biner atau WASM
- Saat menggunakan API, isolasi dilakukan per unit
exec(), sehingga variabel lingkungan, fungsi, dan direktori kerja tidak dipertahankan antar pemanggilan (hanya status filesystem yang tetap ada)
- Argumen pembuatan memungkinkan konfigurasi rinci seperti file awal, variabel lingkungan, direktori kerja, dan batas eksekusi
- Mendukung lazy file loading, sehingga isi file dapat dibuat hanya saat diperlukan melalui fungsi sinkron/asinkron
- Fitur perintah kustom (defineCommand) memungkinkan penambahan perintah kustom berbasis TypeScript
- Melalui
CommandContext, tersedia akses ke fs, cwd, env, stdin, exec
- Menyediakan 4 implementasi filesystem
- InMemoryFs: murni berbasis memori
- OverlayFs: baca dari disk, tulis ke memori
- ReadWriteFs: dapat membaca dan menulis ke disk nyata
- MountableFs: menggabungkan beberapa filesystem ke dalam namespace terpadu dengan mount per path
- Mendukung
bash-tool sebagai alat integrasi AI SDK
- Dirancang agar model AI dapat menjalankan perintah Bash dengan aman jika digabungkan dengan
generateText()
- Menyediakan API yang kompatibel dengan Vercel Sandbox
- Dapat digunakan melalui kelas
Sandbox dengan antarmuka yang sama seperti @vercel/sandbox
- Memudahkan peralihan ke sandbox berbasis VM nyata bila diperlukan
- Menyediakan perintah CLI
just-bash
- Berjalan berbasis OverlayFS dan seluruh hasil tulis dibuang dari memori setelah eksekusi
- Mendukung output hasil secara programatik dengan opsi
--json
- Menyediakan mode shell interaktif (
pnpm shell)
- Secara default akses internet diizinkan, dapat diblokir dengan
--no-network
- Perintah yang didukung
- Mencakup sebagian besar perintah Bash standar untuk manipulasi file, pemrosesan teks, pemrosesan data, kompresi, jaringan, dan lainnya
- Dukungan opsional untuk perintah pemrosesan data seperti
jq, sqlite3, python3 (berbasis Pyodide)
- Untuk fitur shell, telah mengimplementasikan sebagian besar sintaks Bash seperti pipe, redirection, conditional, loop, fungsi, variabel, pola glob, dan lainnya
- Struktur direktori bawaan menyediakan lingkungan mirip Unix seperti
/home/user, /bin, /usr/bin, /tmp
- Kontrol akses jaringan menggunakan whitelist berbasis URL dan metode HTTP
- Dapat mengizinkan akses penuh dengan opsi
dangerouslyAllowFullInternetAccess
- Dukungan Python dan SQLite dapat diaktifkan secara opsional
- Python berbasis Pyodide dan SQLite berbasis WASM (sql.js) menjamin eksekusi sandbox sepenuhnya
- Fitur perlindungan eksekusi memungkinkan pengaturan batas seperti kedalaman fungsi, jumlah perintah, dan jumlah iterasi loop
- Lisensi Apache-2.0
Belum ada komentar.