WSL Manager

Permite que agentes de IA gerenciem máquinas virtuais locais: crie VMs macOS e Linux no Apple silicon e distros WSL no Windows, inicie/pare, clone, faça backup e execute comandos dentro delas.

Documentação

Bem-vindo ao WSL Manager 👋

GitHub Release Date GitHub Workflow GitHub release (latest by date) Documentation GitLab stars Discord

English | 简体中文 | 繁體中文 | Deutsch | Español | 日本語 | Magyar | Português | Türkçe

WSL Distro Manager on Windows, dark theme

Mostrado no Windows · o mesmo aplicativo executa VMs nativas no macOS — expanda Veja no macOS abaixo

Pré-visualização com tema claro (Windows)

WSL Distro Manager on Windows, light theme

🍎 Veja no macOS — máquinas virtuais nativas de Linux e macOS através do framework de Virtualização da Apple (beta)

WSL Manager on macOS, dark theme

WSL Manager on macOS, light theme, with the AI assistant open

WSL Distro Manager é uma GUI gratuita e de código aberto para o Subsistema Windows para Linux — e, no macOS, para VMs Linux nativas. Instale, copie, renomeie, mova, faça backup e exclua distros WSL sem memorizar uma única flag do wsl.exe — além de modelos, trechos de comandos salvos, montagem de discos, edição de .wslconfig, WSL remoto via SSH e um servidor MCP que permite que agentes de IA controlem seu ambiente WSL. No Mac, o mesmo aplicativo gerencia máquinas virtuais através do framework de Virtualização da Apple.

🚀 Recursos

Gerenciar distros

  • Instale a partir de um catálogo integrado ou traga seu próprio rootfs
  • Copie, renomeie, mova para outra unidade, faça backup e exclua instâncias
  • Faça backup de cada instância em uma pasta — com uma lista do que há nela — e restaure todas em outro PC
  • Compacte discos virtuais para recuperar espaço que o WSL nunca devolve
  • Suporta Ubuntu, Debian, Alpine, Kali Linux, openSUSE, SLES e qualquer outra coisa que o WSL aceite

Execute instâncias mais rápido

  • Use qualquer imagem Docker como distro — o Docker em si não é necessário
  • Empacote uma distro configurada como um arquivo .wsl portátil que instala em qualquer máquina (modelos estão obsoletos em favor destes)
  • Linux turnkey e outros contêineres LXC (experimental)
  • Trechos: mantenha seus comandos de configuração no aplicativo e execute-os em qualquer instância
  • Aponte o aplicativo para seu próprio repositório de imagens rootfs
  • Navegue pelos arquivos de uma distro e copie os que você escolher para outra instância — sem compartilhamento, sem montagem, sem Explorer necessário

Configure sem editar arquivos manualmente

  • systemd, automontagem, usuário padrão, comando de inicialização e caminho de inicialização por distro
  • Memória, processadores, swap, modo de rede, DNS e o resto do .wslconfig
  • Monte um disco físico ou um VHD no WSL, com controle de partição e sistema de arquivos
  • Compartilhe pastas do host em uma distro ou VM em um ponto de montagem que você escolher, somente leitura se preferir — o AI Workspace incluído

Trabalhe do seu jeito

  • Abra o Windows Terminal, VS Code ou Explorer diretamente dentro de uma distro
  • Cada instância no menu suspenso do Windows Terminal, mantida atualizada enquanto o aplicativo roda — contribuída como um fragmento próprio, para que suas configurações do Terminal nunca sejam editadas
  • Gerencie WSL em uma máquina Windows diferente via SSH
  • Sincronize uma distro entre duas máquinas na sua rede
  • Alcance uma instância pelo nome: o hostname dela é mantido no seu arquivo de hosts, então o ssh ubuntu.wsl continua funcionando após uma reinicialização
  • Mantém-se atualizado: o site e os builds do GitHub baixam e instalam novos lançamentos automaticamente (instalações pela Store são atualizadas pela Store)
  • Temas escuro e claro, disponíveis em nove idiomas

