Skip to content
项目

bostrot/wslmanager has 4,056 GitHub stars and 182 forks. GitHot measured 0 stars in 24 hours and +12 in 7 days. Last checked 2026-11-06 16:39 UTC. Last push 2026-10-01.

这些数字如何统计

用于 Windows Subsystem for Linux 的 GUI,也支持在 Mac 上运行原生 Linux/macOS 虚拟机。无需使用 CLI 参数即可安装、备份、迁移和配置发行版;提供带工具的 AI 助手、面向智能体的 MCP 服务器,以及通过 SSH 远程使用 WSL。

可以做什么

  • Install from a built-in catalogue, or bring your own rootfs
  • Copy, rename, move to another drive, back up and delete instances
  • Back every instance up to one folder — with a list of what is in it — and restore them all on another PC
  • Compact virtual disks to reclaim space WSL never gives back

实测星标增长

24小时
0
7天
+12
15天
更新延迟
1个月
更新延迟

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

readme/README_zh.md

原文

欢迎使用 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

Windows 上的 WSL Distro Manager,深色主题

图为 Windows 版 · 同一个应用在 macOS 上运行原生虚拟机 — 展开下方的 在 macOS 上的样子

浅色主题预览(Windows)

Windows 上的 WSL Distro Manager,浅色主题

🍎 在 macOS 上的样子 — 通过 Apple 的 Virtualization 框架运行原生 Linux 与 macOS 虚拟机 (beta)

macOS 上的 WSL Manager,深色主题

macOS 上的 WSL Manager,浅色主题,并打开了 AI 助手

WSL Distro Manager 是一款免费开源的图形界面工具,用于管理适用于 Linux 的 Windows 子系统 —— 在 macOS 上则用于管理原生 Linux 虚拟机。安装、复制、重命名、 迁移、备份和删除 WSL 发行版,无需记住任何一个 wsl.exe 参数 —— 此外还有模板、 保存的命令片段、磁盘挂载、.wslconfig 编辑、通过 SSH 管理远程 WSL,以及一个可 让 AI 代理驱动你的 WSL 环境的 MCP 服务器。在 Mac 上,同一个应用会改为通过 Apple 的 Virtualization 框架管理虚拟机。

🚀 功能

管理发行版

  • 从内置目录安装,或使用你自己的 rootfs
  • 复制、重命名、迁移到其他驱动器、备份和删除实例
  • 把所有实例备份到一个文件夹(附带内容清单),并在另一台电脑上还原
  • 压缩虚拟磁盘,回收 WSL 从不主动释放的空间
  • 实时查看某个实例正在占用的资源 —— 处理器、内存和交换空间,并附带动态图表
  • 支持 Ubuntu、Debian、Alpine、Kali Linux、openSUSE、SLES 以及 WSL 接受的其他系统

更快让实例跑起来

  • 把任意 Docker 镜像当作发行版使用 —— 无需安装 Docker 本身
  • 把配置好的发行版打包成可移植的 .wsl 文件,在任何机器上安装(模板已被其取代,不再推荐)
  • Turnkey Linux 及其他 LXC 容器(实验性)
  • 命令片段:把安装配置命令保存在应用里,在任意实例上运行
  • 让应用指向你自己的 rootfs 镜像仓库
  • 浏览发行版中的文件,把选中的复制到另一个实例 — 无需共享、无需挂载、无需资源管理器

无需手动编辑文件即可配置

  • 逐个发行版设置 systemd、automount、默认用户、启动命令和启动路径
  • 内存、处理器、交换空间、网络模式、DNS 以及 .wslconfig 的其余设置
  • 把物理磁盘或 VHD 挂载进 WSL,并可控制分区与文件系统
  • 将主机文件夹以你选择的挂载点共享到发行版或虚拟机中,可设为只读 — AI Workspace 同样适用

按你原有的习惯工作

  • 直接在发行版内打开 Windows Terminal、VS Code 或资源管理器
  • 每个实例都出现在 Windows 终端菜单中,应用运行期间保持最新——以独立的片段文件添加,你的终端设置不会被改动
  • 通过 SSH 管理另一台 Windows 机器上的 WSL
  • 在局域网中的两台机器之间同步发行版
  • 用名称访问实例:主机名会写入 hosts 文件,重启后 ssh ubuntu.wsl 依然可用
  • 自动保持最新:网站版和 GitHub 版会自行下载并安装新版本(商店安装的版本由商店更新)
  • 深色与浅色主题,提供九种语言

