The GUI packages Bilibili downloads for a media library
This app goes well beyond saving one MP4. It searches ordinary videos, series, courses, creator uploads, favorites, and account lists. Downloads can include video in AVC, HEVC, or AV1, separate audio choices, every available CC subtitle as SRT, original covers, and danmaku in XML or JSON. Danmaku can also be rendered into styled ASS subtitles.
Naming templates use the BV identifier, title, part, publication date, and uploader name to build a predictable folder tree. NFO scraping adds posters and fan art for Emby-style libraries. The app can embed source chapters and mark advertising segments as chapters for compatible players. For a large legal personal archive, those details save more time than the download button itself.
What happened when we ran it
Our sandbox cloned commit 1254c6b, containing 204 files, about 22,766 source lines, and 9.4 MB. pnpm installed 385 packages in 18 seconds and used 301 MB on disk. The build completed in 28 seconds inside an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets.
There was no test script or target, so we skipped tests. The scan also found no tests directory and no Dockerfile, though 5 CI workflow files were present. A passing build establishes that the measured source compiled; it does not exercise login, video lookup, segmented transfer, resume behavior, merging, subtitles, danmaku, NFO generation, or the desktop installers. Those paths depend on live Bilibili responses and platform media tooling.
Prebuilt v0.2.1 packages cover the main desktop platforms
The August 1, 2026 release provides Windows x64 installer and portable builds, macOS packages for Intel and Apple Silicon, and Linux deb, rpm, and portable archives. That is the easiest path for a normal user. The README warns that unofficial copies may be altered and asks users to download only from the GitHub release page. It also acknowledges antivirus false positives around unsigned software.
Building from source needs Rust, Node, pnpm, and the native requirements for Tauri 2. The README reduces the application steps to clone, install dependencies, and run the Tauri build, but the platform prerequisites still matter. Our measured 28-second project build did not produce or install every listed operating-system artifact. Anyone evaluating a flagged binary should reproduce the release from the tagged source on a clean machine rather than disabling antivirus blindly.
Account features trade convenience for cookie exposure
Anonymous lookup covers public material, while account features add favorites, history, watch-later lists, followed series, paid video, and courses. Login can use cookies or a QR code. This gives the app access to a valuable Bilibili session, so users should treat its configuration and logs as sensitive, avoid sharing them in issues, and sign out or revoke sessions when testing is finished.
Open issue 87 reports that a SESSDATA cookie was not URL-encoded, preventing full quality on some member series and films. Issue 100 says course parsing used an integer for a balance that may contain a decimal. These are concrete examples of how a desktop client can break when assumptions about Bilibili account data change. They also show why an automated integration fixture would be useful, even if live protected content cannot run in public CI.
The plugin system deliberately has no safety boundary
The Rust backend includes an experimental in-process dynamic-library plugin mechanism. The maintainer calls it immature and says it applies no security restrictions so plugins retain full capability. A DLL, shared object, or dylib loaded into the process can read cookies, alter files, inspect downloads, or run any action permitted to the app. There is no sandbox to contain an untrusted extension.
The README's advice is correct: use open-source plugins, inspect them, and compile them yourself. It explicitly warns against binaries shared through email, social apps, issues, discussions, forks, file-sharing sites, or other websites. Most users should avoid plugins entirely until a required feature justifies that review burden. Modifying the main source is less convenient, but it keeps the change visible in one build.
Resume, merging, and metadata are the failure-prone edges
The task manager supports pause, continue, retry, deletion, batching, and resumed transfers. Those controls are important for long series and large formats. They also create persistent state that must remain consistent with partial files. Issue 104 reports that a plugin changing download progress can roll a completed task back to unfinished after restart, causing a full redownload.
Other open reports describe occasional JSON errors when embedding chapters, HTTP 412 responses while searching creator uploads, failed automatic merging, and a case requiring chapter marks and subtitle downloads to be disabled. Issue 61 says the frontend becomes visibly slow when many tasks emit progress updates. A buyer planning hundreds of items should trial 10 representative downloads first, including one multi-part video and one interrupted transfer.
Chinese speakers get the intended support experience
The README, contribution rules, issue reports, and feature vocabulary are Chinese. There is no English README in the repository root. The graphical interface may still be usable elsewhere, but troubleshooting cookies, codecs, paid content, or Bilibili-specific errors will be much harder without reading Chinese. Contributions are expected against the develop branch, with formatting and checks run before a pull request.
GitHub showed 16 combined issues and pull requests and a last push on August 25, 2026. Release v0.2.1 arrived on August 1, and the repository uses the MIT license. The current activity looks healthy for a young single-purpose desktop tool. Missing automated tests and unrestricted plugins keep the maturity score at 3, even though the release coverage and issue detail are better than many download utilities.

