Skip to content

v3.0.0 — library dashboard + persistence

Choose a tag to compare

@MKS-01 MKS-01 released this 13 Jun 15:58
f4899bc

A new web dashboard to replay past reads, backed by an on-device read library. It's a separate, model-free replay UI — the terminal CLI and the WebSocket protocol are unchanged.

✨ Highlights

  • Read library (SQLite). Every synthesized read is now saved — title, summary, source URL, voice, duration, timestamp — in a local stdlib-sqlite3 library. Read-only paged REST: GET /api/library (search + sort + paginate), GET /api/library/{id}, DELETE /api/library/{id}.
  • Web dashboard (Vue 3) — search, sort, and replay any past read with a full player (seek, ±5 s, pause/replay) and a word-by-word synced transcript; delete removes the row and its audio. Same terminal aesthetic as the CLI.
  • Generate once, replay anytime. The heavy LLM + neural-TTS work runs on demand; replaying a saved read is light and model-free — so the dashboard stays tiny.

⚠️ Breaking change

  • Audio + library location. Generated audio and the new SQLite library are written to a configurable folder via reader.output_dir / reader.library_db, moved out of the old ~/.readback/reader/ default. Upgrading? Move your existing WAVs and point those config keys wherever you like (or set them back to ~/.readback/reader in config.yaml).

Details: PR #12 · compare v2.0.0...v3.0.0