Versions & benchmarks

Current release: binary v1.6.6, plugin v2.2.6 (v1.6.6, 2026-10-07). Requires Rust 1.88+. Licensed CC0-1.0.

Compression

Up to 610× compression on the standard corpus, 132× overall (106 KB → 800 B on the 20-sample standard corpus). Median: 23× fewer tokens on tool output.

Content typeCompression
Browser snapshot416×
Build output140×
JSON40×
Git diff23×
Terminal20×

Latency

End-to-end preview latency is 8-40 ms (includes the HTTP round-trip; the headline figure is ~10 ms). Classification alone runs 40-123 ns, and the compress path itself stays under 1 ms.

Real-world study

Measured, Sep 2026: 200 Hermes sessions, 6,843 API calls (Sep 18-20). Tokens with markers: 424,959,588; expanded: 581,302,405; saved: 156,342,817 (26.9%). Average 22,921 tokens per call; 183 of 200 sessions saved; median session ratio 22.9%. Retrieval tax: 2,275 calls / 2,011,583 tokens. Per-type: terminal 74×, table 61×, source_code 45×, ls 37×, diff 23×, build 23×, search 20×. Scaling: chat ~0%, light dev ~5%, tool-heavy 20-25%, pure-tool 76-82%.

Caveat, verbatim from the README: “the exact percentage is a band … sensitivity across 3.0-4.5 chars/tok spans ~24-33%, centered ~27%.”

v1.6.6 changelog

  • Catalog review: prefetch path guard, setup hardening, opt-in context engine.
  • aphrodite_prefetch refuses .env, auth.json, ~/.ssh, Hermes home, and non-file paths.
  • aphrodite setup treats the Hermes-home plugin dir as report-only - no symlink/write/delete; points at bash download.sh / pwsh download.ps1.
  • The dylib arm hard-refuses install when the in-tree SHA256SUMS.txt is missing or lacks a target entry.
  • Context engine is opt-in at registration (APHRODITE_CONTEXT_ENGINE=1; TOML default true); requires_hermes is >=0.20.2.
  • pre_tool_call behavior is disclosed: auto-backgrounds long terminal commands.
  • Config 1:1 audit - dead [templates.*] subtree and compression.prefetch removed; unwired keys annotated.
  • Binary 1.6.5 → 1.6.6, plugin 2.2.5 → 2.2.6.

Reproduce

cargo run --release -p aphrodite --example bench_01_corpus
cargo run --release -p aphrodite --example bench_02_threshold
cargo run --release -p aphrodite --example bench_03_retrieve
cargo run --release -p aphrodite --example bench_04_ema
cargo run --release -p aphrodite --example bench_05_type_coverage