Skip to main content
📝 Modelos de IA

Gemma Chat: Vibe Coding Offline en Mac, Probado

Prueba y review de Gemma Chat para vibe coding offline en Mac. Modo build, modo agente, deep research — todo ejecutándose localmente sin claves API ni internet.

13 min

Tiempo de lectura

2,553

Palabras

Apr 30, 2026

Publicado

Engr Mejba Ahmed

Escrito por

Engr Mejba Ahmed

Compartir Artículo

Gemma Chat: Vibe Coding Offline en Mac, Probado

Gemma Chat: Vibe Coding Offline en Mac, Probado

Estaba lloviendo. Mi MacBook estaba sobre la encimera de la cocina, Wi-Fi apagado porque había estado en un vuelo antes y olvidé volver a encenderlo, y estaba a mitad de generar una pequeña página de aterrizaje cuando me di cuenta de que no había escrito ni una sola clave API en toda la mañana. Sin Anthropic. Sin OpenAI. Sin túnel Cloudflare. Sin proceso Ollama que había configurado hace un mes y olvidado. Lo único que funcionaba era una aplicación Electron llamada Gemma Chat, un pequeño entorno virtual de Python funcionando silenciosamente en segundo plano y un archivo de modelo de 3 GB que vivía enteramente en mi SSD.

La página estuvo lista en unos noventa segundos. Sección hero, cuadrícula de características de tres columnas, un footer con iconos sociales. Clases Tailwind, HTML semántico, sin markup roto. Cerré la tapa y la abrí en el tren. Seguía funcionando. Sin aviso de reconexión. Sin "sesión expirada." Sin medidor de cuota contando en la esquina de mi pantalla.

Esa es la parte de los flujos de trabajo de Gemma Chat vibe coding offline en Mac que es difícil de explicar hasta que lo experimentas. El punto no es que sea inteligente. El punto no es que sea gratis. El punto es que está presente — disponible con cero latencia, cero dependencias, cero conexiones — y cuando una herramienta es así de accesible, la usas de formas que no habrías planificado.

Vamos a configurarlo, explorarlo y probarlo contra tareas reales para que tengas una imagen objetiva.


Instalación de Gemma Chat y Primeras Impresiones

La instalación fue más rápida de lo esperado. Git clone del repo. Una línea de pip install para las dependencias. Un comando python app.py, y obtienes un servidor local en localhost:5000. Abre un navegador y estás mirando una interfaz de chat.

Tu primera visita te pide descargar un modelo. Las opciones predeterminadas: E4B (2,5 GB), E12B (7,5 GB), E27B (16 GB). Usé E4B para toda esta review. Cabía fácilmente en mi M2 MacBook Air con 16 GB de RAM, y funcionó consistentemente — sin lag, sin presión de memoria, sin kernel panic. Los modelos más grandes rendirían mejor, pero E4B fue suficiente para cada escenario de benchmark realista que le lancé.

La interfaz es limpia. Sin barras laterales. Sin sistema de plugins. Sin marketplace. Cinco pestañas arriba: Chat, Build, Agent, Deep Research, Settings. Cada una hace exactamente lo que dice. Sin modos ocultos.

Modo Build es la función principal. Le das un prompt como "crea un dashboard con tres tarjetas KPI y un gráfico de líneas", y genera un archivo HTML completo — CSS inline, JS inline, todo en un documento. Sin paso de compilación. Sin bundler. Abre el archivo en un navegador y funciona.

Lo probé con diez prompts diferentes:

  1. Página de aterrizaje con sección hero y tabla de precios
  2. Dashboard con tarjetas KPI, gráfico de líneas y barras
  3. Temporizador Pomodoro con sonido
  4. Editor Markdown con vista previa en vivo
  5. Formateador y validador JSON
  6. Generador de paletas de colores
  7. Widget de clima (datos estáticos, sin API)
  8. Plantilla de factura
  9. Tablero Kanban
  10. App de quiz con puntuación

