Void: alternativa open source a Cursor/GitHub Copilot
(github.com/voideditor)- Void era un fork de VS Code creado para usar agentes de IA en la base de código, visualizar cambios como checkpoints y permitir traer modelos locales o hosts, pero actualmente está deprecated y ya no acepta contribuciones
- El proyecto sigue siendo open source, y los desarrolladores que quieran hacer un fork de VS Code pueden tomar como referencia la lógica y la estructura de Void
- El README presenta como referencias la integración de React + Tailwind, GitHub Actions para empaquetado, firma y actualizaciones automáticas, código de AI provider implementado directamente, y una estructura para manejar IPC y CSP
- Void afirma que envía los mensajes directamente al provider y no almacena datos, y soporta sintaxis de respuesta como autocomplete (FIM), etiquetas
<thinking>y etiquetas de tools - Más que desarrollar nuevas versiones, actualmente apoya forks y reutilización mediante recursos como Void Forks, Releases anteriores, Codebase Guide, HOW_TO_CONTRIBUTE y void-builder
Estado del proyecto
- Void está deprecated y ya no acepta contribuciones
- Agradece las contribuciones de código y el apoyo de la comunidad, y Void seguirá siendo open source
- Señala que sigue siendo una de las buenas referencias para consultar al hacer un fork de VS Code
Descargas y recursos para forks
- La lista más reciente de forks de Void se puede consultar en Void Forks
- Las versiones anteriores se pueden descargar desde Releases
- Los desarrolladores que hagan forks de VS Code pueden consultar Codebase Guide y How to Contribute
Partes útiles como referencia para implementar un fork de VS Code
- Void monta React + Tailwind
- Como esto no es posible en VS Code normal, amplió el pipeline de build para compilar React y manejar el scope de Tailwind
- Para el scope de Tailwind usa scope
- Se pueden copiar las GitHub Actions para empaquetar, firmar y actualizar automáticamente Void
- Explica que el pipeline de build de VS Code es privado, por lo que normalmente es muy difícil
- El código de AI provider fue implementado desde cero
- Soporta autocomplete (FIM) y respuestas personalizadas
- Expone sintaxis para etiquetas comunes como
<thinking>, etiquetas de tools, etc. - Su arquitectura puede servir como referencia para el uso de IPC y el cumplimiento de CSP
- Para la edición de archivos usa servicios personalizados
- EditCodeService puede mostrar diffs incluso token por token mientras se transmite el código por streaming
- VoidModelService edita archivos en segundo plano y sincroniza los archivos del OS con el buffer de texto
- La lista completa de repositorios que componen Void se puede consultar en repos
Descripción de las funciones de Void
- Void permite usar AI agents en la base de código
- Permite guardar y visualizar cambios como checkpoints
- Permite traer localmente cualquier modelo o host
- Afirma que envía los mensajes directamente al provider y que no almacena datos de usuario
- Este repositorio contiene todo el código fuente de la app Void Desktop
Enlaces de referencia y soporte
- Sitio web: Website
- Roadmap: Roadmap
- Guía para contribuir: Contribute
- Void es un fork del repositorio vscode
- Para desarrollar una versión propia de Void, se pueden consultar HOW_TO_CONTRIBUTE y void-builder
- Los canales de soporte son el Discord server y el correo hello@voideditor.com
1 comentarios
Opiniones en Hacker News
Hace poco intenté refactorizar una app usando VSCode como si fuera una plataforma, y me fue bastante mal por decisiones de diseño de UI que no eran fáciles de sortear ni de mantener
El marketplace de extensiones cerrado de MS tampoco ayudaba a los objetivos open source
En cambio, en HN conocí Theia(https://theia-ide.org), y por ser propiedad de una fundación, tener un marketplace open source y permitir modificarlo todo, parecía encajar mucho mejor con objetivos open source
En teoría también es compatible con la API de extensiones de VSCode, así que recomiendo evaluar Theia para esta app
Últimamente muchos proyectos empezaron a hacerlo así; no todos, pero sí bastantes
O si la mención de “eclipse” es simplemente una desafortunada colisión de nombres
El editor Monaco en teoría forma parte del repositorio de vscode, y el “workbench” con los ajustes/configuración está en una capa superior
Sería bueno tener un artículo que explique bien por qué herramientas como Cursor y Void decidieron crear un editor nuevo en vez de extensiones para editores existentes (extensión de VSCode, plugin de JetBrains)
Me pregunto si es por limitaciones técnicas de la API de extensiones o porque es más fácil marketear un editor nuevo que una extensión de editor
Para individuos o empresas pequeñas puede ser fácil de adoptar, pero en organizaciones grandes, que ya tienen IDEs existentes y varias integraciones, parece una exigencia difícil hacerlas migrar a otro IDE más
Dicen que Command-K y Copilot++ no son posibles como extensión, y que muchas funciones que quieren crear en el futuro tampoco lo serían
https://forum.cursor.com/t/why-not-a-plugin/2448/2
Creo que las extensiones a menudo tienen muchos bugs o son difíciles de integrar de forma natural. Por ejemplo, en Copilot la selección salta, y Codeium u otras extensiones open source tienen limitaciones similares
Muchas extensiones usan un desplegable de selección rápida para que el usuario ingrese prompts, y eso se siente poco natural
Para evitar estos problemas, es importante ser dueño del IDE directamente, como Cursor, y creo que esa es también la razón de su popularidad
Es cierto que adoptar un IDE es difícil. Si se construye sobre una base ya popular, se puede llegar mejor a un grupo pequeño de usuarios, y a largo plazo quieren convencer también a grandes empresas con privacidad y una buena centralización de funciones de AI
Todavía no encontré una razón para usar Cursor asumiendo la desventaja de que sea un “fork”
Aunque últimamente me pasé en su mayoría a Aider
Otra persona mencionó la monetización, y quizá esa sea la verdadera razón
Es bueno que aumente la competencia, pero aunque pueda sonar un poco descortés, la mayoría de los forks de software desaparecen
Me gustaría que me convencieran de por qué debería usar esto en vez de Continue + Claude-dev, que son extensiones open source que funcionan en VSCode básico o VSCodium
Dijeron que “Microsoft también hizo cerrado el marketplace de extensiones”, pero existe Open VSX Registry
Felicitaciones por haber llegado hasta aquí; parece que ahora empieza la parte interesante
Hay bastantes extensiones que ofrecen autocompletado con Tab tipo snippets y editores con AI, pero hasta donde sé, Cursor es el único que implementó bien el flujo de trabajo de autocorrección con “tab-tab-tab-tab” sin ver todo el archivo
Probablemente sea una combinación de hacks de Monaco/VSCode y un modelo ajustado propio, es decir, no un modelo de lenguaje grande estándar; cuando dicen “todas las funciones principales de Cursor”, me pregunto si apuntan a esa parte o si se enfocan en otra cosa
Cursor pudo “importar” bastante bien las extensiones ya descargadas en el perfil local de VSCode, pero a veces tuvo dificultades al usar la API del marketplace para buscar extensiones
Como punto de partida, conviene conformarse con un enfoque de ese tipo, y como están tratando con Microsoft, también deberían prestar atención a cosas como las guías de marca
Es mejor evitar decirle al mundo que están “hackeando” la API de Microsoft. Aunque parezca algo menor, si tienen éxito puede traer problemas
Si también buscan reclutar contribuidores, deberían ordenar mucho el flujo de trabajo de GitHub y CI
Actualmente, el historial de commits consiste en su mayoría en cambios de documentación commiteados directamente a la rama main sin revisión ni verificaciones, y el único commit inicial con verificaciones parece haber desactivado sin más las verificaciones de Monaco después de que fallaran
Si quieren hacer crecer el proyecto o atraer contribuidores del nivel necesario, deben establecer una línea base de pruebas y ordenarlo mucho más
El autocompletado es demasiado bueno, y al refactorizar se siente casi mágico
Después de usar Cursor durante todo un mes, volví a probar VSCode, y en comparación Copilot era realmente pésimo
Quiero seguir usando Cursor, pero no quiero pagar dos suscripciones a Claude. Cursor usa Claude internamente, y yo prefiero Claude Sonnet antes que ChatGPT
Fusiona automáticamente el código generado por la AI con mi código, y yo solo tengo que aprobarlo o rechazarlo
Parece que también usa una AI personalizada para esa función, no funciona trayendo mi clave de API y requiere una suscripción
Es bueno que haya más competencia en el área de los “editores con IA”, pero me pregunto por qué no lo hacen como una extensión de VSCode
El enfoque de extensión parece mucho más accesible
Me pregunto si hay limitaciones en la API de extensiones que dificultan la implementación
Void cuenta con el apoyo de HN
Hay que seguir constantemente las diferencias entre el fork y el producto original, y no quiero tener que lidiar en mi flujo de trabajo con funciones que falten o extensiones que se rompan en ese proceso
Cursor ofrece una experiencia bastante pulida, pero al final volví a VSCode y uso continue.dev. Aunque es mucho más tosco, la UI funciona lo suficientemente bien
Pero con solo una extensión no hay una buena forma de crear la UI nativa que queremos
Por ejemplo, mostrar el antes y el después de los cambios es algo central, pero dentro de una extensión no se siente natural
Extensiones como Codeium usan el método más simple de escribir directamente en el archivo algo como
<<<<<<< DIFF >>>>>>>>, lo que rompe el resaltado de sintaxisOtras extensiones, como Copilot, tienen muchos bugs
Actualmente Void está construido sobre una extensión, pero también estamos modificando e integrando partes del IDE para crear una experiencia de usuario más nativa
Por ejemplo, ahora mi editor con IA favorito es Zed.dev, y permite configurar muy fácilmente varios mapas de teclas, incluidos los de JetBrains
https://zed.dev/
Me arruina todo mi entorno de VSCode, incluidos los atajos de Vim
No sé si de verdad hace falta “poseer” todo el editor para hacer esto
Solo mantener la sincronización con upstream ya es una carga enorme, y no veo qué se gana con eso
Como dijeron otros, también hay registros alternativos, y es más fácil guiar al usuario para que instale un plugin independiente que hacer que descargue e instale todo un editor
Me pregunto si no bastaría con crear su propia extensión de Copilot y conectarla a una instancia de ollama
¿No es eso lo que hace Continue? https://marketplace.visualstudio.com/items?itemName=Continue...
¿Está en una etapa tan temprana que ni siquiera se puede descargar todavía? No entiendo por qué tendría que entrar a un servidor de Discord por un editor de código
Me pregunto cuál será el plan cuando VS Code incorpore todas las funciones
Pero por ahora es realmente básico. Es casi una implementación mínima que hace llamadas a modelos de lenguaje grandes desde un panel lateral y crea una vista para aplicar/rechazar diferencias
Por ahora es casi un proyecto de fin de semana
Tal vez el juego sea ver quién es adquirido por Microsoft y termina formando parte de VS Code
También está PearAI. Dicen que es un editor de código con IA de código abierto, fork de VSCode y Continue
Este espacio se está llenando cada vez más: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI y ahora también Void
https://github.com/trypear/pearai-app
Soy uno de los creadores de https://double.bot
Ojalá alguien hiciera un fork de Omnivim2 para que pueda competir mejor con VS Code
Según entiendo, este editor se ve como VS Code, pero compila de forma nativa y soporta plugins de VS Code
Lamentablemente, el proyecto parece abandonado y está escrito en ReasonML
Estoy cansado de que las herramientas de desarrollo se construyan alrededor del navegador web
En los 90 y los 2000 teníamos apps totalmente nativas que no necesitaban ser tan complejas como ahora
Además, internamente funciona sobre Vim, lo que para mí es más bien una fortaleza
https://github.com/onivim/oni2
Parece una publicación duplicada de otro Show HN que el mismo usuario publicó hace 4 días
https://news.ycombinator.com/item?id=41523197
También está en las FAQ: https://news.ycombinator.com/newsfaq.html#reposts
Solo estamos intentando lanzar rápido