|
3 | 3 | [](https://github.com/GoKitiky/MyBookshelfAI/actions/workflows/ci.yml) |
4 | 4 |
|
5 | 5 | **AI-powered personal book recommender. Bring your own API key.** |
| 6 | +**Stop guessing your next read. Use your own notes to get recommendations that actually fit your taste.** |
6 | 7 |
|
7 | | -Import your reading notes as Markdown files, get AI-powered enrichment (genres, themes, mood, complexity), a reader profile built from your library, and personalized book recommendations. |
| 8 | +MyBookshelfAI turns scattered Markdown book notes into a personal reading brain: clean library, AI enrichment, reader profile, and ranked recommendations. |
8 | 9 |
|
9 | | -**Why this project:** keep notes and taste in one place, run everything locally (or in Docker), and plug in any OpenAI-compatible API—no vendor lock-in for how you host the app. |
| 10 | +## The pain it solves |
10 | 11 |
|
11 | | -**Limits:** you need your own LLM API key for enrichment and recommendations; data stays on your machine (SQLite). This is not a hosted SaaS. |
| 12 | +- **"I have notes everywhere, but no system."** |
| 13 | + Import your `.md` files and get one searchable library. |
| 14 | +- **"Most recommendation apps feel random."** |
| 15 | + Suggestions are based on *your* reading profile, not generic trends. AI extracts genres, themes, mood, and complexity from each note. |
| 16 | +- **"I do not want platform lock-in."** |
| 17 | + Bring your own API key, keep data local in SQLite, run locally or in Docker. |
| 18 | + |
| 19 | +## Download Linux Desktop (fast) |
| 20 | + |
| 21 | +- **Latest Linux builds:** [Open Downloads Page](https://github.com/GoKitiky/MyBookshelfAI/releases/latest) |
| 22 | +- **Formats planned for quick install:** AppImage and `.deb` |
| 23 | + |
| 24 | +**Limits:** you need your own LLM API key for enrichment and recommendations. Data stays on your machine (SQLite). This is not a hosted SaaS. |
12 | 25 |
|
13 | 26 | ## Screenshots |
14 | 27 |
|
@@ -92,6 +105,37 @@ Then open <http://localhost:5173>: |
92 | 105 | 2. **Import** your `.md` book notes. |
93 | 106 | 3. **Enrich** → **Build profile** → **Get recommendations**. |
94 | 107 |
|
| 108 | +### Linux desktop (Tauri) |
| 109 | + |
| 110 | +This repo also supports a Linux desktop build where the backend is started |
| 111 | +automatically as a Tauri sidecar (no separate `uvicorn` command). |
| 112 | + |
| 113 | +Prerequisites: |
| 114 | + |
| 115 | +- Rust toolchain (`rustup`, `cargo`) |
| 116 | +- Linux Tauri system dependencies (WebKitGTK, GTK3, libayatana-appindicator) |
| 117 | + - Ubuntu/Debian example: `sudo apt install -y libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf` |
| 118 | +- PyInstaller for the backend sidecar build (`pip install pyinstaller`) |
| 119 | + |
| 120 | +Desktop dev/build commands: |
| 121 | + |
| 122 | +```bash |
| 123 | +cd frontend |
| 124 | +npm ci |
| 125 | +npm run desktop:dev |
| 126 | +# or: npm run desktop:build |
| 127 | +``` |
| 128 | + |
| 129 | +Equivalent Make targets from repo root: |
| 130 | + |
| 131 | +```bash |
| 132 | +make desktop-dev |
| 133 | +# or: make desktop-build |
| 134 | +``` |
| 135 | + |
| 136 | +Desktop runtime data is stored in the app data directory resolved by Tauri. |
| 137 | +You can override it with `MYBOOKSHELFAI_DATA_DIR` when needed. |
| 138 | + |
95 | 139 | ## Markdown File Format |
96 | 140 |
|
97 | 141 | Each book is one `.md` file. Title and author are extracted from the filename: |
|
0 commit comments