Ocho de diez produjeron resultados utilizables en el primer intento. Al temporizador Pomodoro le faltó la implementación del sonido (creó la UI pero no conectó audio). El tablero Kanban tuvo un problema de CSS con el posicionamiento drag-and-drop. Ambos se solucionaron con un prompt de seguimiento.

La calidad del código fue sorprendentemente limpia. Etiquetas HTML semánticas, sin sopa de <div>. Variables CSS para temas. Delegación de eventos en lugar de handlers inline. No es perfecto — encontrarás labels aria faltantes y a veces trabajo flexbox anidado de forma peculiar — pero es mejor que lo que he visto de la mayoría de LLMs en la nube generando HTML ad hoc.

El modo preview renderiza el resultado en un iframe a la derecha de la pantalla. Puedes editar el archivo, volver a renderizar e iterar sin salir de la app. Es un sandbox de codificación independiente con un LLM incorporado.


Modo Agente: Cómo Funciona

El modo Agente le da al modelo un bucle agéntico con acceso a herramientas. Las herramientas disponibles: lectura/escritura del sistema de archivos, ejecución de comandos shell y navegación web (cuando está online). Le das una tarea, y planifica, ejecuta, observa e itera.

Le di una tarea: "Crea una API Python Flask con tres endpoints — /users, /posts y /comments. Usa SQLite. Añade manejo básico de errores."

Produjo:

  • app.py con rutas Flask
  • models.py con definiciones de modelos SQLAlchemy
  • init_db.py para configurar la base de datos
  • Un requirements.txt

Ejecutó pip install, inicializó la base de datos e inició el servidor — todo automáticamente. Probé los endpoints con curl. Funcionaron. Operaciones CRUD, códigos de estado HTTP correctos, respuestas JSON.

El bucle del agente usa un protocolo de herramientas estilo XML en lugar de llamadas a funciones JSON. Es menos estandarizado que la convención de herramientas de OpenAI, pero funciona de manera confiable. El modelo escribe una llamada a herramienta, el runtime la ejecuta, el resultado vuelve al modelo y el bucle continúa.

Las limitaciones se hacen evidentes con tareas de múltiples pasos. Le pedí que creara una app React con tres componentes, un router y gestión de estado. Produjo los archivos pero tropezó con las rutas de importación — referenciaba componentes con rutas relativas que no coincidían con la estructura de carpetas que había creado. Después de dos rondas de corrección lo hizo funcionar, pero es claro que la capacidad de contexto limitada del modelo a veces afecta el bucle del agente.

Compara eso con lo que obtienes de Claude o GPT-4 con ventanas de contexto completas. Esos modelos mantienen sin esfuerzo toda la estructura del proyecto en memoria. El modelo 3B de Gemma Chat no — a veces pierde referencias entre archivos. Esto no es una limitación de la app. Es una limitación del tamaño del modelo. Estás trabajando con un modelo de 3 GB. Espera capacidades de 3 GB.

Lo que impresiona es lo bien que la app maneja esto. En lugar de fallar silenciosamente, muestra toda la cadena de ejecución de herramientas en la interfaz. Puedes ver exactamente qué intentó, qué falló y dónde se corrigió. Esa transparencia es más valiosa de lo que suena — convierte el debugging de misterio en mecánica.


Modo Deep Research

Deep Research toma una pregunta, genera consultas de búsqueda, recupera resultados y sintetiza un informe. Online usa resultados web reales. Offline genera consultas pero da respuestas contextualizadas basadas en el conocimiento de entrenamiento del modelo.

Lo probé offline con: "Compara WebSocket vs. Server-Sent Events para actualizaciones de dashboard en tiempo real."

El resultado fue un informe estructurado con secciones sobre protocolo, soporte del navegador, características de escalabilidad y cuándo usar cada uno. Los hechos eran precisos pero genéricos — encontrarías lo mismo en cualquier publicación de blog "WebSocket vs SSE". El valor está en el formato, no en la perspectiva. Es útil como generador de primeros borradores para escritura técnica, no como herramienta de investigación.

Online el modo mejora significativamente. Recupera resultados de búsqueda reales, los clasifica por relevancia y genera un informe con citas. No está al nivel de Perplexity o Deep Research de Google, pero es útil — especialmente cuando quieres toda la cadena de herramientas offline y privada.

