Skip to main content

sandbox-fallback-python

Fallback to run_shell with embedded Python when execute_code_sandbox fails due to e2b unavailability

来源信息

仓库
HKUDS/OpenSpace
最近来源活动
2026年7月17日 03:43
检测到的 SKILL.md 语言
英语
星标
7,776
Forks
926

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
sandbox-fallback-python
description
Fallback to run_shell with embedded Python when execute_code_sandbox fails due to e2b unavailability
# Sandbox Fallback: Python via run_shell ## When to Use This Skill Apply this skill when `execute_code_sandbox` fails with errors indicating: - e2b service unavailability - Sandbox timeout or connection issues - Code execution environment not accessible This fallback allows you to execute Python code directly via shell, bypassing the sandbox infrastructure. ## Fallback Procedure ### Step 1: Detect Sandbox Failure Identify fallback necessity from error messages like: - "e2b unavailable" - "sandbox connection failed" - "execution environment error" - Timeout errors during code execution ### Step 2: Switch to run_shell with Embedded Python Instead of `execute_code_sandbox`, use `run_shell` with a Python heredoc or inline script: ```bash python3 << 'EOF' # Your Python code here print("Hello from fallback execution") EOF ``` ### Step 3: Install Dependencies First If your Python code requires packages not guaranteed to be installed: ```bash pip install package_name package_name2 && python3 << 'EOF' # Your Python code here import package_name print("Code with dependencies executed") EOF ``` ### Step 4: Handle File I/O For scripts that need to read/write files: - Use absolute or explicit relative paths - Files persist in the workspace directory - List directory contents with `ls` to verify file operations ```bash python3 << 'EOF' import os # Write output to file with open("output.txt", "w") as f: f.write("Results here") # Verify print(f"Working directory: {os.getcwd()}") EOF ``` ## Code Examples ### Simple Calculation ```bash python3 << 'EOF' result = sum(range(100)) print(f"Sum: {result}") EOF ``` ### With Package Installation ```bash pip install requests -q && python3 << 'EOF' import requests response = requests.get("https://api.example.com/data") print(response.json()) EOF ``` ### With JSON Processing ```bash python3 << 'EOF' import json data = {"key": "value", "count": 42} output = json.dumps(data, indent=2) print(output) # Save to file with open("data.json", "w") as f: f.write(output) EOF ``` ## Best Practices 1. **Use heredoc syntax** - `<< 'EOF'` prevents variable expansion issues 2. **Install quietly** - Use `pip install -q` to reduce output noise 3. **Error handling** - Add try/except blocks in Python code for robustness 4. **Verify execution** - Check stdout/stderr from run_shell to confirm success 5. **Keep code compact** - Long scripts are harder to debug in shell context ## Caveats - **No persistent state** between run_shell calls (unlike execute_code_sandbox) - **Longer execution time** for complex scripts due to Python interpreter startup - **Limited debugging** - Cannot easily inspect variables between statements - **Output size limits** - Very large outputs may be truncated ## When NOT to Use This Fallback - If the task specifically requires sandbox isolation for security - If you need persistent state across multiple code executions - If the code execution is extremely long-running (consider backgrounding)
在 GitHub 查看