Tabby: instalar un autocompletado de código en local autoalojada
Cline y Aider ofrecen chat y modo agente, pero no ofrecen el autocompletado en línea con «texto en gris» que aparece mientras escribes, el rasgo distintivo de GitHub Copilot. Tabby cubre precisamente esa carencia: es un servidor de autocompletado de código autoalojado, de código abierto (Apache 2.0), que se ejecuta en Docker en tu GPU y ofrece sugerencias Fill-In-the-Middle directamente en el editor. Esta guía explica cómo instalarlo paso a paso, configurar un modelo StarCoder o Qwen-Coder, generar el token, conectar VS Code y JetBrains y usar una sola GPU para dar servicio a todo un equipo, sin que tu código salga nunca de tu infraestructura.
#¿Por qué Tabby en lugar de Cline?
Tabby y Cline no son competidores: son complementarios. Cline (y Aider) destaca en el chat conversacional y el modo agente multiarchivo, pero ninguno de los dos ofrece autocompletado línea por línea mientras escribes. Tabby solo hace eso, y lo hace muy bien. El combo ganador en 2026: Cline para conversar y refactorizar, Tabby para la sugerencia en gris que aparece mientras escribes.
- Texto en gris en línea
- La sugerencia se muestra directamente después del cursor, en gris. Presiona Tab para aceptar y Escape para ignorar. Exactamente la experiencia de usuario de Copilot.
- 100 % autoalojado
- El servidor corre en tu equipo (Docker). Ningún fragmento de código se envía a un tercero — ideal para NDA y código en sectores regulados.
- Multi-utilisateurs
- A diferencia de una extensión puramente local, Tabby es un servidor: una sola GPU puede dar servicio a todo un equipo a través de la red.
- Telemetría desactivable
- Tabby envía estadísticas anónimas por defecto; una variable de entorno desactiva por completo ese envío. El código fuente que escribes nunca se transmite.
#Prerrequisitos
Esta guía te lleva al modelo. El kit te lleva al copiloto que programa en tu editor.
- Espacio en línea de por vida
- PDF + archivos
- Actualizaciones de por vida
- Docker
- Tabby se despliega en contenedor. Docker Desktop en Windows/macOS, Docker Engine en Linux.
- GPU NVIDIA (recomendado)
- Con NVIDIA Container Toolkit para acceder a CUDA. Tabby también funciona en CPU, pero la latencia del autocompletado en línea resulta incómoda.
- ~6 GB de VRAM
- Suficiente para un modelo de completado de 1B–3B cuantizado. Más VRAM = un modelo más grande o más desarrolladores en paralelo.
- Un editor
- VS Code o un IDE JetBrains (IntelliJ, PyCharm, WebStorm, etc.). La extensión Tabby existe para los dos.
#¿Qué modelo de autocompletado?
El autocompletado en línea tiene una limitación que el chat no tiene: la latencia. La sugerencia debe aparecer en unos pocos cientos de milisegundos; de lo contrario, escribirás más rápido de lo que tarda en aparecer. Por eso se prefieren modelos Fill-In-the-Middle (FIM) compactos, en su variante -base, y no los grandes modelos instruct del chat.
| VRAM | Modelo de completación | Nota |
|---|---|---|
| 4–6 GB | StarCoder2 3B | Ágil, multilingüe, una buena opción predeterminada para Tabby. |
| 6–8 GB | Qwen2.5-Coder 1.5B / 3B (base) | FIM excelente, muy rápido, FR/Python/TS. |
| 8–12 GB | Qwen2.5-Coder 7B (base) | LA referencia FIM de 2026 (4,7 GB): sugerencias claras, latencia todavía baja. |
| 12 GB+ | StarCoder2 7B / Qwen-Coder 7B | Para que varios desarrolladores compartan un mismo servidor. |
#1. Iniciar Tabby en Docker
Se inicia el servidor Tabby con acceso a la GPU, un volumen persistente para los datos y un modelo de autocompletado elegido. El puerto 8080 expone la interfaz web y la API.
- 01Verificar el arranqueEn la primera ejecución, Tabby descarga el modelo (tarda unos minutos). Sigue los logs con docker logs -f tabby hasta que aparezca el mensaje que indica que el servidor escucha en el puerto 8080.
- 02Abrir la interfaz webVisita http://localhost:8080. La primera vez que accedas, se te pedirá que crees una cuenta de administrador (correo electrónico + contraseña). Todo es local: estas credenciales permanecen en tu volumen ~/.tabby.
- 03Probar el autocompletadoLa pestaña « Playground » de la interfaz permite comprobar que el modelo responde antes de conectar un editor.
#2. Crear el token de acceso
Los editores se autentican ante el servidor Tabby mediante un token. Esto permite, cuando se trabaja en equipo, saber quién se conecta y revocar un acceso sin romperlo todo.
- 01Ir a los ajustesEn la interfaz web (http://localhost:8080), abre la sección cuentas/seguridad. Allí se muestra el token del usuario actual.
- 02Copiar el tokenRecupera la cadena de caracteres (a menudo prefijada con auth_). Es esta la que las extensiones de VS Code y JetBrains pedirán.
- 03Regenerar si es necesarioEn caso de fugas o salida de un colaborador, regenera el token desde la interfaz: el anterior se invalida inmediatamente.
#3. Conectar VS Code
- 01Instalar la extensiónExtensions (Ctrl+Shift+X) → buscar «Tabby» (editor TabbyML) → Install.
- 02Especificar el endpointLa primera vez que se inicia, la extensión pide la URL del servidor. Introduce http://localhost:8080 (o la IP del servidor compartido en la red).
- 03Pegar el tokenIntroduce el token de acceso copiado en la etapa anterior. El icono Tabby en la barra de estado debe pasar a verde (conectado).
- 04CoderEscribe código: la sugerencia en gris aparece después del cursor. Presiona Tab para aceptarla, continúa escribiendo para ignorarla.
#4. Conectar JetBrains
La misma configuración funciona en toda la gama de JetBrains: IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, etc. La extensión Tabby es un plugin único compatible con la plataforma.
- 01Instalar el pluginSettings → Plugins → Marketplace → buscar «Tabby» → Install, luego reiniciar el IDE.
- 02Configurar la conexiónSettings → Tools → Tabby: introduce el endpoint (http://localhost:8080) y el token de acceso.
- 03VerificarEl indicador Tabby en la barra de estado confirma la conexión. Las sugerencias en línea aparecen como en VS Code.
#5. Configurar Tabby para que apunte a tu Ollama
Si ya estás ejecutando Ollama para Cline o Aider, no es necesario cargar un segundo motor de inferencia: Tabby puede utilizar un backend de Ollama a través de su protocolo compatible con OpenAI. Así, compartes un único servidor de modelos para el autocompletado y el chat.
En cuanto a Tabby, se declara el backend HTTP en lugar de un modelo local. La configuración se realiza en el archivo config.toml del volumen de datos (~/.tabby/config.toml), donde se apunta el motor de completado hacia la API Ollama.
#6. Compartir la tarjeta gráfica entre varios desarrolladores
Esta es la ventaja decisiva de Tabby sobre una extensión puramente local: un solo servidor, una sola GPU, varios desarrolladores. Instalas Tabby en una máquina equipada con una GPU (un equipo dedicado, un servidor del equipo de desarrollo) y cada desarrollador configura su editor para conectarse a esa dirección de red.
- Exponer en red
- El puerto 8080 debe ser accesible desde los ordenadores de los desarrolladores. Internamente, la IP local del servidor es suficiente (http://192.168.x.x:8080).
- Un token por dev
- Crea una cuenta/token por desarrollador en la interfaz. Mantienes la trazabilidad y puedes revocar cada acceso de forma individual.
- Dimensionar el GPU
- Un modelo compacto de autocompletado (1.5B–3B) atiende a varios desarrolladores en paralelo sin saturarse. Como el autocompletado es breve, las peticiones rara vez se solapan.
- Reverse proxy + HTTPS
- Para acceder desde fuera de la LAN, coloca Tabby detrás de un proxy inverso (Caddy, Nginx) con TLS. Nunca expongas el puerto 8080 directamente a Internet sin protección.
#Ajustes de rendimiento y solución de problemas
- Latencia demasiado alta
- Baja un nivel de modelo (3B → 1.5B), verifica que --device cuda esté activo (no un fallback a CPU) y limita la longitud máxima de las sugerencias.
- Sin sugerencias
- Revisa el icono de estado de la extensión (token y endpoint correctos) y comprueba que el contenedor esté funcionando (docker ps). El Playground web permite determinar si el problema está en el servidor o en el editor.
- Sugerencias fuera de tema
- Casi siempre se debe a un prompt_template FIM incorrecto o a una variante instruct en lugar de -base. Vuelve a usar un modelo base y la plantilla FIM correcta.
- Indexación del repositorio (RAG)
- Tabby puede indexar tu código para ofrecer sugerencias más contextuales. Actívalo en la interfaz si la GPU tiene margen; desactívalo si la latencia empeora.
- Memoria GPU saturada
- Si varios modelos coexisten (Tabby + Cline a través de Ollama), cuantiza la caché KV y supervisa la VRAM con nvidia-smi.
#Preguntas frecuentes
¿Tabby reemplaza a Cline o Copilot?+
¿Se necesita un GPU para Tabby?+
¿Mi código se envía a algún lugar?+
¿Puedo reutilizar mi Ollama existente?+
¿Cuántos desarrolladores puede atender un solo servidor Tabby?+
#Conclusión
Ahora tienes un servidor de autocompletado de código 100 % autoalojado: Tabby en Docker en tu GPU, un modelo StarCoder o Qwen-Coder en Fill-In-the-Middle, un token de acceso y las sugerencias en gris al estilo de Copilot tanto en VS Code como en JetBrains, con la posibilidad adicional de dar servicio a todo un equipo desde una sola GPU. Combinado con Cline para el chat y el agente, el conjunto está completo y tu código nunca sale de tu infraestructura. Si quieres evitar horas de ajustes (plantillas FIM, configuraciones de Ollama, modelos por rol), la guía de pago «Copiloto de código local» ofrece un paquete Ollama + Cline + Aider listo para usar, que puedes complementar con Tabby para el autocompletado en línea.
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.