14 ポイント 投稿者 xguru 2026-02-20 | まだコメントはありません。 | WhatsAppで共有
  • Vercelが開発した "Bash for Agents"
  • 安全でサンドボックス化された bash 環境を必要とする AI エージェントのために設計された、TypeScript ベースの仮想 Bash 環境
  • メモリ内仮想ファイルシステム(InMemoryFs) 上で動作し、実際のディスクにはアクセスできない サンドボックス実行環境
  • デフォルトで ネットワークアクセスは遮断されており、必要に応じて curl による 許可 URL ベースの安全なネットワークリクエストをサポート
  • 提供されたファイルシステムにのみアクセス可能で、無限ループ・再帰実行防止機能を含む
    • バイナリや WASM の実行はサポートしない
  • API の使用時exec() 単位で分離され、環境変数・関数・作業ディレクトリは呼び出し間で保持されない(ファイルシステム状態のみ永続化)
  • 生成引数として、初期ファイル、環境変数、作業ディレクトリ、実行制限などを細かく設定可能
  • Lazy ファイルロードをサポートし、必要な時点でのみファイル内容を同期/非同期関数で生成可能
  • ユーザー定義コマンド(defineCommand) 機能により、TypeScript ベースのカスタムコマンドを追加可能
    • CommandContext を通じて fs, cwd, env, stdin, exec へのアクセスをサポート
  • 4種類のファイルシステム実装を提供
    • InMemoryFs: 純粋なメモリベース
    • OverlayFs: 読み取りはディスク、書き込みはメモリ
    • ReadWriteFs: 実際のディスクの読み書きが可能
    • MountableFs: 複数のファイルシステムをパスごとにマウントし、統合ネームスペースを構成
  • AI SDK 統合ツールとして bash-tool をサポート
    • generateText() と組み合わせて、AI モデルが Bash コマンドを安全に実行できるよう設計
  • Vercel Sandbox 互換 API を提供
    • Sandbox クラスにより @vercel/sandbox と同じインターフェースで使用可能
    • 必要に応じて実際の VM ベースのサンドボックスへ移行しやすい
  • CLIjust-bash コマンドを提供
    • OverlayFS ベースで実行後、すべての書き込み内容はメモリ上で破棄
    • --json オプションで プログラム的な結果出力をサポート
  • 対話型シェルモード(pnpm shell) を提供
    • デフォルトでインターネットアクセスを許可し、--no-network で遮断可能
  • サポートするコマンド群
    • ファイル操作、テキスト処理、データ処理、圧縮、ネットワークなど 標準的な Bash コマンドの大半を含む
    • jq, sqlite3, python3(Pyodide ベース) などのデータ処理コマンドも任意でサポート
    • シェル機能として、パイプ、リダイレクト、条件分岐、ループ、関数、変数、グロブパターンなど Bash 構文の大半を実装
  • 基本ディレクトリ構造/home/user, /bin, /usr/bin, /tmp など、Unix ライクな環境を提供
  • ネットワークアクセス制御は URL・HTTP メソッドベースのホワイトリスト方式
    • dangerouslyAllowFullInternetAccess オプションで全面許可も可能
  • Python および SQLite サポートは任意で有効化
    • Pyodide ベースの Python、WASM ベースの SQLite(sql.js) により 完全なサンドボックス実行を保証
  • 実行保護機能として、関数の深さ、コマンド数、ループ反復回数など 実行上限を設定可能
  • Apache-2.0 ライセンス

まだコメントはありません。

まだコメントはありません。