🚧 Work in progress — this arena is under active development. Leaderboards, fighters and data are incomplete and may change or reset without notice; don't rely on these numbers yet.

Which plugin should I use?
Let them fight.

Reproducible benchmarks rank OpenVoiceOS plugins on labelled datasets; blind A/B battles let the community refine those rankings with human judgement. No servers, no accounts — the whole arena is a GitHub repository.

⚔️ Start voting Leaderboards Meet the fighters

Leaderboards

Benchmark boards straight from prediction runs, beside ELO boards seeded from them and refined by votes.

View leaderboards

Battle

Pick the better plugin output in a blind A/B comparison. Votes go through GitHub Issues — no arena account.

Start voting

Fighters

Browse the bestiary: every fighter with its species (plugin class), types (architecture) and configuration.

Open the bestiary

Fork your arena

Every fighter and dataset is a JSON file; every benchmark is a Python script. Fork, point at your data, done.

Fork on GitHub

How it works

  1. Benchmarks run offline. A dedicated script per benchmark trains each fighter and publishes per-sample predictions to HuggingFace — public, reproducible, versioned.
  2. CI assembles the arena. A scheduled Action turns predictions into benchmark boards, blind battle pools, and a benchmark-seeded ELO ledger.
  3. You vote. A battle shows two anonymous outputs for the same input; your pick opens a prefilled GitHub issue.
  4. CI tallies. Hourly, vote issues are parsed, deduplicated, and replayed on top of the ELO seed; updated boards are committed and the site redeploys.

Every vote is public and the ELO standings are deterministically replayable from the issue history — the vote log is the audit trail.