Void - alternativa open source ao Cursor/GitHub Copilot
(github.com/voideditor)- Void era um fork do VS Code criado para usar agentes de IA na base de código, visualizar alterações como checkpoints e permitir trazer modelos ou hosts locais, mas agora está em estado deprecated e não aceita mais contribuições
- O projeto continua sendo open source, e desenvolvedores que queiram fazer fork do VS Code podem usar a lógica e a estrutura do Void como referência
- O README destaca como referências a integração com React + Tailwind, GitHub Actions para empacotamento, assinatura e atualizações automáticas, o código de provider de IA implementado do zero, e a estrutura para lidar com IPC e CSP
- O Void afirma que envia mensagens diretamente ao provider e não armazena dados, além de oferecer suporte a autocomplete (FIM), tags
<thinking>e sintaxe de resposta como tags de tool - Em vez de desenvolver novas versões, o projeto agora dá suporte a forks e reutilização por meio de materiais como Void Forks, Releases antigas, Codebase Guide, HOW_TO_CONTRIBUTE e void-builder
Status do projeto
- O Void está deprecated e não aceita mais contribuições
- A equipe agradece pelas contribuições de código e pelo apoio da comunidade, e informa que o Void continua sendo open source
- Também afirma que o projeto continua sendo uma boa referência para quem quiser fazer fork do VS Code
Downloads e materiais para fork
- A lista mais recente de forks do Void pode ser vista em Void Forks
- Versões anteriores podem ser baixadas em Releases
- Desenvolvedores de forks do VS Code podem consultar o Codebase Guide e o How to Contribute
Pontos de referência na implementação do fork do VS Code
- O Void monta React + Tailwind
- Isso não é possível no VS Code comum, então o pipeline de build foi expandido para compilar React e tratar o escopo do Tailwind
- O tratamento de escopo do Tailwind usa scope
- É possível copiar os GitHub Actions para empacotar, assinar e atualizar automaticamente o Void
- O texto explica que isso costuma ser muito difícil porque o pipeline de build do VS Code é privado
- O código do provider de IA foi implementado diretamente, do zero
- Ele oferece suporte a autocomplete (FIM) e respostas personalizadas
- Expõe sintaxe para tags comuns como
<thinking>e tags de tool - A arquitetura para uso de IPC e conformidade com CSP pode servir de referência
- A edição de arquivos usa serviços customizados
- O EditCodeService consegue mostrar diffs até no nível de token enquanto o código é transmitido em streaming
- O VoidModelService edita arquivos em segundo plano e sincroniza os arquivos do sistema operacional com o buffer de texto
- A lista completa de repositórios que compõem o Void pode ser vista em repos
Explicação dos recursos do Void
- O Void permite usar AI agents na base de código
- Permite salvar e visualizar alterações como checkpoints
- Permite trazer qualquer modelo ou host localmente
- Afirma que envia mensagens diretamente ao provider e não armazena dados dos usuários
- Este repositório inclui todo o código-fonte do app Void Desktop
Links de referência e suporte
- Website: Website
- Roadmap: Roadmap
- Guia de contribuição: Contribute
- O Void é um fork do repositório vscode
- Para desenvolver sua própria versão do Void, é possível consultar HOW_TO_CONTRIBUTE e void-builder
- Os canais de suporte são o Discord server e o e-mail hello@voideditor.com
1 comentários
Opiniões no Hacker News
Recentemente, tentei usar o VSCode como uma plataforma para refatorar um app, e me dei muito mal por causa de decisões de design de UI que não eram fáceis nem de contornar nem de manter
O marketplace fechado de extensões da MS também não ajudou nos objetivos de open source
Em vez disso, conheci o Theia(https://theia-ide.org) no HN, e ele pareceu se encaixar muito melhor em objetivos open source por ser mantido por uma fundação, ter um marketplace open source e permitir modificação completa
Em teoria, ele também é compatível com a API de extensões do VSCode, então recomendo considerar o Theia também para este app
Muitos projetos vêm começando a fazer isso hoje em dia; não todos, mas um número considerável
Ou talvez a menção a “eclipse” seja apenas uma infeliz colisão de nomes
O editor Monaco, em teoria, faz parte do repositório do vscode, e o “workbench”, que contém configurações/configuração, fica na camada acima dele
Seria bom se houvesse um texto que explicasse bem por que ferramentas como Cursor e Void decidiram criar um novo editor em vez de extensões para editores existentes (extensões do VSCode, plugins da JetBrains)
Fico curioso se é por limitações técnicas da API de extensões, ou se é porque fazer marketing de um novo editor é mais fácil do que de uma extensão de editor
Para indivíduos ou empresas pequenas, a adoção pode ser fácil, mas organizações grandes já têm IDEs existentes e várias integrações, então fazê-las migrar para mais uma IDE parece ser uma exigência difícil
Dizem que recursos como Command-K e Copilot++ não são possíveis como extensão, e o mesmo vale para muitos recursos que eles querem criar no futuro
https://forum.cursor.com/t/why-not-a-plugin/2448/2
Acho que extensões muitas vezes têm muitos bugs ou são difíceis de integrar de forma natural. Por exemplo, no Copilot, a seleção dá saltos, e o Codeium e outras extensões open source têm limitações parecidas
Muitas extensões usam um menu suspenso de seleção rápida para a entrada de prompts do usuário, e isso parece pouco natural
Para evitar esses problemas, é importante ter controle direto da IDE, como o Cursor faz, e acho que é por isso que o Cursor é popular
É verdade que a adoção de uma IDE é difícil. Ao construir sobre uma base já popular, dá para alcançar melhor um público menor e, no longo prazo, também quero convencer grandes empresas com privacidade e bons recursos de IA centralizados
Ainda não encontrei um motivo para usar o Cursor assumindo a desvantagem de ser um “fork”
Mas ultimamente migrei quase totalmente para o Aider
Outra pessoa mencionou monetização, e esse pode ser o verdadeiro motivo
É bom ver a concorrência aumentando, mas, embora possa soar um pouco rude, a maioria dos forks de software desaparece
Gostaria que me convencessem de por que eu deveria usar isto em vez de Continue + Claude-dev, que são extensões open source que funcionam no VSCode básico ou no VSCodium
Foi dito que “a Microsoft também tornou o marketplace de extensões fechado”, mas o Open VSX Registry existe
O que foi construído até aqui merece parabéns, e parece que agora começa a parte interessante
Há muitas extensões que oferecem autocomplete por tab no estilo snippets e muitos editores com IA, mas, até onde sei, o Cursor é o único que implementou de verdade um fluxo de trabalho que faz correções automáticas com “tab-tab-tab-tab” sem olhar o arquivo inteiro
Provavelmente é uma combinação de hacks no Monaco/VSCode e um modelo ajustado internamente, ou seja, não um modelo de linguagem grande pronto; fico curioso se, ao dizer “todos os recursos centrais do Cursor”, é nisso que vocês estão mirando, ou se o foco está em outra coisa
O Cursor conseguiu “importar” muito bem extensões já baixadas no perfil local do VSCode, mas às vezes teve dificuldade para usar a API do marketplace para buscar extensões
Como ponto de partida, é melhor ficar satisfeito com algo nesse nível e, por estar lidando com a Microsoft, também é preciso prestar atenção a coisas como as diretrizes de marca
É melhor evitar dizer ao mundo que vocês estão “hackeando” APIs da Microsoft. Mesmo algo que pareça pequeno pode virar problema se fizer sucesso
Se a intenção também é recrutar contribuidores, é preciso organizar bastante o fluxo de trabalho do GitHub e o CI
O histórico de commits atual consiste, em sua maior parte, de alterações de documentação commitadas diretamente no branch main sem revisão ou verificação, e o único commit inicial com verificação parece ter simplesmente desativado a checagem do Monaco depois que ela falhou
Para fazer o projeto crescer ou atrair contribuidores no nível necessário, é preciso estabelecer uma linha de base de testes e deixá-lo muito mais organizado
O autocomplete é bom demais e, ao refatorar, parece quase mágica
Depois de usar o Cursor durante um mês inteiro, voltei a experimentar o VSCode, e, em comparação, o Copilot era realmente péssimo
Quero continuar usando o Cursor, mas não quero pagar duas assinaturas do Claude. O Cursor usa Claude internamente, e eu prefiro o Claude Sonnet ao ChatGPT
Ele mescla automaticamente o código gerado pela IA com o meu código, e eu só preciso aprovar ou rejeitar
Parece que esse recurso também usa uma IA customizada, não funciona trazendo minha própria chave de API e exige assinatura
É bom ver a concorrência aumentando na área de “editores com IA”, mas fico me perguntando por que não fazem isso como uma extensão do VSCode
Uma extensão parece muito mais acessível
Fico curioso se há alguma limitação na API de extensões que dificulte a implementação
O Void tem apoio do HN
É preciso acompanhar continuamente as diferenças entre o fork e o produto original, e não quero lidar no meu fluxo de trabalho com recursos que ficam de fora ou extensões que quebram nesse processo
O Cursor oferece uma experiência bastante polida, mas no fim acabei voltando para o VSCode e usando o continue.dev. É bem mais tosco, mas a UI funciona bem o suficiente
Porém, só com uma extensão não há um bom jeito de criar a UI nativa que queremos
Por exemplo, mostrar o antes e o depois das alterações é essencial, mas dentro de uma extensão isso não parece natural
Extensões como o Codeium usam a abordagem mais simples de escrever diretamente no arquivo coisas como
<<<<<<< DIFF >>>>>>>>, o que quebra o realce de sintaxeOutras extensões, como o Copilot, têm muitos bugs
Atualmente, o Void é construído em cima de uma extensão, mas também estamos modificando e encaixando partes da IDE para criar uma experiência de usuário mais nativa
Por exemplo, meu editor com IA favorito no momento é o Zed.dev, e nele dá para configurar com muita facilidade vários keymaps, incluindo os da JetBrains
https://zed.dev/
Ele bagunçou todo o meu ambiente do VSCode, incluindo os atalhos do Vim
Não sei se, para fazer isso, é realmente preciso “possuir” o editor inteiro
Só manter a sincronização com o upstream já é um peso enorme, e não vejo o que se ganha com isso
Como outras pessoas disseram, também há registries alternativos, e orientar o usuário a instalar um plugin independente é mais fácil do que fazê-lo baixar e instalar um editor inteiro
Fico me perguntando se não bastaria criar uma extensão própria do Copilot e conectá-la a uma instância do ollama
Não é isso que o Continue faz? https://marketplace.visualstudio.com/items?itemName=Continue...
Está em um estágio tão inicial que ainda nem dá para baixar? Não entendo por que preciso entrar em um servidor no Discord por causa de um editor de código
Fico curioso sobre qual é o plano quando o VS Code incorporar todos esses recursos
Mas, no momento, ele é realmente bem básico. Está perto de uma implementação mínima que faz chamadas a modelos de linguagem grandes em uma janela lateral e cria uma visualização para aplicar/rejeitar diferenças
Por enquanto, é quase algo de projeto de fim de semana
Pode ser um jogo de ver quem será adquirido pela Microsoft e acabará virando parte do VS Code
Também existe o PearAI. Eles dizem que é um “editor de código com IA open source, fork do VSCode e do Continue”
Esse espaço está ficando cada vez mais cheio: cursor.sh, continue.dev, double.bot, supermaven, codium.ai, PearAI e agora também o Void
https://github.com/trypear/pearai-app
Sou um dos criadores do https://double.bot
Eu gostaria que alguém fizesse um fork do Omnivim2 para competir melhor com o VS Code
Pelo que entendo, esse editor parece o VS Code, mas é compilado nativamente e tem suporte a plugins do VS Code
Infelizmente, o projeto parece abandonado e foi escrito em ReasonML
Estou cansado de ver ferramentas de desenvolvimento sendo construídas em torno de navegadores web
Nos anos 90 e 2000, tínhamos apps totalmente nativos que não precisavam ser tão complicados quanto hoje
Além disso, ele funciona internamente baseado no Vim, o que, aos meus olhos, é mais um ponto forte
https://github.com/onivim/oni2
Parece uma postagem duplicada de outro Show HN publicado pelo mesmo usuário 4 dias atrás
https://news.ycombinator.com/item?id=41523197
Isso também está no FAQ: https://news.ycombinator.com/newsfaq.html#reposts
Estamos só tentando lançar rápido