whong09/majsoul-analysis-suite — explained in plain English
Analysis updated 2026-05-18
Extract a finished Mahjong Soul replay from your browser and convert it into a shareable JSON log.
Compare your discard efficiency and luck stats against the average player in your games.
Run bulk extraction across your entire replay history in one pass.
Get an AI-based review of your discards using the Mortal model without needing to install the model yourself.
| whong09/majsoul-analysis-suite | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 2/5 | 4/5 |
| Audience | general | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires launching Chrome with remote debugging enabled on a separate profile before extraction works.
This project is a toolkit for people who play Mahjong Soul, an online mahjong game, and want to study their own games afterward. Mahjong Soul runs in a browser, and this suite pulls a finished game replay straight out of that browser session, converts it into a standard JSON format used by another mahjong tool called tenhou, and then runs several scripts over that JSON to break down how you played. The analysis side looks at three things: luck (how good your starting tiles and draws were compared to everyone else at the table), efficiency (whether your discards were the mathematically best choice at each turn), and style (things like how often you called riichi or opened your hand). One script produces a side by side table comparing your numbers to the field average, so you can see, for example, whether your reach rate is unusually low or your useful draw rate is unusually high. A separate script folds in game value and hand context, so plays made for placement or scoring reasons are not mistakenly counted as pure errors. There is also a bulk mode that can work through an entire replay list automatically by driving the on screen interface, and it can read an in game AI review feature called MAKA straight from the browser's memory. For deeper review, the project can hook into a separate, locally run mahjong AI called Mortal to compare your discards against what a strong policy model would have played, and it can package logs into a shareable bundle that a machine without the AI model installed can still read. A small companion tool, written in TypeScript, handles the browser automation piece by connecting to Chrome over its remote debugging protocol. The project only reads your own replay data from your own browser session and does not interact with Mahjong Soul's servers directly. It is released under the MIT license.
A toolkit that pulls your Mahjong Soul game replays from the browser and analyzes your luck, efficiency, and playstyle against the field.
Mainly Python. The stack also includes Python, TypeScript, Chrome DevTools Protocol.
MIT license: use, copy, modify, and distribute freely, including for commercial purposes, as long as the copyright notice is kept.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Verify against the repo before relying on details.