Skip to main content

execute-code-fallback

Fallback from execute_code_sandbox to run_shell when e2b sandbox is unavailable

소스 정보

저장소
HKUDS/OpenSpace
최근 소스 활동
2026년 7월 17일 03:43
감지된 SKILL.md 언어
영어
스타
7,773
포크
923

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
execute-code-fallback
description
Fallback from execute_code_sandbox to run_shell when e2b sandbox is unavailable
# Execute Code Fallback Pattern When `execute_code_sandbox` fails due to e2b unavailability, immediately fall back to `run_shell` with embedded Python code. This ensures task continuity when the sandbox service is down. ## When to Apply Use this pattern when you observe: - `execute_code_sandbox` returns errors mentioning "e2b", "sandbox unavailable", or connection timeouts - Repeated sandbox execution failures (2+ attempts) - Error messages indicating the code execution environment is unreachable ## Fallback Procedure ### Step 1: Detect the Failure Identify that `execute_code_sandbox` has failed. Common error indicators: - "e2b service unavailable" - "Sandbox connection failed" - "Execution environment not reachable" - Timeout errors during code execution ### Step 2: Switch to run_shell with Embedded Python Instead of: ```python execute_code_sandbox(code="...") ``` Use: ```bash run_shell(command="python3 -c '...your Python code...'") ``` ### Step 3: Install Dependencies First (If Needed) If your Python code requires external packages, install them first: ```bash run_shell(command="pip install pandas requests matplotlib") ``` Then execute your main code: ```bash run_shell(command="python3 << 'EOF' import pandas as pd import requests # Your code here print("Success") EOF ") ``` ### Step 4: Use Heredoc for Multi-line Code For complex Python scripts, use heredoc syntax for cleaner code: ```bash run_shell(command="python3 << 'PYTHON_SCRIPT' import json import os # Complex logic here data = {'key': 'value'} with open('output.json', 'w') as f: json.dump(data, f) print('File created successfully') PYTHON_SCRIPT ") ``` ## Complete Example **Scenario:** You need to process a CSV file and generate a report. **Original approach (sandbox):** ```python execute_code_sandbox(code=""" import pandas as pd df = pd.read_csv('data.csv') summary = df.describe() print(summary) """) ``` **Fallback approach (run_shell):** ```bash # First install dependencies if needed run_shell(command="pip install pandas --quiet") # Then execute the code run_shell(command="python3 << 'EOF' import pandas as pd df = pd.read_csv('data.csv') summary = df.describe() print(summary) EOF ") ``` ## Important Considerations 1. **State Persistence**: Unlike `execute_code_sandbox`, `run_shell` executions may not share state between calls. Save intermediate results to files if needed. 2. **Working Directory**: Ensure you're operating in the correct directory. Use `pwd` to verify or include `cd /path/to/workdir` in your commands. 3. **Python Version**: Use `python3` explicitly to avoid ambiguity. Verify with `python3 --version` if needed. 4. **Error Handling**: Check the stdout/stderr from `run_shell` to confirm success. Failed Python scripts will return non-zero exit codes. 5. **Security**: Be cautious when embedding user-provided data into shell commands. Escape appropriately or use file-based input. 6. **Performance**: For large computations, `run_shell` may be slower than sandbox. Consider breaking into smaller steps if timeouts occur. ## Quick Reference | Task | Sandbox Approach | Fallback Approach | |------|-----------------|-------------------| | Simple calculation | `execute_code_sandbox(code="print(2+2)")` | `run_shell(command="python3 -c 'print(2+2)'")` | | Install + run | `execute_code_sandbox(code="import pkg; ...")` | `run_shell(command="pip install pkg && python3 -c '...'")` | | Multi-line script | `execute_code_sandbox(code="...")` | `run_shell(command="python3 << 'EOF'...EOF")` | | File I/O | `execute_code_sandbox(code="...")` | `run_shell(command="python3 << 'EOF'...EOF")` | ## Recovery Checklist - [ ] Confirm `execute_code_sandbox` failure (not a code bug) - [ ] Switch to `run_shell` immediately - [ ] Install required packages with `pip install` - [ ] Use heredoc for multi-line Python - [ ] Verify output and handle errors - [ ] Save intermediate results to files if multi-step
GitHub에서 보기