- Tabby es un asistente de codificación con IA autoalojado que se ofrece como una alternativa open source y on-premises a GitHub Copilot, con el objetivo de operar sin servicios en la nube
- El servidor promueve una configuración autónoma que no requiere DBMS ni servicios en la nube, y está diseñado para integrarse fácilmente con infraestructura existente, como Cloud IDE, mediante una interfaz OpenAPI
- El entorno de ejecución admite GPU de consumo, y con un solo comando Docker se puede levantar el servidor usando el modelo de código
StarCoder-1B y el modelo de chat Qwen2-1.5B-Instruct
- Las actualizaciones recientes incluyen v0.30, que indexa GitLab Merge Requests como contexto; v0.29, que permite agregar documentación propia mediante una REST API; y v0.28, que convierte mensajes de Answer Engine en Pages compartibles
- Se ofrecen extensiones para IDE/Editor, documentación de instalación y configuración, y una guía de contribución; si se prepara el entorno de Rust y algunas dependencias, se puede compilar directamente con
cargo build
El rol y las características básicas de Tabby
- Tabby es un asistente de codificación con IA autoalojado, una alternativa open source y on-premises a GitHub Copilot
- Sus características principales se resumen en tres puntos
- Al ser autónomo, no requiere DBMS ni servicios en la nube
- Ofrece una interfaz OpenAPI, lo que facilita su integración con infraestructura existente, como Cloud IDE
- Admite GPU de consumo
- El proyecto ofrece enlaces a la documentación, Slack y roadmap
- La demo en vivo se puede abrir desde el sitio web de Tabby
Cambios recientes
- 2025-12-12: se ofrece
vscode@0.20.0, que vincula issues de GitHub con tareas de Pochi para implementarlas, y permite crear PR desde la barra lateral junto con el análisis de resultados de CI/Lint/Test
- 2025-07-02: v0.30 incorpora soporte para indexar GitLab Merge Requests como contexto
- 2025-05-25: se ofrece información para sumarse a la lista de espera de la vista previa privada de Agent
- 2025-05-20: en v0.29, se puede agregar documentación propia a Tabby mediante una REST API
- 2025-05-01: v0.28 convierte los mensajes de Answer Engine en Pages persistentes y compartibles
- 2025-03-31: v0.27 ofrece un menú
@ más completo en el panel lateral de chat
Alcance de funciones reflejado en actualizaciones anteriores
- Answer Engine se presentó en v0.13.0 como un motor central de conocimiento para equipos internos de ingeniería, y entrega respuestas integrándose con datos internos del equipo de desarrollo
- Tabby ha ido agregando funciones de integración y configuración como GitLab SSO, GitHub/GitLab autoalojados, integración con HTTP API y repo-context en Code Browser
- El flujo de plugins de IDE incluye actualizaciones para VSCode/Vim/IntelliJ, panel lateral de chat en VSCode, edición mediante comandos de chat, varias opciones de autocompletado en línea y mensajes de commit generados automáticamente
- El autocompletado de código aprovecha fragmentos locales relevantes, como declaraciones LSP locales y código modificado recientemente; en v0.3.0, el autocompletado de código basado en RAG se activó de forma predeterminada
- En cuanto al soporte de modelos, se mencionan CodeGemma, CodeQwen, Codestral, soporte experimental para CodeLlama 7B y soporte de inferencia Apple M1/M2 Metal
Cómo empezar y ejemplo de ejecución
- La documentación inicial está disponible en Getting Started
- La forma más sencilla de ejecutar el servidor es usar un comando de Docker
docker run -it \
--gpus all -p 8080:8080 -v $HOME/.tabby:/data \
tabbyml/tabby \
serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
- Las opciones adicionales incluyen configuraciones como el tipo de inferencia y la paralelización, y se pueden consultar en una página de documentación separada
Contribución y compilación
- La guía completa de contribución está en CONTRIBUTING.md
- El código fuente se clona junto con los submódulos
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
- Si ya clonaste el repositorio, puedes obtener todos los submódulos con el comando
git submodule update --recursive --init
- Los requisitos previos antes de compilar son los siguientes
- Configuración del entorno de Rust
- macOS:
brew install protobuf
- Ubuntu/Debian:
apt install protobuf-compiler libopenblas-dev
- Herramientas útiles para Ubuntu:
apt install make sqlite3 graphviz
- Una vez completada la preparación, puedes compilar Tabby con
cargo build
- El flujo de contribución continúa con el envío de un Pull Request después de realizar cambios
1 comentarios
Opiniones en Hacker News
La demo de completar la función
findMaxElementen la página principal parece un ejemplo que muestra bien lo que viene, o quizá incluso el estado actualLas 6 líneas de Python sugeridas para esa función podrían reemplazarse simplemente con
return max(arr), y aunque funcionan, son código totalmente de nivel juniorEse código terrible en sí ya da miedo, pero me preocupa más que las personas que lo autocompleten a ciegas dejen de mejorar sus habilidades
Tal vez puedan ganar story points, pero queda la duda de si realmente mejoraron como desarrolladores
Pero para entender ese 20%, también hay que entender el 80% que procesó el LLM, así que no me preocupa demasiado, ya que el LLM no puede encargarse de todo hasta el despliegue
Como lenguaje máquina → ensamblador → C → Python → LLM (lenguaje natural), sería como compilar prompts humanos a un código intermedio como Python
Las primeras versiones de CPython seguramente tampoco eran perfectas y los ingenieros también se habrán sentido inquietos. Con suerte, este nuevo “compilador” también mejorará y se volverá más eficiente, aunque no será perfecto
Aun así, podríamos terminar pagando un costo similar al que ya pagamos por no tratar directamente con ensamblador
Ahora apareció la IA y empezamos a pedirle que las haga por nosotros; al final ya no sabemos nada ni podemos hacer nada
No esperaba que nuestro proyecto llegara a la portada de HN un domingo
Tabby ha avanzado mucho desde su lanzamiento hace 2 años https://www.tabbyml.com, y ahora se convirtió en una plataforma de desarrollo con IA integral, con completado de código y chat sobre la base de código
Para uso en equipos/empresas, también admite SSO, control de acceso y autenticación de usuarios https://demo.tabbyml.com/search/how-to-add-an-embedding-api-...
Los usuarios que lo adoptaron descubrieron que Tabby es la única plataforma que ofrece onboarding autoservicio completo en un esquema on-premise, y como su rendimiento también es comparable con otras opciones del mercado, recomiendo probarlo si tienen curiosidad
https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
https://www.linkedin.com/posts/kelvinmu_last-week-i-introduc...
Como alguien que no sabe mucho de IA local pero quiere probarla, me pregunto qué tan cerca está “run tabby in 1 minute” https://github.com/TabbyML/tabby#run-tabby-in-1-minute de, por ejemplo, 4o-mini gratis de ChatGPT
Quiero saber si al ejecutar el siguiente comando de Docker en una MacBook Pro de gama media puedo usar una IA con velocidad y capacidad similares, o si todavía no llega a ese nivel
docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-InstructVeo que hay una página de instrucciones separada para MacBook y más contexto https://tabby.tabbyml.com/docs/quick-start/installation/appl...
Dice: “La capacidad de cómputo de M1/M2 es limitada, por lo que puede ser suficiente para uso personal, pero si necesitas una instancia compartida para un equipo, considera hosting con Docker basado en CUDA o ROCm”
Los modelos muy pequeños, como 1.5B, son bastante tontos y no son buenos para generar código de forma conversacional, pero incluso los modelos de 3B o menos pueden hacer bastante bien sugerencias de autocompletado con Tab
También hay modelos “abiertos” más grandes que se pueden correr en local, y los modelos en el rango de 32B–70B pueden ser mucho mejores que gpt-4o-mini en casi todo, incluida la escritura de código. Por ejemplo,
llama3.3-70b-instructyqwen2.5-coder-32b-instructson bastante buenosSi de verdad te falta RAM,
qwen2.5-coder-7b-instructocodegemma-7b-ittambién pueden servir para tareas simplesDecir “MacBook Pro de gama media” no alcanza; lo importante es cuánta RAM tiene. Como regla general, se necesita alrededor de 1GB de RAM por cada 1B de parámetros
Con cuantización fuerte pueden ser 500MB, y con modelos sin cuantizar alrededor de 2GB, pero la cuantización de 8 bits suele rondar 1GB y en general funciona bien
El “interruptor de telemetry de IDE / extensión” no se puede desactivar en la Community Edition. Da curiosidad saber qué incluye esa telemetría.
struct HealthState {model: String,chat_model: Option,device: String,arch: String,cpu_info: String,cpu_count: usize,cuda_devices: Vec,version: Version,webserver: Option,}https://tabby.tabbyml.com/docs/administration/usage-collecti...
Estoy usando Continue.dev y ollama para un propósito similar, y siempre es bienvenido que haya más herramientas en este campo.
Pero, como de costumbre, para correr un modelo realmente bueno, por ejemplo Qwen2.5-coder 32B, se necesita hardware bastante potente.
Todos los ejemplos son código que normalmente uno esperaría encontrar en una biblioteca, y parte del código incluso tiene calidad dudosa.
¿Los LLM se van a convertir en bots de spam para las bases de código?
Según “cómo aprovechar varias GPU NVIDIA”, Tabby solo admite una GPU, y para usar varias GPU hay que levantar varias instancias de Tabby y configurar
CUDA_VISIBLE_DEVICESpara CUDA oHIP_VISIBLE_DEVICESpara ROCm.Entonces me pregunto si no se admite usar para inferencia 2 GPU conectadas con NVLink, o si es una situación distinta porque NVLink trata las dos GPU como si fueran una sola.
Se puede ver un ejemplo en https://tabby.tabbyml.com/docs/references/models-http-api/vl....
Es un proyecto genial. Me gusta especialmente la idea de no tener que enviar datos a una gran empresa ni confiar en sus términos.
La efectividad de un asistente de programación es directamente proporcional a la longitud de contexto, pero los modelos abiertos que se pueden correr en una computadora personal suelen ser mucho más pequeños.
Sería bueno tener datos que cuantifiquen qué tan útil es en bases de código más complejas.
Me da curiosidad el hardware recomendado. ¿Hace falta una GPU? ¿Podría correr decentemente en una Ryzen APU vieja (Zen 3 y gráficos Vega 7)?
Tener o no gráficos integrados no hace mucha diferencia, y si se corre solo con CPU, el modelo se ejecuta igual extremadamente lento.
La razón por la que las Mac son razonablemente buenas para LLM es el ancho de banda de memoria inusualmente alto de Apple Silicon, pero aun así quedan muy lejos de la velocidad de una GPU de gama alta con VRAM muy rápida.
Para un modelo muy pequeño usado en autocompletado con tabulación, probablemente una CPU AMD vieja pueda manejarlo aceptablemente.
Muy bueno. Me alegra especialmente que tenga cliente para Eclipse https://github.com/TabbyML/tabby/tree/3bd73a8c59a1c21312e812...
Eso sí, tuve que buscar un poco para encontrar información sobre el cliente de Eclipse. No estaba ni en el README principal ni en la lista de extensiones de IDE de la documentación.
No sé si es una simple omisión o si todavía no está listo para “lanzarse en serio”.