macOS 版即将推出 · Windows 与 Linux 在路上

一个懂你的
Minecraft 启动器。

Rust 写的核心,每个平台用原生界面。新建实例、导入整合包、装模组和光影,默认值都填好了,点一下就行。整个应用 14 MB。

MIT 开源,真的那种没有统计上报游戏本体只从 Mojang 官方下载

Yumu 读作「原木」,英文就念 yoo-moo。一段木头,心材是 Rust 核心,树皮是界面。

Slimes Adventure

Fabric 0.19.5 · 1.21.1 · 上次游玩 4 分钟前

准备就绪 准备中… 正在安装… 0 / 318 MiB 运行中

游玩时长0 分钟
上次游玩4 分钟前
存档0 个
模组125 个
开始游戏 打开文件夹 ···
概览 模组 125 资源 存档 日志 设置
存档
还没有世界。开始游戏后会出现在这里。
模组管理
125 个
AccessoriesAccessories Compatibility LayerAncient ArtifactsArchitecturyArmor StatuesArtifacts+119
最近
上次游玩 4 分钟前
累计游玩 0 分钟
打开文件夹.minecraft 目录
查看日志最近一次运行的输出
实例设置内存、Java、窗口
导出整合包即将推出
已安装125检查更新
Fabric API0.102.0+1.21.1
Modrinth
Sodium0.6.0
Modrinth
Iris Shaders1.8.0
Modrinth
Architectury13.0.6
Modrinth
Ancient Artifacts1.4.2 · 已禁用
Modrinth
Accessories1.1.0-beta.30
本地

上面是网页复刻的界面,不是截图。真实的 App 跟随系统强调色,所以你那边的按钮可能是蓝的。

14MB整个应用的体积,含核心与命令行
10个第三方 Rust 依赖。白名单之外的,自己写
5种加载器:原版、Fabric、Quilt、Forge、NeoForge
3种界面语言:中文、英文、日文,跟随系统
0界面层的第三方依赖。只有 SwiftUI

能做什么

你想做的事,它先替你把选项填好。

一个启动器要做的事其实就那么几件。Yumu 把每一件都做到不用问你任何问题,问题都留给「高级设置」。

整合包拖进来就装好

把 .mrpack 拖进窗口的任何位置,导入就开始了,不弹表单。需要的模组、加载器、配置全部自动装齐。中途失败自动回滚,不会留下半个实例。

模组、光影、资源包

直接搜 Modrinth,点安装。必需的前置自动一起装,可选的不多嘴。禁用方式和 Prism、Modrinth App 一样,互相认得。

五种加载器,一个入口

原版、Fabric、Quilt、Forge、NeoForge,新建实例时点一下就行。不可用的组合直接变灰,不会让你装到一半才报错。五种都在 1.21.1 上实测启动到主界面。

Java 不用你管

按游戏版本自动下载对应的 Mojang 运行时,本机装过的也能认出来。版本不匹配一律自动处理,永远不会下载 Oracle JDK。

认得你已有的存档

第一次打开会扫描官方启动器、Prism、MultiMC 和 Modrinth App 的目录,列出已有的存档、版本和 Java,一键拷进来。侧栏底下那个「这台 Mac 上已有」就是它。

崩溃了说人话

游戏崩了不会给你看一屏堆栈。Yumu 分成内存不够、模组冲突、Java 不匹配、显卡驱动几类,旁边放一个修复按钮,比如「把内存调到 4 GB」。

界面

四条规矩,每个平台都一样。

界面规范叫 Bark,树皮。它约束 macOS、Windows 和以后的 Linux 版:换一台电脑打开 Yumu,除了字体和窗口边框,看到的是同一个产品。

1

一眼看懂

任何页面 3 秒内知道自己在哪、能做什么。每页只有一个主操作按钮,用强调色;其余全是次级。

2

一步到位

新建实例不改任何项就能创建;拖入整合包不问任何问题。没有一个选项是「不填就跑不起来」的。

3

高级藏起来

Java 路径、内存、JVM 参数、分辨率全都在,但默认折叠,永远不出现在主路径上。每一项都带一句说明,说后果,不说术语。

4

动起来才算完成

每个状态变化都有过渡,没有闪变。出错时变色加一句话,不抖动、不弹窗。开了「减弱动态效果」就全部退化成淡入淡出。

结构

一根原木。

Yumu 是「原木」的音。代码的分层也照着一段木头的横切面来命名,从里到外三层。

心材 HeartwoodRust 核心库

下载、安装、启动、账号、模组、整合包,全部逻辑在这里。编译成静态库,直接链接进每个平台的应用。命令行工具 yumu 链接的是同一个核心。

木纹 Grain一份手写的 C 头文件

核心和界面之间只有函数调用和 JSON 字符串。没有绑定生成器,没有进程间通信,没有第二个进程。耗时操作立即返回任务号,进度靠回调推过来。

树皮 Bark设计令牌、动效、翻译

颜色、间距、圆角、动效时长都是数据,各端从同一份令牌生成代码。macOS 用 SwiftUI,Windows 用 WinUI 3,长的是同一个样子。

为什么不用 Electron。启动器要常驻在游戏旁边,不该比游戏本身还占资源。原生界面直接拿到系统的强调色、字体、深浅模式和无障碍设置。冷启动的目标是 1 秒以内,空闲内存 60 MB 以内。

同一个核心

没有图形界面的地方,命令行照样跑。

yumu 命令行链接的是同一个 Heartwood,不是另一套实现。服务器、小众架构的 Linux、脚本自动化,一条命令从零下载并启动。右边是真实的输出格式。

yumu-cli

      

稳定

不会把你的存档弄坏。