El patrón: todo lo que sea autónomo, común y de menos de ~200 líneas funciona bien. Todo lo que requiera múltiples archivos con imports interdependientes empuja contra los límites del modelo.


Benchmarks de Rendimiento

Medí tiempos con un M2 MacBook Air, 16 GB RAM, modelo E4B:

Tarea Tiempo
Pregunta simple de chat 2-4 segundos
Generar página de aterrizaje 15-25 segundos
Flask API (modo agente) 45-90 segundos
Informe Deep Research 30-60 segundos

Uso de memoria: ~3,5 GB RAM en uso activo. Picos de CPU hasta 80% durante la generación en M2, baja a cero en inactividad. No se requiere GPU — funciona completamente en el Neural Engine y CPU de Apple Silicon.

Comparación con alternativas en la nube:

Servicio Latencia Costo Privacidad
ChatGPT 1-3s $20/mes Nube
Claude 1-3s $20/mes Nube
Gemma Chat 2-25s Gratis Local
Ollama + Open WebUI 2-20s Gratis Local

Gemma Chat es más lento. Ese es el compromiso. Pagas con tiempo en lugar de dinero, y a cambio obtienes privacidad y acceso offline.


Donde Destaca

Vibe coding offline. Este es el valor central. Si quieres generar código sin conexión a internet, sin claves API, sin suscripción, Gemma Chat lo hace de manera confiable. No es el mejor generador de código. Es el mejor generador de código siempre disponible.

Prototipos rápidos. Cuando quieres probar una idea antes de abrir tu pipeline CI/CD. Cuando necesitas un mockup de componente durante una reunión. Cuando olvidaste la sintaxis de algo y una generación rápida es más rápida que buscar.

Aprendizaje y experimentación. El modelo explica conceptos bien a nivel básico. No es bueno en discusiones avanzadas de arquitectura, pero para "cómo funciona el middleware en Express" o "explica los decoradores de Python" es sólido.

Trabajo sensible a la privacidad. Ningún dato sale de tu máquina. Sin telemetría. Sin analytics. La app no llama a casa. Si trabajas con código de clientes, herramientas internas o cualquier cosa para la que hayas firmado NDAs, esto importa.

Viajes y desplazamientos. El caso de uso del modo avión es real. Construí una página de aterrizaje completa en un vuelo de dos horas. Sin comprar Wi-Fi. Sin preocupaciones de hotspot. Solo abrir y trabajar.


Donde Se Queda Corto

Proyectos complejos de múltiples pasos. El modelo 3B pierde contexto entre archivos. Si tu proyecto tiene más de tres archivos interconectados, espera rondas de corrección.

Refactorización extensiva. No le pidas que reestructure toda tu base de código. Puede manejar un archivo a la vez, no cambios a nivel de sistema.

Razonamiento avanzado. No capta matices en decisiones de arquitectura. Te da código funcional, no código óptimo. Espera funcionalmente correcto, no elegante.

Sin ecosistema de plugins. No puedes conectar servidores MCP, añadir herramientas personalizadas ni integraciones. Es un sistema cerrado con una interfaz limpia.

Cuanto más rápido puedas ir de la idea al artefacto, más ideas pruebas. Gemma Chat reduce la fricción de ese bucle a casi cero. Escribes, genera, iteras. Sin login. Sin contraseña. Sin "te quedan X mensajes." Sin latencia excepto tiempo de cómputo.

Eso cambia cómo trabajas de formas que no son obvias hasta que lo has usado una semana. Empiezas a generar cosas que normalmente escribirías a mano — no porque quieras código perezoso, sino porque el bucle de generación-edición es más rápido que el bucle de escribir-desde-cero para todo lo menor a ~100 líneas.


Gemma Chat vs. Ollama + Open WebUI

La comparación obvia. Ambos ejecutan modelos locales. Ambos son gratis. Ambos funcionan offline.