No macOS: máquinas virtuais nativas (beta)

  • O mesmo aplicativo gerencia VMs através do framework de Virtualização da Apple em vez do WSL
  • Crie VMs Linux a partir de um ISO de instalador, uma imagem de nuvem ou um modelo exportado
  • Crie VMs convidadas macOS a partir de uma imagem de restauração (Apple Silicon)
  • Inicie, pare, clone, exporte/importe e crie modelos de VMs como distros
  • Execute comandos dentro de VMs via SSH provisionado automaticamente (cloud-init), pela GUI, pelo chat de IA ou clientes MCP
  • Um terminal em qualquer VM a partir da linha dela: uma sessão SSH em um convidado Linux ou macOS, o console serial onde o Linux não tem SSH para nada
  • Sua própria chave ~/.ssh é autorizada em toda VM Linux (e criada se você não tiver nenhuma), então o ssh user@vm-ip simples também funciona
  • Toda VM recebe uma senha de login que você pode ler de volta na linha dela, para entrar na tela da própria VM
  • Defina a conta em que cada caminho SSH entra a partir da mesma linha — o nome de um convidado macOS é digitado no Assistente de Configuração, onde o aplicativo não pode vê-lo
  • Compilado com scripts/build_macos.sh — inclui o helper vmctl assinado

Pro (compra única: uma chave de licença em wslmanager.com/buy, tanto no Windows quanto no macOS — nunca uma assinatura)

  • AI Workspace — execute Hermes Agent, OpenClaw, Open WebUI e OpenCode em uma distro WSL dedicada e isolada
  • Um modelo e endpoint para cada ferramenta de IA — o endpoint da API, a chave e o modelo do assistente das Configurações são o que OpenCode, OpenClaw e Hermes usam também; defina uma vez, e uma ferramenta instalada depois os recebe também
  • Assistente de IA com ferramentas — o chat integrado pode realmente operar seu WSL: ele lista e inspeciona distros, executa comandos, edita configurações, cria trechos, monta discos e empacota distros através das mesmas ferramentas que o servidor MCP expõe
  • Toda execução de IA que altera uma instância é salva como um trecho — os comandos que ela executou e o que cada ferramenta relatou, vinculados ao chat, para que você possa revisar, executar novamente em uma instância nova ou compartilhar
  • IA em sandbox — crie uma distro Ubuntu descartável e dê a um chat de IA acesso apenas ao interior desse sandbox
  • Fila de tarefas — entregue uma lista de verificação ao assistente e deixe-o trabalhar nela, marcando itens conforme avança
  • Servidor MCP — exponha o WSL ao Claude Desktop, Claude Code, opencode e outros clientes MCP
  • Painel web — gerencie tudo pelo seu celular ou outro computador: escaneie um código QR, obtenha o aplicativo inteiro em um navegador, opcionalmente publicado além da sua rede através de um túnel Cloudflare

Os recursos de IA funcionam com credenciais que você traz — sua própria chave de API compatível com OpenAI. Nenhum serviço de IA é hospedado ou incluído, não há cota e nenhuma solicitação passa pelos servidores de terceiros. O Pro desbloqueia os recursos no aplicativo; ele não compra créditos de IA. Veja Grátis vs Pro.

Por que existe um nível pago? O WSL Manager é um projeto de uma pessoa, em tempo livre, desde 2021, e cada recurso acima — incluindo os gratuitos — foi construído em noites e fins de semana. Gerenciar suas distros e VMs é gratuito e continuará sendo, e o aplicativo inteiro permanece de código aberto. O Pro é a camada de IA por cima, e o que ele ganha é o que permite que a manutenção e novos recursos se tornem trabalho planejado e regular, em vez de qualquer tempo que sobrar. Compre uma vez, mantenha para sempre, e você estará financiando diretamente o próximo lançamento.

🎁 Oferta de lançamento — as primeiras 100 pessoas ganham o Pro de graça. Abra o checkout com o código START100 já aplicado e sua chave de licença está na próxima página: Windows · macOS. Uma licença por pessoa; assim que os 100 acabarem, o código para de funcionar.

🤖 Assistente de IA e MCP (Pro)

Tudo nesta seção faz parte do Pro; o aplicativo gratuito não tem nada disso.

O assistente de IA é um agente, não apenas uma caixa de chat: ele recebe o mesmo conjunto de ferramentas que o servidor MCP expõe, então quando você pergunta "quais distros eu tenho?" ou "instale o Ubuntu e defina meu usuário padrão", ele chama ferramentas reais contra seu WSL em vez de adivinhar. As chamadas de ferramentas são mostradas inline enquanto ele trabalha.

Configure o provedor em Configurações → Traga sua própria chave de IA: qualquer endpoint compatível com OpenAI funciona (OpenAI, Azure, um proxy LiteLLM, Ollama, LM Studio, …). Insira a URL base, a chave e o modelo. O botão Carregar lista de modelos preenche um autocomplete a partir do /models do provedor, e Testar conexão prova que as credenciais funcionam antes de você abrir o chat.

Não quer nada disso? Configurações → Traga sua própria chave de IA → Recursos de IA desliga o assistente, o diagnóstico de erros e o AI Workspace — nada relacionado a IA é mostrado, e nenhum ambiente de workspace é configurado para você. Está desligado até você responder: o WSL Manager pergunta uma vez, no primeiro início após instalar ou atualizar, e nada relacionado a IA roda antes disso.

Sandboxes (AI Workspace → Adicionar distro sandbox) criam uma instância descartável a partir de qualquer imagem do catálogo (Ubuntu mais recente por padrão) — uma distro WSL no Windows, uma VM Linux semeada a partir de uma imagem de nuvem no macOS, que é criada e inicializada para você. O chat dela recebe apenas as ferramentas sandbox_*, que estão bloqueadas para essa única instância — o modelo pode executar qualquer coisa dentro do sandbox e nunca pode ver seu host ou qualquer outra instância. Uma ressalva honesta: o sandbox em si tem acesso normal à internet de saída, como qualquer distro ou VM. Os chats de sandbox usam o mesmo painel ancorado que o assistente (fila de tarefas incluída), seus transcrições persistem, e o botão de histórico no cabeçalho do chat alterna entre o assistente e qualquer sessão de sandbox.

Fila de tarefas — abra a seção Tarefas no topo do chat, adicione itens e pressione ▶. O assistente trabalha neles com suas ferramentas e marca cada um como concluído ao terminar; você pode continuar adicionando tarefas enquanto ele roda.

Conectando clientes de IA externos (MCP)

Ative Configurações → Servidor MCP (Pro). Ele serve o protocolo MCP em http://127.0.0.1:59133/mcp, somente loopback, protegido por um token de portador mostrado no mesmo painel. As ferramentas cobrem o ciclo de vida completo — criar, importar, configurar, executar, empacotar e (com um sinalizador de confirmação) remover distros, além de trechos, montagem de discos e sessões de terminal persistentes.

Claude Desktop — clique em Conectar Claude Desktop no painel MCP. Ele escreve a entrada abaixo em claude_desktop_config.json para você (precisa de Node.js); reinicie o Claude Desktop depois. Para fazer manualmente, ou para qualquer outro cliente MCP stdio, faça a ponte do endpoint HTTP com mcp-remote:

// claude_desktop_config.json  (%APPDATA%\Claude\)
{
  "mcpServers": {
    "wsl-manager": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "http://127.0.0.1:59133/mcp",
        "--header", "Authorization:${AUTH_HEADER}"
      ],
      "env": { "AUTH_HEADER": "Bearer <TOKEN FROM THE MCP PANEL>" }
    }
  }
}

Claude Code — mesma ponte, um comando:

claude mcp add wsl-manager -- npx -y mcp-remote http://127.0.0.1:59133/mcp \
  --header "Authorization: Bearer <TOKEN>"

opencode — adicione-o em mcp no seu opencode.json (ou ~/.config/opencode/opencode.json):

{
  "mcp": {
    "wsl-manager": {
      "type": "local",
      "command": ["npx", "-y", "mcp-remote", "http://127.0.0.1:59133/mcp",
                  "--header", "Authorization: Bearer <TOKEN>"]
    }
  }
}

Qualquer cliente MCP que fale HTTP transmitível também pode apontar diretamente para o endpoint com um cabeçalho Authorization: Bearer <TOKEN>, pulando o mcp-remote. Para alcançá-lo de outra máquina, ative o alternador integrado Túnel Cloudflare no mesmo painel e use a URL pública que ele imprime.

📱 Painel web (Pro)

