Void - Alternative open source à Cursor/GitHub Copilot
(github.com/voideditor)- Void était un fork de VS Code conçu pour utiliser des agents IA dans une base de code, visualiser les modifications sous forme de checkpoints et importer des modèles locaux ou n’importe quel hôte, mais le projet est désormais deprecated et n’accepte plus de contributions
- Le projet reste open source, et les développeurs qui souhaitent forker VS Code peuvent s’appuyer sur la logique et la structure de Void
- Le README présente comme références l’intégration React + Tailwind, les GitHub Actions pour le packaging, la signature et les mises à jour automatiques, le code des providers IA implémenté en interne, ainsi que l’architecture de gestion d’IPC et de conformité CSP
- Void indique envoyer les messages directement au provider sans conserver les données, et prend en charge une syntaxe de réponse comme l’autocomplete (FIM), les balises
<thinking>et les balises d’outils - Plutôt que de développer de nouvelles versions, le projet soutient désormais le fork et la réutilisation via des ressources comme Void Forks, les anciennes Releases, le Codebase Guide, HOW_TO_CONTRIBUTE et void-builder
État du projet
- Void est deprecated et n’accepte plus de contributions
- L’équipe remercie la communauté pour ses contributions de code et son soutien, et précise que Void reste open source
- Le projet indique qu’il demeure une bonne référence pour les développeurs souhaitant forker VS Code
Téléchargement et ressources pour les forks
- La liste des forks Void les plus récents est disponible sur Void Forks
- Les anciennes versions peuvent être téléchargées depuis Releases
- Les développeurs de forks de VS Code peuvent consulter le Codebase Guide et How to Contribute
Éléments à reprendre pour implémenter un fork de VS Code
- Void monte React + Tailwind
- Cela n’est pas possible dans VS Code standard, donc le pipeline de build a été étendu pour compiler React et gérer le scope de Tailwind
- Le scope Tailwind utilise scope
- Il est possible de copier les GitHub Actions pour packager, signer et mettre à jour automatiquement Void
- Le pipeline de build de VS Code étant privé, cela est généralement très difficile
- Le code des providers IA a été implémenté entièrement from scratch
- Il prend en charge l’autocomplete (FIM) et des réponses personnalisées
- Il expose une syntaxe commune pour les balises
<thinking>, les balises d’outils, etc. - Son architecture peut servir de référence pour l’usage d’IPC et le respect de la CSP
- L’édition de fichiers repose sur des services personnalisés
- EditCodeService peut afficher des diff jusqu’au niveau du token pendant le streaming du code
- VoidModelService modifie les fichiers en arrière-plan et synchronise les fichiers de l’OS avec les buffers de texte
- La liste complète des dépôts qui composent Void est disponible dans repos
Description des fonctionnalités de Void
- Void permet d’utiliser des agents IA dans une base de code
- Il permet d’enregistrer et de visualiser les modifications sous forme de checkpoints
- Il permet d’importer en local n’importe quel modèle ou hôte
- Il indique envoyer les messages directement au provider sans conserver les données des utilisateurs
- Ce dépôt contient l’intégralité du code source de l’application Void Desktop
Liens de référence et support
- Site web : Website
- Feuille de route : Roadmap
- Guide de contribution : Contribute
- Void est un fork du dépôt vscode
- Pour développer sa propre version de Void, il est possible de consulter HOW_TO_CONTRIBUTE et void-builder
- Les canaux de support sont le Discord server et l’adresse e-mail hello@voideditor.com
1 commentaires
Avis de Hacker News
Récemment, en essayant de refactorer une application en utilisant VSCode comme une plateforme, je me suis bien brûlé les ailes à cause de choix de conception d’UI qui n’étaient ni faciles à contourner ni faciles à maintenir
La marketplace d’extensions fermée de MS n’a pas aidé non plus pour des objectifs open source
À la place, j’ai découvert Theia(https://theia-ide.org) sur HN, et comme c’est détenu par une fondation, avec une marketplace open source et la possibilité de tout modifier, cela semblait beaucoup mieux correspondre à des objectifs open source
En théorie, c’est aussi compatible avec l’API d’extensions de VSCode, donc je recommande d’envisager Theia pour cette application aussi
Beaucoup de projets commencent à le faire ces temps-ci, pas tous, mais un bon nombre
Ou si la mention d’« eclipse » n’est qu’une collision de noms malheureuse
L’éditeur Monaco fait théoriquement partie du dépôt vscode, et le « workbench » qui contient les paramètres/la configuration est une couche au-dessus
J’aimerais bien lire un article expliquant clairement pourquoi des outils comme Cursor ou Void ont choisi de créer un nouvel éditeur plutôt qu’une extension d’éditeur existant (extension VSCode, plugin JetBrains)
Je me demande si c’est à cause de limites techniques de l’API d’extensions, ou parce qu’il est plus facile de marketer un nouvel éditeur qu’une extension
Pour un particulier ou une petite entreprise, l’adoption peut être facile, mais dans une grande organisation qui a déjà intégré ses IDE existants à beaucoup de choses, demander de basculer vers un autre IDE semble difficile
Les fonctionnalités Command-K et Copilot++ sont impossibles sous forme d’extension, et il en va de même pour beaucoup des fonctionnalités qu’ils veulent créer à l’avenir
https://forum.cursor.com/t/why-not-a-plugin/2448/2
Les extensions sont souvent boguées, ou difficiles à intégrer de façon naturelle, selon moi. Par exemple, avec Copilot la sélection saute, et Codeium ou d’autres extensions open source ont des limites similaires
Beaucoup d’extensions utilisent un menu déroulant de choix rapides pour saisir les prompts utilisateur, ce qui paraît peu naturel
Pour éviter ces problèmes, il est important de posséder directement l’IDE, comme Cursor, et je pense que c’est aussi ce qui explique sa popularité
Il est vrai que l’adoption d’un IDE est difficile. En construisant sur une base déjà populaire, on peut mieux toucher une petite base d’utilisateurs, et à long terme, j’aimerais aussi convaincre les grandes entreprises grâce à la confidentialité et à la centralisation de bonnes fonctionnalités d’IA
Je n’ai pas encore trouvé de raison d’utiliser Cursor en acceptant l’inconvénient d’un « fork »
Cela dit, ces temps-ci, je suis surtout passé à Aider
Quelqu’un d’autre a mentionné la monétisation, et c’est peut-être la vraie raison
C’est une bonne chose que la concurrence augmente, mais, au risque de paraître un peu impoli, la plupart des forks logiciels disparaissent
J’aimerais qu’on me convainque de l’intérêt d’utiliser cela plutôt que Continue + Claude-dev, qui sont des extensions open source fonctionnant dans VSCode de base ou VSCodium
Il a été dit que « Microsoft a aussi rendu sa marketplace d’extensions privée », mais Open VSX Registry existe
Ce qui a été construit jusque-là mérite des félicitations, et on dirait que la partie intéressante commence maintenant
Il existe pas mal d’extensions offrant de l’autocomplétion par tabulation façon snippets, ainsi que des éditeurs IA, mais à ma connaissance, seul Cursor a vraiment bien implémenté le workflow d’autocorrection en « tab-tab-tab-tab » sans regarder tout le fichier
C’est probablement une combinaison de hacks Monaco/VSCode et d’un modèle entraîné maison, donc pas un grand modèle de langage prêt à l’emploi ; je me demande si c’est cela qui est visé quand il est question de « toutes les fonctionnalités clés de Cursor », ou si l’attention porte sur autre chose
Cursor arrivait plutôt bien à « importer » les extensions déjà téléchargées dans le profil VSCode local, mais rencontrait parfois des difficultés à utiliser l’API de marketplace pour la recherche d’extensions
Comme point de départ, mieux vaut probablement se contenter d’une approche de ce genre, et puisqu’il s’agit de faire face à Microsoft, il faut aussi prêter attention à des choses comme les directives de marque
Il vaut mieux éviter de dire publiquement que l’on « hacke » les API Microsoft. Même si cela paraît mineur, cela peut devenir un problème en cas de succès
Si l’objectif est aussi de recruter des contributeurs, il faut beaucoup mieux organiser le workflow GitHub et la CI
Pour l’instant, l’historique des commits consiste surtout en modifications de documentation poussées directement sur la branche main sans revue ni vérification, et le seul commit initial avec des contrôles semble simplement avoir désactivé les vérifications Monaco après leur échec
Pour faire grandir le projet ou attirer le niveau de contributeurs nécessaire, il faut établir une base de tests et mettre beaucoup plus d’ordre
L’autocomplétion est tellement bonne, et pour le refactoring, c’est presque magique
Après avoir utilisé Cursor tout un mois, j’ai réessayé VSCode, et en comparaison Copilot était vraiment médiocre
J’aimerais continuer à utiliser Cursor, mais je ne veux pas payer deux abonnements à Claude. Cursor utilise Claude en interne, et je préfère Claude Sonnet à ChatGPT
Elle fusionne automatiquement le code généré par l’IA avec mon code, et je n’ai plus qu’à approuver ou refuser
Cette fonctionnalité semble aussi utiliser une IA custom, ne fonctionne pas en apportant ma propre clé API, et nécessite un abonnement
C’est une bonne chose qu’il y ait davantage de concurrence dans le domaine des « éditeurs IA », mais je me demande pourquoi ils ne le font pas sous forme d’extension VSCode
Le côté extension semble bien plus accessible
Je me demande s’il existe des limites dans l’API des extensions qui rendent l’implémentation difficile
Void est soutenu par HN
Il faut continuer à suivre les écarts entre le fork et le produit d’origine, et je ne veux pas avoir à gérer, dans mon flux de travail, des fonctionnalités manquantes ou des extensions qui cassent pendant ce processus
Cursor offre une expérience assez soignée, mais au final je suis revenu à VSCode et j’utilise continue.dev. C’est beaucoup plus brut, mais l’interface fonctionne suffisamment bien
Cela dit, avec une simple extension, il n’y a pas de bon moyen de créer l’UI native que nous voulons
Par exemple, afficher l’avant/après d’une modification est essentiel, mais dans une extension cela ne donne pas une impression naturelle
Des extensions comme Codeium utilisent la méthode la plus simple, qui consiste à écrire directement dans le fichier quelque chose comme
<<<<<<< DIFF >>>>>>>>, ce qui casse la coloration syntaxiqueD’autres extensions, comme Copilot, ont beaucoup de bugs
Pour l’instant, Void est construit au-dessus d’une extension, mais nous modifions et greffons aussi certaines parties de l’IDE afin de créer une expérience utilisateur plus native
Par exemple, mon éditeur IA favori pour l’instant est Zed.dev, et il permet de configurer très facilement plusieurs keymaps, y compris celles de JetBrains
https://zed.dev/
Il casse tout mon environnement VSCode, y compris les raccourcis Vim
Je ne sais pas s’il faut vraiment « posséder » tout l’éditeur pour faire ça
Rien que maintenir la synchronisation avec l’upstream représente une charge énorme, et je ne vois pas ce qu’on y gagne
Comme d’autres l’ont dit, il existe aussi des registres alternatifs, et il est plus simple de guider l’utilisateur pour installer un plugin indépendant que de lui faire télécharger et installer tout un éditeur
Je me demande s’il ne suffirait pas de créer sa propre extension Copilot et de la connecter à une instance ollama
N’est-ce pas ce que fait Continue ? https://marketplace.visualstudio.com/items?itemName=Continue...
Est-ce encore à un stade si précoce qu’on ne peut même pas le télécharger ? Je ne comprends pas pourquoi il faudrait rejoindre un serveur Discord pour un éditeur de code
Je me demande quel est le plan quand VS Code intégrera toutes ces fonctionnalités
Mais pour l’instant, c’est vraiment très basique. C’est proche d’une implémentation minimale qui appelle un grand modèle de langage depuis un panneau latéral et crée une vue pour appliquer/refuser les différences
À ce stade, c’est presque un projet de week-end
Le jeu consiste peut-être à voir qui sera racheté par Microsoft et finira par faire partie de VS Code
Il y a aussi PearAI. Ils le présentent comme un « éditeur de code IA open source fork de VSCode et de Continue »
Cet espace devient de plus en plus encombré : cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI, et maintenant Void
https://github.com/trypear/pearai-app
Je suis l’un des créateurs de https://double.bot
J’aimerais que quelqu’un fork Omnivim2 pour mieux concurrencer VS Code
D’après ce que je comprends, cet éditeur ressemble à VS Code, mais il est compilé en natif et prend en charge les plugins VS Code
Malheureusement, le projet semble abandonné, et il est écrit en ReasonML
J’en ai assez que les outils de développement soient construits autour du navigateur web
Dans les années 90 et 2000, on avait des applications entièrement natives qui n’avaient pas besoin d’être aussi complexes qu’aujourd’hui
J’ajouterais qu’il fonctionne en interne sur la base de Vim, ce qui est plutôt un point fort à mes yeux
https://github.com/onivim/oni2
On dirait un doublon d’un autre post Show HN publié par le même utilisateur il y a 4 jours
https://news.ycombinator.com/item?id=41523197
C’est aussi indiqué dans la FAQ : https://news.ycombinator.com/newsfaq.html#reposts
On essaie simplement de lancer rapidement