Astralex Code
Extensão de chat com modelos locais e provedores de IA configuráveis para o Visual Studio Code.
Recursos implementados
- Chat com streaming, cancelamento e tratamento de erros.
- Ollama local, Google AI Studio (Gemini), Anthropic e endpoints compatíveis com OpenAI: OpenAI, OpenRouter, Groq, Mistral, DeepSeek, LM Studio e endpoint personalizado.
- Descoberta de modelos via API, quando disponível; Anthropic deixa o identificador explícito ao usuário porque não oferece catálogo público nessa API.
- Segredos armazenados via
ExtensionContext.secrets; histórico desativado por padrão.
- Contexto do editor enviado somente quando o usuário o cola no chat. Busca de arquivos é opt-in e exige também a configuração
astralex.includeWorkspaceContext.
- Activity Bar própria e interface em português brasileiro.
Nenhum serviço é acessado sem configuração. Não há catálogo de preços, classificações de modelos gratuitos ou promessa de uso ilimitado. Preços e quotas dependem do provedor e da conta; confirme-os na documentação e no painel do serviço. Ollama/LM Studio são locais, sem cobrança de API por token, mas usam recursos de hardware e podem integrar serviços remotos por configuração do usuário.
Requisitos
- VS Code 1.110 ou posterior, Node.js 22+ e npm.
- Ollama instalado, em execução e com modelo já baixado para usar o modo local. A extensão não baixa modelos.
- Para nuvem, conta e chave de API do respectivo provedor.
Desenvolvimento
npm ci
code .
No VS Code, pressione F5 para iniciar uma janela Extension Development Host. Alternativamente, execute npm run watch e use --extensionDevelopmentPath para essa pasta.
Configuração e uso
Abra a Activity Bar Astralex Code, escolha o provedor e atualize a lista de modelos. Para Ollama, o padrão é http://127.0.0.1:11434; para LM Studio, http://127.0.0.1:1234/v1. Os endereços podem ser alterados em Configurações → Astralex Code. OpenAI, OpenRouter, Gemini, Anthropic, Groq, Mistral, DeepSeek e endpoint personalizado usam o comando Astralex Code: Configurar chave de API. A chave é guardada no armazenamento secreto do VS Code e nunca é registrada nos logs.
astralex.model aceita um identificador exato, inclusive para um endpoint personalizado. astralex.includeWorkspaceContext começa desligado; habilite-o somente se quiser autorizar a ferramenta de busca no workspace, e marque a opção na conversa. Arquivos binários e diretórios conhecidos de dependências/build são ignorados; o texto enviado é limitado por astralex.maxContextChars. O provedor recebe a mensagem, o prompt de sistema configurado e as mensagens recentes.
O comando Explicar seleção copia o texto selecionado para a área de transferência e abre o chat. Cole-o na caixa de texto quando quiser enviá-lo.
Empacotar e instalar localmente
npm ci
npm test
npm run package
code --install-extension .\astralex-code-0.1.0.vsix
O manifesto usa o publisher astralex como placeholder. Publicar no Marketplace exige que o proprietário crie/possua esse publisher, decida uma licença e revise metadados, marca e comportamento. Não houve publicação ou envio remoto. LICENSE é um aviso temporário, não uma licença open source.
Segurança e limitações da versão 0.1.0
- A Webview usa CSP, sem permissões Node, raízes locais ou bibliotecas remotas. Mensagens de entrada são validadas no host.
- Segredos individuais são isolados por provedor usando a API do VS Code. A proteção final depende da implementação de SecretStorage da instalação do VS Code.
- Nenhum comando de terminal é executado e nenhuma edição é aplicada por esta versão. Não há execução autônoma de ferramenta ou agente.
- A busca do workspace é textual, limitada, e seus arquivos são enviados ao provedor escolhido. Exclusões de
.git, node_modules, dist, build e vendor são aplicadas. Revise os dados e políticas do provedor antes de ativar.
- OpenRouter usa catálogo
/models sem classificar preço ou disponibilidade. Outros endpoints compatíveis podem limitar /models; nesse caso configure astralex.model diretamente.
- O streaming Anthropic usa cabeçalhos específicos para clientes API. Alguns proxies podem exigir configuração adicional. A API não anuncia catálogo de modelos no endpoint usado, portanto a seleção precisa ser configurada.
- Nenhuma chave ou credencial real foi usada. CI e testes requerem instalação de dependências npm.
Testes
Os testes automatizados unitários e de integração serão executados por npm test. Testes com provedores reais são manuais e dependem de serviços, modelos, rede e credenciais do usuário; não fazem parte da suíte.
Observação importante
- Ela foi desenvolvido com IA do Codex
- Esta extensão é um protótipo de chatbot
- Caso aconteça erros/bugs, relate no feedback na Marketplace da extensão para futuras melhorias
- Esteja ciente dos riscos ou de qualquer coisa que acontecer (bem pouco provável tlgd né)