Ative Configurações → Painel Web (Pro) e o aplicativo serve um painel de navegador na porta 59134 para cada dispositivo na sua rede — Windows e macOS igualmente. Escaneie o código QR que o painel mostra com seu celular (ou copie o link) e você obtém o aplicativo inteiro em um navegador: iniciar, parar, duplicar e excluir instâncias, executar comandos, abrir sessões de terminal persistentes, executar seus trechos salvos e acionar todas as outras ferramentas (importar, exportar, empacotar, .wslconfig, discos, criação de VM) através de formulários gerados. É o mesmo conjunto de ferramentas que o assistente de IA e o servidor MCP usam. O acesso é protegido por um token que faz parte do link (?token=…), então um código QR escaneado é tudo que um dispositivo precisa — e regenerar o token no painel revoga todos os links já distribuídos. O painel vincula-se a todas as interfaces de propósito; ative Publicar via Cloudflare Tunnel no mesmo painel para obter um link HTTPS público temporário (o código QR alterna para ele) quando precisar dele fora de casa. Uma vez publicado, o token é a única coisa que protege uma superfície que pode executar comandos, então compartilhe esse link com cuidado.

📦 Instalação

Microsoft Store

Este aplicativo está disponível na Microsoft Store.

macOS via Homebrew
brew install --cask wsl-manager

Apple silicon, macOS 11 ou mais recente. O cask acompanha o próprio Homebrew, então não é necessário tap; brew upgrade --cask wsl-manager capta novos lançamentos.

Download direto

Você pode obter este aplicativo com um download direto na página de Releases. O Windows é distribuído como um instalador .exe, um .msix e um .zip portátil; o macOS como um .dmg.

Instalar via Winget
winget install Bostrot.WSLManager
Instalar via Scoop
scoop install extras/wsl2-distro-manager
Instalar via Chocolatey

Este pacote é mantido pela comunidade (@mikeee). Não é um pacote oficial.

choco install wsl2-distro-manager
Instalar uma compilação noturna

A compilação noturna mais recente está disponível como artefato no fluxo de trabalho "releaser" ou via este link.

⚙️ Compilação

Certifique-se de que o flutter esteja instalado.

Windows

flutter config --enable-windows-desktop
flutter upgrade

flutter build windows # build it
flutter run -d windows # run it

macOS

As VMs são criadas por vmctl, um pequeno auxiliar Swift que aciona o Virtualization.framework — não pelo próprio aplicativo Flutter. O framework só responde a processos que possuem a permissão com.apple.security.virtualization, e swift build não a adiciona, então o auxiliar deve ser compilado e assinado antes que o aplicativo possa iniciar uma VM:

flutter config --enable-macos-desktop

# Build + sign vmctl and install it for dev runs. Re-run after any change
# under macos/vmctl/ — `flutter run` never rebuilds the helper.
VMCTL_ONLY=1 scripts/build_macos.sh

flutter run -d macos

Pule essa etapa e o aplicativo inicia normalmente, mas iniciar uma VM falha com:

VM failed to start: Error Domain=VZErrorDomain Code=2 "The process doesn't
have the "com.apple.security.virtualization" entitlement."

Isso é o auxiliar sem a permissão, não o aplicativo — as permissões do próprio Runner já estão corretas. O auxiliar assinado é instalado em ~/Library/Application Support/WSLManager/bin/vmctl, que é onde as execuções de depuração o procuram; sem ele, elas recorrem à saída swift build não assinada em macos/vmctl/.build/, que é o que produz o erro acima.

scripts/build_macos.sh sem VMCTL_ONLY faz a mesma assinatura e depois compila o aplicativo de lançamento, incluindo o auxiliar assinado no Contents/Resources/ do pacote. Compilar o aplicativo em si requer o Xcode completo.

Autor

👤 Eric Trenkel

👥 Colaboradores

Contributors

🤝 Contribuindo

Contribuições, problemas e solicitações de recursos são bem-vindos!
Sinta-se à vontade para verificar a página de problemas. Você também pode dar uma olhada no guia de contribuição.

Mostre seu apoio

Dê uma ⭐️ se este projeto ajudou você!

📝 Licença

Copyright © 2026 Eric Trenkel.
Este projeto é licenciado sob GPL-3.0.


Não encontrou o que procurava? Confira a Wiki