Skip to main content

E2B

ShanoneのE2B連携は、隔離されたクラウドサンドボックスを起動し、その中でコマンド・ファイル・コードを実行するための27個のツールをエージェントに提供します。エージェントが信頼できない、あるいは試行的なコードを安全に実行する必要がある場面で役立ちます。

はじめに

1

E2BのAPIキーを取得する

E2BダッシュボードからAPIキーを作成します。
2

Shanoneにキーを追加する

Shanoneダッシュボードの連携を開き、E2Bを選択してAPIキーを貼り付けます。
3

リクエストを再実行する

保存が完了すると、e2b_*ツールに対するshanone_execute_tool呼び出しが成功するようになります。

利用可能なツール

ShanoneはE2B向けに27個のツールを、以下のカテゴリに整理して提供しています。
e2b_create_sandbox, e2b_list_sandboxes, e2b_get_sandbox, e2b_connect_sandbox, e2b_kill_sandbox, e2b_set_timeout, e2b_is_running
e2b_run_command, e2b_run_command_background, e2b_list_processes, e2b_kill_process, e2b_send_stdin
e2b_read_file, e2b_write_file, e2b_list_directory, e2b_make_directory, e2b_remove_file, e2b_rename_file, e2b_file_exists, e2b_watch_directory
e2b_run_python, e2b_run_javascript, e2b_run_code
e2b_create_snapshot, e2b_list_snapshots, e2b_create_from_snapshot, e2b_delete_snapshot

よくあるユースケース

データ分析のスクラッチパッド

e2b_run_pythonを実行してデータセットを分析し、ローカル環境に触れずに計算結果を返す

安全なコード実行

エージェントが生成した、またはユーザーが提供したコードをホストマシンではなく隔離されたサンドボックスで実行する

再現可能な環境

設定済みのサンドボックスをスナップショットし、再現性のあるテスト実行のために新しいコピーを起動する

長時間バックグラウンドジョブ

e2b_run_command_backgroundで長時間のシェルコマンドを起動し、実行中にポーリングまたは入力を送信する

トラブルシューティング

サンドボックスには自動終了させるタイムアウトが設定されています。長時間のジョブを実行する前にe2b_set_timeoutで寿命を延ばし、再接続する前にe2b_is_runningでステータスを確認してください。
e2b_create_sandboxを呼ぶたびに新しい環境が起動します。既知のサンドボックスIDで既存のものを再利用するにはe2b_connect_sandboxを、状態を保存・復元するにはe2b_create_snapshot/e2b_create_from_snapshotを使用してください。
標準入力を待つコマンド(プロンプトやREPLなど)はブロックしてしまいます。ブロッキングするe2b_run_commandではなく、e2b_run_command_backgroundで実行しe2b_send_stdinで入力を送ってください。