https://github.com/brianm/ook
Mac desktop app for searching Kindle library
https://github.com/brianm/ook
desktop-app kindle library search
Last synced: 6 months ago
JSON representation
Mac desktop app for searching Kindle library
- Host: GitHub
- URL: https://github.com/brianm/ook
- Owner: brianm
- License: apache-2.0
- Created: 2022-11-09T04:48:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-01T06:13:40.000Z (6 months ago)
- Last Synced: 2026-01-02T00:44:39.718Z (6 months ago)
- Topics: desktop-app, kindle, library, search
- Language: Rust
- Homepage: https://github.com/brianm/ook
- Size: 10.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ook
A desktop app for personal book library management with semantic search. Import your Kindle library, enrich with OpenLibrary metadata, and search by meaning rather than just keywords.
## Features
- **Import Kindle Library**: Parse Safari webarchive exports from read.amazon.com
- **Metadata Enrichment**: Automatically fetch book details from OpenLibrary (descriptions, subjects, publish dates)
- **Semantic Search**: Find books by meaning using sentence embeddings (multi-qa-mpnet-base-cos-v1)
- **Keyword Search**: Full-text search with SQLite FTS5
- **Keyboard Navigation**: Arrow keys to navigate results, Enter to expand
## Tech Stack
- **Frontend**: Svelte + TypeScript + Vite
- **Backend**: Rust + Tauri v2
- **Database**: SQLite + sqlite-vec (vector search)
- **Embeddings**: ONNX Runtime (multi-qa-mpnet-base-cos-v1 model)
## Development
```bash
# Install dependencies
cd ui && npm install
# Start dev server
cd ui && npm run dev # Svelte dev server on port 5173
cargo tauri dev # Run Tauri app in dev mode
# Build release
cd ui && npm run build
cargo tauri build
```
## Data Location
- Database: `~/Library/Application Support/Ook/books.db`
- The ONNX model is bundled with the app (~416MB)
## How to Import Your Kindle Library
1. Open Safari and go to [read.amazon.com](https://read.amazon.com)
2. Sign in with your Amazon account
3. **Scroll down repeatedly** until all your books are loaded (the page lazy-loads as you scroll)
4. From the menu bar, choose **File > Save As...**
5. Set Format to **"Web Archive"**
6. Save the file, then use Ook's Import tab to select it
## Notice
This tool processes user-provided HTML files and makes no network requests to Amazon. Users are responsible for compliance with any applicable terms for services they use. Ook is intended for personal library management.
## License
Apache-2.0
See [THIRD_PARTY_LICENSES.txt](THIRD_PARTY_LICENSES.txt) for third-party component licenses.
Note: The embedding model (multi-qa-mpnet-base-cos-v1) is Apache-2.0 licensed, but its training data includes datasets with commercial use restrictions.