個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Unofficial browser reconstruction of Miitomo 2.4.0 from your own game files, plus Miitomo Reboot (new social features)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Miitomo Web is an unofficial, fan-made reconstruction of Nintendo's Miitomo (Android 2.4.0) that runs in a desktop browser. It does not ship any Nintendo content: the game reads the models, textures, texts and sounds from your own copy of the original files at runtime.
The repository holds two clearly separated experiences:
| Miitomo Web (Classic) | Miitomo Reboot | |
|---|---|---|
| Goal | Rebuild Miitomo 2.4.0 as it was, from evidence | Add new social features on top of the Classic engine |
| Content | Only what exists in the original files; missing server content stays marked as missing | New features, clearly labelled as not original |
| Start | avvia-miitomo-web.bat or ?reboot=0 | avvia-miitomo-reboot.bat or ?reboot=1 |
| Status | Playable core loop; see ORIGINAL-PORT-STATUS | Phases R1–R4 done, R5 next; see ROADMAP |
▶ Web preview: frysco19.github.io/miitomo-web. It hosts the code only:
on the first visit you import your own Miitomo files, which stay in your browser for the next visits. Add
?reboot=1 to the address to open Reboot.
[!IMPORTANT] This is a preservation and research project. It is not affiliated with, endorsed by or connected to Nintendo. It never contacts Nintendo servers, has no online play and no real-money purchases.
All screenshots are real captures of the current build, taken by the automated end-to-end tests in headless Chromium. The Mii, room, clothing and interface graphics in them come from the original game files supplied locally; they are shown for documentation only and are not part of this repository's licence.
| Classic: the room | Classic: Mii editor |
|---|---|
| Classic: wardrobe | Classic: Miifoto |
| Reboot: eight Miis talking | Reboot: public room |
| Reboot: the "Piazza" hub | |
Every element is classified as ORIGINAL, REVERSED, DEDUCED, APPROXIMATED, SERVER DATA MISSING or WEB ADAPTATION in
docs/CLASSIFICATION.md. The question database, friends' answers, coins and ranks were
server data that no longer exists; they are shown as missing, never invented.
| Phase | Feature | State |
|---|---|---|
| R1 | Separation from Classic, feature flags, server contracts, safety primitives | done |
| R2 | Up to 8 Miis in the same room, shared door queue, personal distance | done |
| R2b | Social life: Miis notice each other, hold conversations, choose activities by personality | done |
| R3 | Public room: open your room to visitors, permissions, kick, polite closing | done |
| R4 | Social hub "Piazza": move between your room and your public room | done |
| R5 | MIInstagram and Miifoto 2 | next |
| R6–R12 | Minigames, events, rewards, notifications, own backend, realtime multiplayer, polish | planned |
Reboot is local only today. Visitors in the public room are simulated by a local service that emits the same events the planned backend will send.
flowchart LR
files["Your own files<br/>(APK 2.4.0, CDN zips)"] --> vfs["Local import<br/>assets/vfs + IndexedDB"]
vfs --> formats["Format readers<br/>POD · PVR · MSBT · CCBI"]
formats --> engine["Classic engine<br/>Mii · body · room · UI · sound"]
engine --> play["Classic game<br/>(play/, room/)"]
gate{"reboot gate<br/>?reboot=1"} -. dynamic import .-> reboot["Reboot<br/>(src/reboot/)"]
play --> gate
reboot -- "RebootHost<br/>(narrow interface)" --> engine
reboot --> provider["Providers<br/>local now · own server in R10"]
RebootHost interface. A unit test enforces the import boundary.See docs/reboot/ARCHITECTURE.md and docs/architecture/.
git clone https://github.com/FrySco19/miitomo-web.git
cd miitomo-web/client/web
npm ci # also copies the FFL WebAssembly module into public/ffl
npm run dev # development server on http://localhost:5173
npm run build # type check + production build into client/web/dist
npm run preview # serves the build on http://localhost:4173
Open the page and import your files with the file picker. Add ?reboot=1 to the address to open Reboot, or
?reboot=0 to force Classic.
After npm run build, put your files in the project folder (the APK and the asset zips in the root, other CDN zips
in local-assets/cdn/) and double-click:
avvia-miitomo-web.bat: Classic;avvia-miitomo-reboot.bat: Reboot.They start tools/serve-local.ps1, a small server bound to localhost that serves the build and, read-only, only
your own asset files. Nothing leaves your computer.
Unit tests that need no game files; these run in CI on every push:
cd client/web
for t in bodyscale framing personality reboot social rooms hub; do npx tsx ../../tests/unit/$t.test.mts; done
End-to-end tests drive the real build in headless Chromium with Playwright. They need your own game files, so they run locally only:
(cd tests && npm install --no-save playwright && npx playwright install chromium)
(cd client/web && npm run build && npx vite preview --port 4173) &
node tests/e2e/m18-guest.smoke.mjs http://localhost:4173/ out/m18 <your files…>
Each suite lists its arguments in its header comment.
The regression set used for this project is 16 suites: m8, m9, m12–m18, full, m13-voice,
m13-update, r2, r2b, r3, r4. Older suites (mii-lab, mii-full, m6, m7) are kept in the repository but are not part of the current
regression set.
client/web/ browser client (Vite + TypeScript + three.js)
src/formats/ readers for the original file formats
src/agx/ original shader material
src/body/ room/ play/ social/ voice/ effects/ Classic engine and game
src/reboot/ Miitomo Reboot (loaded only behind the gate)
tests/unit/ unit tests (tsx)
tests/e2e/ end-to-end tests (Playwright, need your own files)
tools/ local server and research scripts (Python, PowerShell)
docs/ status, classification, reverse engineering, Reboot design
Start with the documentation index. Key pages: original port status · classification · Classic vs Reboot · Reboot roadmap · play audit.
Contributions are welcome within the project rules: no Nintendo assets, no Nintendo services, no invented original content. See CONTRIBUTING.md.
Miitomo, Mii and Nintendo are trademarks of Nintendo. This project is an independent, non-commercial fan reconstruction made for preservation and research. It is not affiliated with, sponsored by or endorsed by Nintendo.
The repository contains only original code and documentation. It does not include the APK, game assets, extracted files, server credentials or any Nintendo source code. To use it you need files you obtained yourself, under the terms that apply to you.
The project's own code and documentation are licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only), matching the FFL.js dependency. The licence does not cover Nintendo's files or trademarks, or any graphics from the game shown in the screenshots.