● Comunidad
instavm
⚡ Instantáneo
CodeRunner
por instavm · instavm/coderunner
Ejecución de código aislada en VM para agentes — Python, Playwright, kernel de Jupyter persistente, todo en sandbox lejos de tu host.
CodeRunner da a Claude (y otros agentes) un sandbox seguro y persistente: ejecuta Python con un kernel de Jupyter de larga vida, hace scraping con Playwright, manipula PDFs e imágenes. El aislamiento a nivel de VM en contenedor significa que puedes dejar que un agente ejecute código no confiable sin arruinar tu máquina. Se expone como servidor MCP para funcionar en cualquier cliente.
Por qué usarlo
Características clave
- Aislamiento a nivel de VM — sistema de archivos y red del host protegidos
- Kernel de Jupyter persistente — las variables e importaciones sobreviven entre llamadas
- Playwright incluido para scraping web / automatización de navegador
- Skills pre-empaquetadas: manipulación de PDF, procesamiento de imágenes
- Disponible como servidor MCP en coderunner.local:8222 — conéctalo a cualquier cliente
Demo en vivo
Cómo se ve en la práctica
listo
Casos de uso
Usos del mundo real: CodeRunner
Cuándo usarlo: Quieres que Claude escriba y ejecute un script que no revisaste completamente.
Flujo
-
Darle la tarea
Use coderunner. Write a Python script that downloads my Strava activities CSV from <url>, parses, and computes weekly mileage. Run it in the sandbox.✓ Copiado
→ Script ejecutado; salida mostrada; nada tocó mi sistema de archivos
-
Iterar
Add a chart of weekly mileage. Re-run.✓ Copiado
→ Gráfico renderizado; estado del kernel conservado (sin volver a importar)
-
Exportar resultados
Save CSV + chart to ./out/ on host (this only).✓ Copiado
→ Solo esa ruta escrita; el sandbox permanece sellado
Resultado: Experimentos rápidos sin el «oops, borró /Users».
Errores comunes
- El acceso a la red todavía está permitido en el sandbox — Deshabilita la red si ejecutas código verdaderamente no confiable; de lo contrario puede exfiltrar datos
Cuándo usarlo: Quieres una sesión de exploración de datos de 30 minutos sin perder el estado del kernel.
Flujo
-
Cargar datos una vez
Use coderunner. Load /data/sales.csv into df. Show schema + 5 sample rows.✓ Copiado
→ df en el kernel; persiste durante la sesión
-
Consultas ad-hoc
Pivot by region × month, show top 5 anomalies.✓ Copiado
→ Tabla dinámica + filas marcadas
-
Exportar
Save the anomalies subset to /out/anomalies.csv on host.✓ Copiado
→ CSV en /out/
Resultado: Análisis de calidad de notebook a través del chat, con código real ejecutándose.
Errores comunes
- El estado del kernel se desvía en sesiones largas; resultados basados en variables obsoletas — Reinicia el kernel entre tareas no relacionadas; Claude puede emitir %reset
Cuándo usarlo: El sitio necesita un navegador completo; no quieres un proceso de Chrome ejecutándose en tu host.
Flujo
-
Iniciar una sesión
Use coderunner Playwright. Open <url>, wait for the table, extract rows as JSON.✓ Copiado
→ JSON devuelto; el navegador se quedó en el sandbox
-
Iterar selectores
Selector missed the price column; adjust to find it.✓ Copiado
→ Selector actualizado; datos completos
Resultado: Datos extraídos; sin huella de navegador en el host.
Errores comunes
- El sitio detecta headless y bloquea — Cambia a chromium con las opciones --headed=false-but-stealth que expone la skill
Combinaciones
Combínalo con otros MCPs para multiplicar por 10
Mover datos dentro/fuera del sandbox solo mediante rutas montadas
Mount only /Users/me/data and /Users/me/out; everything else is read-only.✓ Copiado
Pipeline buscar → obtener → analizar
Search via duckduckgo, scrape via coderunner Playwright, analyze in Python.✓ Copiado
Coste y límites
Lo que cuesta ejecutarlo
- Cuota de API
- Ninguna — local
- Tokens por llamada
- Solo los tokens de código/salida
- Monetario
- Gratuito
- Consejo
- El kernel persistente ahorra tokens vs volver a importar; reinicia solo cuando el estado está mal
Seguridad
Permisos, secretos, alcance
Ámbitos mínimos: Mounted filesystem paths only Network on/off via config
Almacenamiento de credenciales: No pongas secretos en el sandbox a menos que estés bien con que el agente los vea
Salida de datos: Si la red está activada, el sandbox puede acceder a cualquier URL — desactívala para ejecuciones sensibles
No conceder nunca: Montaje de $HOME o / — el sandbox pierde su propósito
- El sandbox reduce el radio de explosión pero no es una panacea — revisa el plan del agente antes de las ejecuciones
Resolución de problemas
Errores comunes y soluciones
install.sh falla en Linux
El proyecto es macOS Apple Silicon en primera clase; el soporte de Linux varía. Revisa las issues para notas específicas de distribución
Estado obsoleto de Playwright
Ejecuta kernel_reset; el contexto del navegador antiguo puede persistir entre llamadas
El sandbox no puede llegar a internet
La red está deshabilitada en la configuración; actívala si la necesitas. Por el contrario, aíslala cuando no sea necesaria
Faltan dependencias en la skill de PDF/imagen
La imagen del contenedor incluye las comunes; reconstruye la imagen para añadir dependencias personalizadas
Alternativas
CodeRunner vs otros
| Alternativa | Cuándo usarla | Contrapartida |
| Anthropic code execution beta | Quieres ejecución del lado del servidor sin sandbox local | En la nube; los datos salen de tu máquina |
| Docker by hand | Quieres control total de la imagen del contenedor | Configuración manual; sin servidor MCP listo para usar |