6 puntos por GN⁺ 2025-08-09 | Aún no hay comentarios. | Compartir por WhatsApp
  • Con ejecución local de LLM y entorno de sandbox de código se puede armar un workspace de IA sin dependencia de la nube
  • Ejecuta un LLM local con Ollama, corre código en una VM aislada con Apple Container y habilita automatización y acceso a internet mediante un navegador headless con Playwright
  • La UI se basa en assistant-ui, implementa selector desplegable de modelo e integración con ai-sdk, y crea un entorno de ejecución segura mediante MCP (Model Context Protocol)
  • Dentro de la VM de Coderunner conectada por MCP se ejecutan Jupyter y un navegador para procesar generación de gráficos, edición de imágenes/video, instalación de herramientas de GitHub y búsquedas web con protección de privacidad
  • Hoy solo funciona en Apple Silicon, y, como próximos pasos, se priorizan mejoras de UI, evasión de detección del navegador y fortalecimiento de la gestión de herramientas

Requisitos y contexto

  • Objetivo: ejecutar todo de forma local, sin ejecución de código en la nube ni servicios remotos
  • Las apps de chat de LLM existentes (por ejemplo, ChatGPT, Claude) ofrecen chat con LLM en la nube, ejecución de código en la nube/local y acceso a internet
  • Con la expansión del uso de LLM de código abierto apareció la duda de si era posible hacer todo esto completamente en local
  • Solo con un LLM local no basta, porque el código debe ejecutarse en un entorno aislado y se necesita acceso a contenido por navegador

Idea de diseño

  • Ejecutar LLMs en un entorno completamente local
  • Limitar la ejecución de código a una VM ligera para aislarla y evitar riesgos al sistema host
  • Añadir un navegador headless para apoyar automatización y exploración de información y herramientas nuevas
  • Construir un flujo de trabajo centrado en privacidad donde desde la planificación de IA hasta la ejecución de código se realiza localmente
  • Ejecutar desde local tareas de edición de fotos, videos y otras sin entregar datos a servicios externos

Stack tecnológico

  • LLM: Ollama (soporte de modelos locales y algunos modelos externos)
  • UI: assistant-ui + ai-sdk (con soporte adicional para selección de modelo)
  • VM runtime: Apple container (proporciona entorno VM aislado)
  • Orquestación: instavm/coderunner (conexión del servidor Jupyter mediante MCP)
  • Automatización de navegador: Playwright (expuesto como herramienta MCP)

Intento y cambio hacia app de Mac

  • Se intentó desarrollar una app nativa de Mac con a0.dev, pero al estar enfocada en iOS se presentaron dificultades
  • También se probó envolverla con Electron + NextJS, pero se descartó por complejidad
  • Finalmente se migró a un assistant-ui web local

Personalización de Assistant-UI

  • Se esperaba que ofreciera funciones como selector de modelo en desplegable y soporte de múltiples LLM, pero fue limitado
  • Tras revisar ejemplos, se implementó la selección múltiple de modelos directamente con ai-sdk
  • Al inicio también se contempló soportar modelos cloud como OpenAI/Anthropic, con una estrategia gradual de migración a local

Tool-calling y soporte de modelos

  • Se necesitaba un modelo que soportara tool-calling, pero algunos como Ollama en la práctica no lo hacen
  • Aunque la documentación oficial indique soporte de herramientas, muchas veces la implementación real queda corta
  • La rápida evolución del ecosistema open source hace que haya mucha variación en soporte de tools y en precio de tokens

Ejecución de código aislada basada en contenedores

  • Se usa la herramienta Container de Apple; a diferencia de Docker, al ofrecer una VM completamente aislada por contenedor se puede ejecutar con más seguridad código generado por IA
  • Se despliega un servidor Jupyter en el entorno VM y se expone con Model Context Protocol (MCP), listo para ser consumido desde herramientas como Claude Desktop, Gemini CLI, entre otras
  • Se publicaron los códigos del servidor MCP de coderunner y ejemplos de integración con herramientas externas
  • La herramienta Apple Container todavía es inestable, por lo que ante problemas de build o imágenes se necesitan reinicios repetidos
  • Se verificó funcionamiento correcto del combo UI + LLM + Coderunner en pruebas reales, como edición de video

Integración de navegador headless

  • Se despliega un navegador headless basado en Playwright dentro del contenedor y se expone como herramienta MCP
  • Se espera usarlo para explorar herramientas e información nueva, buscar cómo usar GitHub y automatizar investigación
  • Flujo base completado: combinación de LLM local + ejecución sandbox de código + navegador headless

Casos de uso posibles

  • Investigación y resumen de temas específicos
  • Generación y renderizado de gráficos CSV con comandos en lenguaje natural
  • Edición de video con ffmpeg (recorte de segmentos, etc.)
  • Redimensionado, recorte y conversión de formato de imágenes
  • Instalación de herramientas de GitHub dentro del contenedor
  • Extracción y resumen de páginas web con navegador headless, entre otros

Montaje de volúmenes de archivos y aislamiento

  • Se mapea ~/.coderunner/assets del host a /app/uploads en el contenedor, guardando los archivos en un espacio compartido seguro
  • La ejecución de código no tiene acceso directo al sistema host, reforzando la seguridad

Limitaciones y próximos pasos

  • Solo funciona en entornos Apple Silicon, con macOS 26 como opción
  • Se requieren mejoras de UI para la gestión de herramientas y streaming de salida
  • El navegador headless puede ser bloqueado en algunos sitios por detección de bots

Conclusión

  • Este proyecto va más allá de un experimento y apuesta por un modelo centrado en soberanía computacional y protección de privacidad
  • Entrega una experiencia de procesamiento seguro de datos en la máquina personal, sin depender de nube ni servidores remotos
  • Aunque los mejores LLM puedan quedarse en grandes proveedores cloud, se orienta al desarrollo de herramientas de IA local que permitan proteger la privacidad personal
  • coderunner-ui es open source y está disponible en GitHub; se reciben aportes y colaboración

Recursos relacionados

Aún no hay comentarios.

Aún no hay comentarios.