Kazumi 2.2.9 is a Chinese-first anime rule player
Kazumi is a Flutter application for collecting anime listings and playing episodes through custom source rules. The README, Q&A, release notes, and linked documentation are primarily Chinese, and it does not link an English guide. A rule can be built from up to five XPath-based selectors, imported, and shared. The app then wraps those sources in a schedule, search, episode browser, player, watch list, history, downloads, and cross-device sync.
This is different from a service that licenses and hosts a catalog. Kazumi supplies the client and extraction rules; users choose external video sources. The README says the project inserts no ads, warns that source sites may show them, and tells users not to trust their contents. It also puts responsibility for local law and third-party intellectual-property rights on the user, with a stated 24-hour limit on retained data and cache unless authorization exists.
Six platforms do not receive equal support
The listed targets are Android 10 or newer, Windows 10 or newer, macOS 10.15 or newer, iOS 13 or newer, HarmonyOS 5.0 or newer, and Linux. Those labels hide important differences. Linux is experimental. iOS requires sideloading, as does the separate HarmonyOS branch. Android has an F-Droid route, Linux has Flathub, and Arch users can choose source or binary AUR packages.
That breadth is still useful. A viewer can keep one interaction model across a phone and desktop, cast over DLNA, use an external player, or join synchronized viewing through the SyncPlay protocol and public servers. Release 2.2.9 fixed Android picture-in-picture layout and background buffering problems, Linux data loss after duplicate starts, and a macOS window-focus bug. Those fixes also show how much platform-specific behavior the maintainers must carry.
Open issue #2496 reports that the app would not start on an Intel Mac running macOS 12.7.6. Issue #2505 reports comments mapped to the wrong episodes of one long-running series. Neither report proves a general failure, but both are sensible acceptance tests: launch on the oldest hardware you plan to support, then confirm that source episodes and timed comments still refer to the same content.
What happened when we ran it
We did not run Kazumi at commit 4520136 in our 3-CPU, 8 GB fresh Debian sandbox. The lab has no supported Dart or Flutter ecosystem harness, and the repository has no Dockerfile that defines another route. We therefore have no first-party timing, build outcome, test count, dependency count, or vulnerability audit for this checkout.
That absence is not a failed Flutter build. It means no build was attempted. The README's developer Q&A says compilation pulls Flutter resources hosted by Google plus dependencies from Maven Central, GitHub, and SourceForge. It warns that developers in mainland China may need appropriate mirror addresses. Our sandbox did not test those downloads, a desktop bundle, mobile signing, or any of the six platform targets.
A realistic trial should begin with a packaged release on the intended device. Import a rule you are legally allowed to use, search for several series, open different sources, seek within an episode, and verify subtitles and comments. If upscaling matters, test it on the exact GPU and resolution combination. A successful app launch says little about remote source changes or sustained playback.
XPath support stops short of XPath itself
The compact rule format is Kazumi's signature idea. Up to five selectors are easier to share and inspect than a full scraper plug-in, and a separate rules repository accepts community submissions. The tradeoff is expressiveness. The rule-author Q&A says XPath support is incomplete and currently accepts selectors beginning with //. A site that needs other XPath forms or substantial scripted behavior may not fit.
Source dependence creates ongoing maintenance. A remote page can change its structure, anti-hotlink behavior, or player delivery without Kazumi changing at all. The Q&A says some sources cannot play through an external player because Kazumi can handle their anti-hotlink measures internally. Rule authors own that mismatch, and viewers should keep more than one legitimate source rather than treating a shared rule as permanent.
The app also has resource costs. Anime4K real-time upscaling is available, but the README says quality mode can stutter without a high-performance discrete GPU and recommends efficiency mode or low-resolution inputs in that case. Playback intentionally caches as much video in memory as practical; a low-memory mode limits that behavior. These are useful controls, though neither turns weak hardware into a high-end playback box.
Same-week code and release activity point to active maintenance
Kazumi 2.2.9 was released on 2026-08-21, and the repository was pushed on 2026-08-26. GitHub listed 491 open issues and pull requests together. Current work includes Android 16 layout adaptation, custom rule repositories, per-source episode sorting, player requests, sync requests, and fresh bug reports. The traffic is mostly Chinese, matching the project's documentation and audience.
The GPL-3.0 code has a clear privacy claim: the README says Kazumi collects no user data and includes no telemetry component. Its icon is separately copyrighted and cannot be reused, copied, modified, or distributed without the artist's permission. Anyone redistributing a fork must separate the software license from that asset permission instead of assuming every repository file has the same reuse terms.
Kazumi is worth trying when its Chinese documentation, rule model, and platform support line up with your needs. Our lab has zero execution evidence for 4520136, so packaged-release testing carries extra weight. Users seeking a known licensed catalog or an English support path should choose another client; users who own their media will get a clearer legal and operational model from Jellyfin.