在 macOS 上:原生虚拟机 (beta)

  • 同一个应用改用 Apple 的 Virtualization 框架管理虚拟机,而不是 WSL
  • 从安装 ISO、云镜像或导出的模板创建 Linux 虚拟机
  • 从恢复镜像创建 macOS 客户机虚拟机(Apple Silicon)
  • 像管理发行版一样启动、停止、克隆、导出/导入虚拟机并保存为模板
  • 通过自动配置的 SSH(cloud-init)在虚拟机内执行命令,可来自图形界面、AI 聊天或 MCP 客户端
  • 在列表行里为任意虚拟机打开终端:Linux 与 macOS 客户机都走 SSH 会话,Linux 上无法连接时才退回串行控制台
  • 你自己的 ~/.ssh 密钥会被授权到每台 Linux 虚拟机(如果没有则替你创建),所以直接 ssh user@vm-ip 也能用
  • 每台虚拟机都有一个登录密码,可在其列表行中读取,用于在虚拟机自身的界面上登录
  • 可在同一行设置所有 SSH 方式登录时使用的账户 —— macOS 客户机的用户名在设置助理中输入,应用无从获知
  • 使用 scripts/build_macos.sh 构建 —— 会打包签名后的 vmctl 助手

Pro (一次性购买:Windows 上通过 Microsoft Store,macOS 及非商店安装则从 wslmanager.com/buy 获取许可证密钥 —— 绝不是订阅制)

  • AI Workspace —— 在专用且隔离的 WSL 发行版中运行 Hermes Agent、OpenClaw、Open WebUI 和 OpenCode
  • 所有 AI 工具共用一套模型与端点 —— 设置中 AI 助手的 API 端点、密钥和模型同样用于 OpenCode、OpenClaw 和 Hermes;只需设置一次,之后安装的工具也会自动获得
  • 带工具的 AI 助手 —— 内置聊天能够真正操作你的 WSL:它会列出并检查发行版、执行命令、修改配置、创建片段、挂载磁盘并打包发行版,用的正是 MCP 服务器暴露的同一套工具
  • 每次更改实例的 AI 运行都会保存为片段 —— 记录执行过的命令和各工具的反馈,并从聊天中链接过去,方便你复查、在新实例上重新运行或分享
  • 沙箱 AI —— 启动一个用完即弃的 Ubuntu 发行版,并让 AI 聊天只能访问该沙箱内部
  • 任务队列 —— 把清单交给助手,让它逐项完成并依次打勾
  • MCP 服务器 —— 把 WSL 暴露给 Claude Desktop、Claude Code、opencode 及其他 MCP 客户端
  • 网页面板 —— 从手机或另一台电脑管理一切:扫描二维码,在浏览器中获得整个应用,并可选择通过 Cloudflare 隧道发布到网络之外

AI 功能使用你自己提供的凭据 —— 你自己的 OpenAI 兼容 API 密钥。本应用不托管 也不附带任何 AI 服务,没有额度限制,也没有任何请求经过他人的服务器。Pro 解锁的 是应用中的功能,而不是购买 AI 额度。参见 Free vs Pro。

为什么会有付费版? 自 2021 年起,WSL Manager 一直是一个人利用业余时间做的 项目,上面的每一项功能 —— 包括免费的那些 —— 都是在夜晚和周末写出来的。管理发行版 和虚拟机是免费的,并且会一直免费,整个应用也会保持开源。Pro 是叠加在上面的 AI 层,它带来的收入使维护和新功能成为有计划的常规工作,而不是只能用剩余时间去做。 一次购买,永久拥有,你就是在直接资助下一个版本。

🤖 AI 助手与 MCP (Pro)

本节的全部内容都属于 Pro;免费版不包含其中任何一项。

AI 助手是一个代理,而不只是聊天框:它拿到的正是 MCP 服务器暴露的那套工具, 所以当你问“我有哪些发行版?”或说“安装 Ubuntu 并设置我的默认用户”时,它会对你的 WSL 调用真实工具,而不是靠猜。工具调用会在它工作时内联显示出来。

设置服务提供方:在设置 → Bring Your Own AI Key中,任何 OpenAI 兼容端点都 可以(OpenAI、Azure、LiteLLM 代理、Ollama、LM Studio……)。填入基础 URL、密钥和 模型。加载模型列表按钮会用服务提供方的 /models 填充自动补全,测试连接 则在你打开聊天之前先验证凭据可用。

一样都不想要? 设置 → Bring Your Own AI Key → AI 功能 可以关闭助手、错误诊断和 AI Workspace —— 不会显示任何与 AI 相关的内容,也不会为你准备工作区环境。在你作答之前它一直是关闭的:WSL Manager 只会在安装或更新后的首次启动时询问一次,在那之前不会运行任何与 AI 相关的内容。

沙箱(AI Workspace → 添加沙箱发行版)会从任意目录镜像(默认是最新的 Ubuntu) 创建一个用完即弃的实例 —— 在 Windows 上是 WSL 发行版,在 macOS 上是由云镜像生成的 Linux 虚拟机,二者都会替你创建并启动。它的聊天只会拿到 sandbox_* 工具,且这些 工具被锁定在那一个实例上 —— 模型可以在沙箱内部做任何事,却永远看不到你的宿主机 或其他实例。一个诚实的提醒:沙箱本身拥有正常的对外网络访问,和任何发行版或虚拟机 一样。沙箱聊天与助手共用同一个停靠面板(含任务队列),其对话记录会被保留,聊天标题 栏中的历史按钮可在助手和任意沙箱会话之间切换。