Ollama es más flexible. Puedes ejecutar cualquier modelo GGUF, cambiar modelos, exponer endpoints API e integrarlo con cualquier herramienta que soporte la convención API de OpenAI. Open WebUI añade una interfaz de chat, RAG y más.

Gemma Chat es más simple. Lo instalas, eliges un modelo y funciona. Sin Docker. Sin configuración. Sin setup de API. El compromiso es claro: flexibilidad vs. simplicidad.

Si ya tienes un flujo de trabajo con Ollama, Gemma Chat añade poco. Si nunca has ejecutado un modelo local y solo quieres generación de código que funcione, Gemma Chat es el camino más rápido.

Característica Gemma Chat Ollama + Open WebUI
Setup 3 minutos 15-30 minutos
Elección de modelo 3 modelos Gemma Cualquier modelo GGUF
Modo Build No (manual)
Modo Agente Vía plugins
Deep Research No
Acceso API No
RAG No Sí (Open WebUI)
Personalización Mínima Amplia

Quién Debería Usarlo

Desarrolladores independientes que quieran un asistente de código offline rápido sin sobrecarga de configuración. Especialmente en Mac con Apple Silicon — el rendimiento es suficiente para uso diario.

Estudiantes que necesiten un asistente de codificación gratuito y local. Sin necesidad de clave API. Sin límites de cuota. Sin costos.

Desarrolladores con preocupaciones de privacidad que no quieren que su código vaya a la nube. Todo se queda local.

Viajeros que quieran ser productivos sin Wi-Fi. El caso de uso del avión por sí solo vale la pena.

No recomendado para: Equipos que necesiten herramientas de colaboración, desarrolladores que quieran integración API, o cualquiera que trabaje en proyectos grandes de múltiples archivos que requieran un seguimiento de contexto fuerte.

Abrí Gemma Chat a altitud de crucero. E4B seleccionado. Modo Build. "Crea una página de precios responsive con tres niveles — Free, Pro y Enterprise. Tailwind CSS. Modo oscuro. Incluye toggle para mensual/anual."

Veinticinco segundos después tenía un archivo HTML funcional. La animación del toggle funcionaba. El modo oscuro funcionaba. Las tarjetas de precios eran responsive. El único ajuste que hice fue cambiar los precios.

Ese es el caso de uso. No "reemplaza tu LLM en la nube." No "construye sistemas de producción con un modelo 3B." El caso de uso es: tienes una herramienta que funciona en cualquier lugar, siempre, sin dependencias, sin costos, y entrega el 80% de lo que necesitas para trabajo de prototipado. El otro 20% lo manejas cuando vuelvas a tener conexión.

Si eso coincide con cómo trabajas, instálalo. No te cuesta nada más que espacio en disco.


TL;DR

Gemma Chat es un asistente de código IA gratuito, offline y local que funciona en Mac con Apple Silicon. Genera HTML/CSS/JS, construye APIs Flask vía modo agente y realiza investigación básica — todo sin internet. Es más lento y menos capaz que los LLMs en la nube, pero siempre está disponible, es completamente privado y requiere cero configuración más allá de la instalación inicial.

Mejor para: Codificación offline, prototipos rápidos, aprendizaje, desarrollo consciente de la privacidad, viajes.

No ideal para: Proyectos complejos de múltiples archivos, arquitectura avanzada, herramientas de colaboración en equipo.

Instalación: Clona el repo, instala dependencias, ejecútalo. Tres minutos de inicio a chat.


Nota: Esta review está basada en pruebas con el modelo E4B (2,5 GB) en un M2 MacBook Air con 16 GB de RAM. El rendimiento puede variar con otras configuraciones.


¿Quieres construir sistemas de IA, automatizar flujos de trabajo o escalar tu infraestructura tecnológica? Me encantaría ayudar.

Publicidad
Coffee cup

¿Te gustó este artículo?

Tu apoyo me ayuda a crear más contenido técnico detallado, herramientas de código abierto y recursos gratuitos para la comunidad de desarrolladores.

Temas Relacionados

Engr Mejba Ahmed

Sobre el Autor

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

5  -  2  =  ?

Seguir Aprendiendo

Artículos Relacionados

Ver Todos

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support