这些是写代码时的硬规则,不是建议。每一条都在核心里强制,界面绕不过去。

  • 先写临时文件,校验哈希通过才改名到位。下载到一半断网,磁盘上不会出现损坏的文件。
  • 每个网络请求都有超时,失败按指数退避重试三次,不会卡死在一个转圈上。
  • 缓存随时可以整个删掉。删了只是变慢。存档和实例只在 instances/ 里,和缓存绝不混放。
  • 游戏进程分离拉起。启动器退出或者崩溃,游戏照常跑,日志直接写文件。
  • 解压任何压缩包都防路径穿越。一个恶意整合包写不到实例目录之外。
  • 核心永远不会 panic 到界面。实例目录可以整个拷到另一台机器上继续用。
架构文档里的完整列表 →

来源

每个文件从哪来,都写在明处。

分发给全球用户的启动器,碰到的每个外部来源都先回答两个问题:有权从这里下载吗,有权放到用户机器上吗。

  • 游戏本体只从 Mojang 官方服务器下载。Yumu 不托管、不镜像、不缓存任何 Mojang 文件到自己的服务器。
  • Java 只用 Mojang 和 Adoptium 的 OpenJDK。许可证允许再分发的才下载。
  • Modrinth、CurseForge 按平台条款来。平台不允许第三方下载的文件,跳转浏览器让你自己下,不绕。
  • 镜像源只在你显式选择时启用,不做默认,并提示风险。
  • 账号令牌只存在你自己的电脑上,文件权限 0600,和 Prism 的做法相同。
  • Oracle JDK 任何情况下不下载。没有统计,没有上报。核心的网络请求只有下载游戏、模组和登录这几件事。
来源登记表 →

平台

macOS 先行,其余照顺序来。

核心不依赖任何系统 C 库,TLS 用 rustls,SQLite 自带编译。界面每个平台单独写,所以是一个一个来。

系统架构界面状态说明
macOS 14+Apple 芯片、IntelSwiftUI即将推出单个 Yumu.app,Developer ID 签名加公证,不走 App Store
Windows 10 1809+x86_64WinUI 3下一阶段单个 Yumu.exe,Native AOT 把核心与界面合成一个文件
Windows 11arm64WinUI 3下一阶段旧版本游戏用覆盖表替换 LWJGL
Linuxx86_64、aarch64GTK4(待定)规划中先出命令行,再做界面
Linuxriscv64、loongarch64、ppc64le命令行从源码构建系统 Java 加社区 natives 覆盖表,覆盖表是纯数据,欢迎提 PR

支持等级的定义和每个平台的 Java、LWJGL 来源,见 平台与架构支持矩阵。

进度

现在到哪一步了。

不说「敬请期待」。这是路线图的现状,和仓库里的文档同步。

已经能用

  • macOS 应用,单个 Yumu.app,命令行工具随包携带
  • 原版、Fabric、Quilt、Forge、NeoForge 实例的新建、安装、启动
  • Modrinth 搜索安装模组、光影、资源包、整合包;拖入 .mrpack 导入
  • 扫描本机已有的存档、版本与 Java,存档一键拷入
  • 实例详情:概览、模组、资源、存档、日志、设置,游玩时长统计
  • 微软账号登录的代码与 Azure 应用注册。正式可用要等 Mojang 审批 client ID
  • 中文、英文、日文界面,跟随系统语言

还没有

  • 公开下载。签名、公证、自动更新做完就发
  • Windows 与 Linux 版本
  • CurseForge
  • Forge 1.12 及更早、1.12 以前的旧版本参数格式
  • 模组更新检测、整合包导出为 .mrpack
  • 下载断点续传、崩溃报告的界面

更新于 2026 年 10 月 8 日 · 完整清单见 路线图

常见问题

你大概会问的。

和 Prism、HMCL、PCL 比有什么不同?

它们都很好,差别在取舍。Yumu 的界面是原生的,核心是 Rust,整个应用 14 MB,并且不给你任何需要解释的选项。高级功能都在,但默认看不见。如果你喜欢把每个参数都摆在面上,Prism 可能更合适。

开源吗?

MIT 许可证,就是真的开源那种:代码拿去改、拿去分发、拿去做你自己的版本,不用来问我。有些启动器也把代码放在 GitHub 上,但协议写着不许修改、不许二次分发、不许拿去做别的,那更像是展示,不是开源。Yumu 不是那种。

为什么不用 Electron 或者网页技术?

启动器要常驻在游戏旁边,不该比游戏本身还占资源。原生界面也能直接用上系统的强调色、字体、深浅模式和无障碍设置,不需要自己再模拟一遍。

微软账号登录什么时候能用?

代码已经完成,Azure 应用也注册好了。Mojang 要求第三方启动器的 client ID 经过审核,正式版发布前会提交申请。这是开发者做一次的事,玩家不需要做任何验证,登录的就是自己的微软账号,和官方启动器一样。

支持离线账号吗?

支持,规则和 Prism 相同:先要有至少一个微软账号,之后才能添加离线账号。最后一个微软账号移除时,离线账号一并删除。

会收集我的数据吗?

不会。没有统计,没有崩溃上报。缓存和账号信息只在你自己的电脑上,Yumu 不会上传、同步或在用户之间共享它们。依赖列表只有十个 crate,想查的话可以自己看。

Yumu 怎么念?

中文就是「原木」两个字的音,yù-mù。英文念 yoo-moo,两个音节,重音在前。名字来自一段木头:心材 Heartwood 是核心,木纹 Grain 是接口,树皮 Bark 是界面。

Windows 和 Linux 呢?

Windows 是下一阶段,用 WinUI 3,单个 exe 文件。Linux 之后,先出命令行,再做界面。核心已经能在这些平台上编译,差的是界面。

准备好了,会先出现在这里。

第一个公开版本是 macOS。在那之前,想试的话可以从源码构建,一条命令。