任务队列 —— 打开聊天顶部的任务区域,添加条目,然后按 ▶。助手会用它的工具逐项 完成,并在完成时打勾;运行期间你仍可继续添加任务。

连接外部 AI 客户端(MCP)

打开设置 → MCP 服务器(Pro)。它会在 http://127.0.0.1:59133/mcp 上提供 MCP 协议,仅监听回环地址,并由同一面板中显示的 bearer 令牌保护。这些工具覆盖完整生命 周期 —— 创建、导入、配置、运行、打包,以及(在带确认标志时)注销发行版,还有命令 片段、磁盘挂载和持久终端会话。

Claude Desktop —— 在 MCP 面板中点击连接 Claude Desktop。它会替你把下面的 配置写入 claude_desktop_config.json(需要 Node.js);之后重启 Claude Desktop。 若要手动配置,或用于任何其他 stdio MCP 客户端,请用 mcp-remote 桥接该 HTTP 端点:

// 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 —— 同样的桥接,一条命令:

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

opencode —— 在你的 opencode.json(或 ~/.config/opencode/opencode.json)中的 mcp 下添加:

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

任何支持流式 HTTP 的 MCP 客户端也可以直接指向该端点,只需带上 Authorization: Bearer <TOKEN> 请求头,无需 mcp-remote。若要从另一台机器访问, 请在同一面板中启用内置的 Cloudflare 隧道开关,并使用它输出的公网 URL。

📱 网页面板 (Pro)

打开设置 → 网页面板(Pro),应用便会在 59134 端口上为你网络中的每台设备提供一个 浏览器面板 —— Windows 和 macOS 皆然。用手机扫描面板显示的二维码(或复制链接),你就能 在浏览器里得到整个应用:启动、停止、复制和删除实例,执行命令,打开持久终端会话,运行 保存的命令片段,并通过自动生成的表单使用其余所有工具(导入、导出、打包、.wslconfig、 磁盘、创建虚拟机)。这与 AI 助手和 MCP 服务器使用的是同一套工具。

访问由链接中的令牌保护(?token=…),因此扫一个二维码就是设备所需的全部 —— 而在面板中 重新生成令牌会吊销此前发出的每一个链接。该面板刻意监听所有网络接口;当你不在家而需要 临时的公网 HTTPS 链接时,可在同一面板中切换通过 Cloudflare 隧道发布(二维码会随之 切换)。一旦发布,令牌就是保护这个可执行命令的界面的唯一屏障,所以请谨慎分享该链接。

📦 安装

Microsoft Store

本应用已上架 Microsoft Store。

macOS 通过 Homebrew 安装
brew install --cask wsl-manager

Apple Silicon,macOS 11 或更高版本。该 cask 已随 Homebrew 本体提供,无需添加 tap;brew upgrade --cask wsl-manager 会获取新版本。

直接下载

你可以从 Releases 页面直接下载本应用。Windows 提供安装版 .exe、.msix 和便携版 .zip;macOS 提供 .dmg。

通过 Winget 安装
winget install Bostrot.WSLManager
通过 Scoop 安装
scoop install extras/wsl2-distro-manager
通过 Chocolatey 安装

该软件包由社区维护(@mikeee),并非官方包。

choco install wsl2-distro-manager
安装每夜构建版

最新的每夜构建版可在 “releaser” 工作流的构建产物中找到,或通过此链接获取。

⚙️ 构建

请确保已安装 flutter。

Windows

flutter config --enable-windows-desktop
flutter upgrade

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

macOS

虚拟机由 vmctl 创建 —— 那是一个驱动 Virtualization.framework 的小型 Swift 助手, 而不是 Flutter 应用本身。该框架只响应带有 com.apple.security.virtualization 授权 的进程,而 swift build 不会添加这项授权,因此必须先构建并签名该助手,应用才能 启动虚拟机:

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

跳过这一步,应用照样能启动,但启动虚拟机时会失败并报出:

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

缺少授权的是助手,而不是应用 —— Runner 自身的授权本来就是对的。签名后的助手会被 安装到 ~/Library/Application Support/WSLManager/bin/vmctl,调试运行正是在那里查找; 没有它时,调试运行会回退到 macos/vmctl/.build/ 下未签名的 swift build 产物,也就 出现了上面的错误。

不带 VMCTL_ONLY 运行 scripts/build_macos.sh 会做同样的签名,然后构建发布版应用, 并把签名后的助手打包进 bundle 的 Contents/Resources/。构建应用本身需要完整的 Xcode。

作者

👤 Eric Trenkel

👥 贡献者

🤝 参与贡献

欢迎贡献代码、提交问题和功能请求!
欢迎查看 issues 页面。 你也可以看看贡献指南。

表达支持

如果这个项目帮到了你,请给一个 ⭐️!

📝 许可证

版权所有 © 2026 Eric Trenkel。
本项目基于 GPL-3.0 许可证。


没找到你想要的内容?看看 Wiki

探索相关项目