just-bash - Lingkungan simulasi Bash untuk agen
(github.com/vercel-labs)- "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 kefs,cwd,env,stdin,exec
- Melalui
- 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-toolsebagai alat integrasi AI SDK- Dirancang agar model AI dapat menjalankan perintah Bash dengan aman jika digabungkan dengan
generateText()
- Dirancang agar model AI dapat menjalankan perintah Bash dengan aman jika digabungkan dengan
- Menyediakan API yang kompatibel dengan Vercel Sandbox
- Dapat digunakan melalui kelas
Sandboxdengan antarmuka yang sama seperti @vercel/sandbox - Memudahkan peralihan ke sandbox berbasis VM nyata bila diperlukan
- Dapat digunakan melalui kelas
- 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
- Secara default akses internet diizinkan, dapat diblokir dengan
- 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
- Dapat mengizinkan akses penuh dengan opsi
- 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.