MXU 是一个基于 MaaFramework PI V2 协议的通用 GUI 客户端,使用 Tauri + React + TypeScript 构建。
它可以解析任何符合 PI V2 标准的 interface.json 文件,为 MaaFramework 生态中的自动化项目提供开箱即用的图形界面。
Tip
MXU 已支持最新最潮的 PI v2.5.0 协议!
- 📋 任务管理 - 可视化配置任务列表,支持拖拽排序
- 🔧 多实例支持 - 同时管理多个独立运行的实例(标签页多开)
- 🎮 多控制器类型 - 支持 Adb、Win32、PlayCover、Gamepad
- 🌍 国际化 - 界面内置多种语言,自动加载
interface.json中的翻译 - 🎨 明暗主题 - 支持 Light/Dark 主题切换
- 📱 实时截图 - 显示设备实时画面,可自定义帧率
- 📝 运行日志 - 查看任务执行日志和 Agent 输出
- ⏰ 定时任务 - 支持配置定时执行策略
- 🔄 自动更新 - 支持 MirrorChyan 和 GitHub 自动下载更新
- 🤖 Agent 支持 - 支持 MaaAgentClient 实现自定义识别器和动作
MXU Releases 中提供了单可执行文件(Windows 为 mxu.exe,Linux/macOS 为 mxu),您需要配置以下依赖:
- MaaFramework 运行库 ( >=
v5.5.0-beta.1) ,将压缩包中的bin文件夹内容解压到maafw文件夹中 - interface.json 及相关资源文件,请参考 PI 协议文档 编写
目录结构如下
your-project/
├── mxu.exe (或 mxu)
├── maafw/
│ ├── MaaFramework.dll (Windows)
│ ├── MaaToolkit.dll
│ └── ... 其他依赖库
├── interface.json
└── resource/
随后运行 mxu.exe(Windows)或 ./mxu(Linux/macOS)即可!~
用户配置保存在 config 文件夹中,调试日志保存在 debug 文件夹中。亦可在 设置 - 调试 中直接打开文件夹。
Node.js (>= 18)
# macOS (Homebrew)
brew install node
# Windows (winget)
winget install OpenJS.NodeJSpnpm (>= 8)
npm install -g pnpmRust (>= 1.70)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env项目依赖
pnpm installpnpm tauri dev启动前端开发服务器和 Tauri 桌面应用,支持热重载。
pnpm tauri build构建产物位于 src-tauri/target/release/ 目录。
MXU 在很大程度上属于 vibe coding:开发与产品决策主要由维护者的直觉、审美与真实使用场景驱动,在主观判断下保持体验一致,而不是先锁定一份长期冻结的技术蓝图或与外部共识逐条对齐。由此,仓库整体是产品导向而非技术导向——优先级放在用户体验与运行稳定性上;实现方式、工程「潮流」或技术细节并非讨论焦点。
关于贡献与合并预期,请事先了解:
- 缺陷修复:欢迎直接提交 Pull Request;聚焦问题、范围清晰的修复通常更易审阅与合入。
- 新功能、重构或行为/交互层面的较大改动:维护者会按产品方向与一致性独立判断,不保证接受。若未经事先沟通就投入大量开发,存在合入被拒的可能。
- 小众与极客向功能:仅服务于极少数场景、或需要大量背景知识才能理解的价值主张,大概率不会通过。维护者优先面向大多数用户保持界面清晰;每多一个入口、开关或选项,都会抬高学习与决策成本,因此会刻意控制功能暴露面。
- 建议流程:若计划增加能力或调整架构/交互,请先提交 Issue 说明动机、用户场景与拟定方案,与维护者对齐设计后再实现,以减少无效劳动与预期落差。
说白了就是:怎么写、合什么,主要看维护者顺不顺眼、普通用户会不会多背一层菜单;不是堆技术秀肌肉,也没法照单全收所有点子。想上大改动先开个 Issue 对一下,比闷头做完被拒省心。
感谢配合与理解。
- MaaFramework - 基于图像识别的自动化黑盒测试框架
GNU Affero General Public License v3.0
感谢以下开发者对 MXU 作出的贡献: