Recover from execute_code_sandbox failures by writing code to file and executing via run_shell
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-sandbox-failure-recovery-57f3dc34c021 ,按照其中的说明把「sandbox-failure-recovery」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
When execute_code_sandbox fails (often due to infrastructure issues, timeouts, or complex dependencies), use this recovery pattern to achieve identical results by writing the code to a file and executing it directly.
execute_code_sandbox returns an error or times outWhen execute_code_sandbox fails, capture the Python code that was attempted. If the code was generated but not saved, reconstruct it from the execution attempt.
Use write_file to save the Python script to a .py file:
write_file with:
- path: "script_name.py" (e.g., "generate_report.py", "process_data.py")
- content: <the full Python code>
Example:
# Content for write_file
import pandas as pd
from openpyxl import Workbook
# Your spreadsheet generation logic here
df = pd.DataFrame({'Revenue': [100, 200, 300]})
df.to_excel('output.xlsx', index=False)
Run the saved script using run_shell with Python 3:
run_shell with:
- command: "python3 script_name.py"
- timeout: 60 (or higher for complex operations)
Check that the expected output files were created:
list_dir with:
- path: "."
Or read the generated file to confirm correctness:
read_file with:
- file_path: "output.xlsx"
- filetype: "xlsx"
Scenario: Generate an Excel P&L report after sandbox failure.
# Step 1: Write the Python script
write_file:
path: "generate_pnl_report.py"
content: |
import pandas as pd
from openpyxl import Workbook
# Create revenue data
data = {
'Tour Stop': ['London', 'Paris', 'Berlin'],
'Revenue': [50000, 45000, 38000],
'Withholding Tax': [5000, 4500, 3800],
'Expenses': [12000, 11000, 9500]
}
df = pd.DataFrame(data)
df['Net Income'] = df['Revenue'] - df['Withholding Tax'] - df['Expenses']
# Export to Excel
df.to_excel('pnl_report.xlsx', index=False)
print("Report generated successfully")
# Step 2: Execute the script
run_shell:
command: "python3 generate_pnl_report.py"
timeout: 60
# Step 3: Verify
list_dir:
path: "."
Use descriptive filenames - Name files after their purpose (e.g., generate_report.py, process_spreadsheet.py)
Set appropriate timeouts - Complex operations may need 60+ seconds
Include error handling in your Python code - Add try/except blocks to capture and report issues:
try:
# Your code here
except Exception as e:
print(f"Error: {e}")
raise
Clean up temporary files - After successful execution, you may remove the .py file if not needed
Check dependencies - Ensure required packages (pandas, openpyxl, etc.) are available in the shell environment
run_shell executes in a more stable environment than the sandbox<THIS_SKILL_EVOLVED>