14 điểm bởi xguru 2026-02-20 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • "Bash for Agents" do Vercel tạo ra
  • Môi trường Bash ảo dựa trên TypeScript được thiết kế cho các agent AI cần một môi trường bash an toàn và được sandbox hóa
  • Chạy trên hệ thống tệp ảo trong bộ nhớ (InMemoryFs), là môi trường thực thi sandbox không thể truy cập đĩa thực
  • Mặc định chặn truy cập mạng; khi cần có thể hỗ trợ yêu cầu mạng an toàn dựa trên URL được cho phép thông qua curl
  • Chỉ có thể truy cập hệ thống tệp được cung cấp, đồng thời có tính năng ngăn vòng lặp vô hạn và thực thi đệ quy
    • Không hỗ trợ chạy binary hoặc WASM
  • Khi sử dụng API, môi trường được cô lập theo từng lần exec(), nên biến môi trường, hàm và thư mục làm việc không được giữ lại giữa các lần gọi (chỉ trạng thái hệ thống tệp là được duy trì)
  • Có thể cấu hình chi tiết bằng tham số khởi tạo như tệp ban đầu, biến môi trường, thư mục làm việc, giới hạn thực thi
  • Hỗ trợ lazy file loading, cho phép tạo nội dung tệp bằng hàm đồng bộ/bất đồng bộ chỉ tại thời điểm cần thiết
  • Có tính năng lệnh tùy biến do người dùng định nghĩa (defineCommand), cho phép thêm lệnh tùy chỉnh dựa trên TypeScript
    • Thông qua CommandContext hỗ trợ truy cập fs, cwd, env, stdin, exec
  • Cung cấp 4 triển khai hệ thống tệp
    • InMemoryFs: hoàn toàn dựa trên bộ nhớ
    • OverlayFs: đọc từ đĩa, ghi vào bộ nhớ
    • ReadWriteFs: có thể đọc/ghi đĩa thực
    • MountableFs: mount nhiều hệ thống tệp theo từng đường dẫn để tạo một không gian tên hợp nhất
  • Hỗ trợ bash-tool như công cụ tích hợp AI SDK
    • Được thiết kế để kết hợp với generateText() giúp mô hình AI thực thi lệnh Bash một cách an toàn
  • Cung cấp API tương thích Vercel Sandbox
    • Có thể dùng qua lớp Sandbox với giao diện giống hệt @vercel/sandbox
    • Khi cần có thể dễ dàng chuyển sang sandbox dựa trên VM thực tế
  • Cung cấp CLI với lệnh just-bash
    • Chạy dựa trên OverlayFS và sau khi thực thi, toàn bộ nội dung ghi sẽ bị loại bỏ trong bộ nhớ
    • Hỗ trợ xuất kết quả ở dạng lập trình được bằng tùy chọn --json
  • Cung cấp chế độ shell tương tác (pnpm shell)
    • Mặc định cho phép truy cập internet, có thể chặn bằng --no-network
  • Các lệnh được hỗ trợ
    • Bao gồm phần lớn các lệnh Bash tiêu chuẩn như thao tác tệp, xử lý văn bản, xử lý dữ liệu, nén, mạng
    • Cũng hỗ trợ tùy chọn các lệnh xử lý dữ liệu như jq, sqlite3, python3 (dựa trên Pyodide)
    • Về tính năng shell, đã triển khai phần lớn cú pháp Bash như pipe, redirection, câu lệnh điều kiện, vòng lặp, hàm, biến, glob pattern
  • Cấu trúc thư mục mặc định cung cấp môi trường tương tự Unix như /home/user, /bin, /usr/bin, /tmp
  • Kiểm soát truy cập mạng dùng whitelist dựa trên URL và HTTP method
    • Có thể cho phép toàn bộ bằng tùy chọn dangerouslyAllowFullInternetAccess
  • Hỗ trợ Python và SQLite được kích hoạt tùy chọn
    • Python dựa trên Pyodide, SQLite dựa trên WASM (sql.js), đảm bảo thực thi sandbox hoàn chỉnh
  • Với cơ chế bảo vệ khi thực thi, có thể đặt giới hạn chạy như độ sâu hàm, số lượng lệnh, số lần lặp của vòng lặp
  • Giấy phép Apache-2.0

Chưa có bình luận nào.

Chưa có bình luận nào.