AI-powered cross-platform e-book reader with semantic search, RAG chat, local vector store, notes, TTS, and WebDAV sync.
See the code
Local-first AI e-book reader for desktop and mobile
"Why do I forget what I read? Why are my notes scattered? Why can I only search by keywords?"
ReadAny helps you ask questions about books, find ideas by meaning, and build a private reading knowledge base with RAG chat, semantic search, highlights, TTS, and WebDAV sync.
🚀 v2.0 Update: Mobile apps (iOS/Android) now available! See Mobile section below.
| Problem | Traditional Readers | ReadAny |
|---|---|---|
| Search content | Keywords only | Semantic search that understands your intent |
| Ask questions | Find answers yourself | AI answers directly + locates sources |
| Take notes | Manual copy-paste | Select to highlight, one-click export |
| Knowledge management | Scattered notes | Unified management, multi-format export |
| Privacy | Upload to cloud | Local vector store, fully offline capable |
| Feature | ReadAny | Calibre | KOReader | Apple Books |
|---|---|---|---|---|
| AI Chat | ✅ | ❌ | ❌ | ❌ |
| Semantic Search (RAG) | ✅ | ❌ | ❌ | ❌ |
| Local Vector Store | ✅ | - | - | ❌ |
| TTS (Text-to-Speech) | ✅ | ❌ | Limited | Limited |
| Reading Stats | ✅ | ❌ | ❌ | Limited |
| WebDAV Sync | ✅ | ❌ | ❌ | ❌ |
| Skills System | ✅ | ❌ | ❌ | ❌ |
| Format Support | 10+ | 15+ | 10+ | 2 |
| Note Export | 5 formats | Limited | Limited | Limited |
| Open Source | ✅ | ✅ | ✅ | ❌ |
EPUB · PDF · MOBI · AZW · AZW3 · FB2 · FBZ · CBZ · TXT · UMD
TXT and UMD are imported by converting them to EPUB for reading, notes, search, and sync.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Download .dmg |
| macOS (Intel) | Download .dmg |
| Windows | Download .msi |
| Linux | Download .AppImage |
| iOS | Join TestFlight |
| Android | Download .apk |
brew tap codedogQBY/readany
brew install --cask readany
ReadAny is now available on mobile devices!
Expo (React Native) Version:
# Clone and setup
git clone https://github.com/codedogQBY/ReadAny.git
cd ReadAny
pnpm install
# Install/run the development build on iOS
pnpm expo:ios
# Install/run the development build on iOS Simulator
pnpm expo:ios:simulator
# Install/run the development build on Android
# Start an Android emulator first, or connect a device.
pnpm expo:android
# Start Metro for the installed development build
pnpm expo:start
Mobile development uses an Expo development build with expo-dev-client, not
Expo Go. Expo Go cannot load ReadAny's native modules and app configuration. Use
pnpm expo:ios, pnpm expo:ios:simulator, or pnpm expo:android the first
time, or whenever native dependencies/configuration change, then use
pnpm expo:start for daily JS debugging in the installed ReadAny development
app.
For simulators, use pnpm expo:ios:simulator on iOS. For Android, start an
Android emulator first, then run pnpm expo:android.
Mobile app source lives in packages/app-expo.
| Provider | Get API Key |
|---|---|
| OpenAI | platform.openai.com |
| Anthropic Claude | console.anthropic.com |
| Google Gemini | aistudio.google.com |
| Ollama / DeepSeek | Local or custom endpoint |
| Layer | Technology |
|---|---|
| Desktop | Tauri 2 (Rust) |
| Mobile | Expo (React Native) + Tauri Mobile |
| Frontend | React 19 + TypeScript |
| Build | Vite 7 |
| Styling | Tailwind CSS 4 + Radix UI |
| State | Zustand |
| Database | SQLite |
| E-Book | foliate-js |
| AI/LLM | LangChain.js + LangGraph |
| Embeddings | Transformers.js |
# Clone
git clone https://github.com/codedogQBY/ReadAny.git
cd ReadAny
# Install
pnpm install
# Dev (Desktop)
pnpm tauri dev
# Dev (Mobile - Expo development build, not Expo Go)
# First install/run the native development build:
pnpm expo:ios
pnpm expo:ios:simulator
pnpm expo:android
# Then start Metro for the installed development app:
pnpm expo:start
# Build
pnpm tauri build
Mobile development uses expo-dev-client, so Expo Go is not supported. Re-run
pnpm expo:ios, pnpm expo:ios:simulator, or pnpm expo:android after
changing native dependencies, app.config.js, permissions, schemes, or build
plugins.
Requirements: Node.js ≥18, pnpm ≥9, Rust (for Tauri), plus Xcode for iOS or Android Studio/SDK for Android mobile development.
Contributions welcome! Bug reports, feature requests, pull requests all appreciated.
Please run pnpm lint before submitting to ensure code style consistency.
GPL-3.0 © 2024 ReadAny Team
This project is open source under the GNU General Public License v3.0. You are free to use, modify, and distribute the code, but any derivative works must also be open source under the same license.
Note: While the source code is freely available, the official app store versions may be offered for a fee to support ongoing development and cover certificate costs. You can always build the app yourself at no cost.
Thanks to linux.do — a vibrant Chinese tech community where you can learn about AI, development, and more.
Made with ❤️ by the ReadAny Team
If you find ReadAny helpful, consider buying me a coffee to support ongoing development!
AI-powered cross-platform e-book reader with semantic search, RAG chat, local vector store, notes, TTS, and WebDAV sync.
See the code
Local-first AI e-book reader for desktop and mobile
"Why do I forget what I read? Why are my notes scattered? Why can I only search by keywords?"
ReadAny helps you ask questions about books, find ideas by meaning, and build a private reading knowledge base with RAG chat, semantic search, highlights, TTS, and WebDAV sync.
🚀 v2.0 Update: Mobile apps (iOS/Android) now available! See Mobile section below.
| Problem | Traditional Readers | ReadAny |
|---|---|---|
| Search content | Keywords only | Semantic search that understands your intent |
| Ask questions | Find answers yourself | AI answers directly + locates sources |
| Take notes | Manual copy-paste | Select to highlight, one-click export |
| Knowledge management | Scattered notes | Unified management, multi-format export |
| Privacy | Upload to cloud | Local vector store, fully offline capable |
| Feature | ReadAny | Calibre | KOReader | Apple Books |
|---|---|---|---|---|
| AI Chat | ✅ | ❌ | ❌ | ❌ |
| Semantic Search (RAG) | ✅ | ❌ | ❌ | ❌ |
| Local Vector Store | ✅ | - | - | ❌ |
| TTS (Text-to-Speech) | ✅ | ❌ | Limited | Limited |
| Reading Stats | ✅ | ❌ | ❌ | Limited |
| WebDAV Sync | ✅ | ❌ | ❌ | ❌ |
| Skills System | ✅ | ❌ | ❌ | ❌ |
| Format Support | 10+ | 15+ | 10+ | 2 |
| Note Export | 5 formats | Limited | Limited | Limited |
| Open Source | ✅ | ✅ | ✅ | ❌ |
EPUB · PDF · MOBI · AZW · AZW3 · FB2 · FBZ · CBZ · TXT · UMD
TXT and UMD are imported by converting them to EPUB for reading, notes, search, and sync.
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Download .dmg |
| macOS (Intel) | Download .dmg |
| Windows | Download .msi |
| Linux | Download .AppImage |
| iOS | Join TestFlight |
| Android | Download .apk |
brew tap codedogQBY/readany
brew install --cask readany
ReadAny is now available on mobile devices!
Expo (React Native) Version:
# Clone and setup
git clone https://github.com/codedogQBY/ReadAny.git
cd ReadAny
pnpm install
# Install/run the development build on iOS
pnpm expo:ios
# Install/run the development build on iOS Simulator
pnpm expo:ios:simulator
# Install/run the development build on Android
# Start an Android emulator first, or connect a device.
pnpm expo:android
# Start Metro for the installed development build
pnpm expo:start
Mobile development uses an Expo development build with expo-dev-client, not
Expo Go. Expo Go cannot load ReadAny's native modules and app configuration. Use
pnpm expo:ios, pnpm expo:ios:simulator, or pnpm expo:android the first
time, or whenever native dependencies/configuration change, then use
pnpm expo:start for daily JS debugging in the installed ReadAny development
app.
For simulators, use pnpm expo:ios:simulator on iOS. For Android, start an
Android emulator first, then run pnpm expo:android.
Mobile app source lives in packages/app-expo.
| Provider | Get API Key |
|---|---|
| OpenAI | platform.openai.com |
| Anthropic Claude | console.anthropic.com |
| Google Gemini | aistudio.google.com |
| Ollama / DeepSeek | Local or custom endpoint |
| Layer | Technology |
|---|---|
| Desktop | Tauri 2 (Rust) |
| Mobile | Expo (React Native) + Tauri Mobile |
| Frontend | React 19 + TypeScript |
| Build | Vite 7 |
| Styling | Tailwind CSS 4 + Radix UI |
| State | Zustand |
| Database | SQLite |
| E-Book | foliate-js |
| AI/LLM | LangChain.js + LangGraph |
| Embeddings | Transformers.js |
# Clone
git clone https://github.com/codedogQBY/ReadAny.git
cd ReadAny
# Install
pnpm install
# Dev (Desktop)
pnpm tauri dev
# Dev (Mobile - Expo development build, not Expo Go)
# First install/run the native development build:
pnpm expo:ios
pnpm expo:ios:simulator
pnpm expo:android
# Then start Metro for the installed development app:
pnpm expo:start
# Build
pnpm tauri build
Mobile development uses expo-dev-client, so Expo Go is not supported. Re-run
pnpm expo:ios, pnpm expo:ios:simulator, or pnpm expo:android after
changing native dependencies, app.config.js, permissions, schemes, or build
plugins.
Requirements: Node.js ≥18, pnpm ≥9, Rust (for Tauri), plus Xcode for iOS or Android Studio/SDK for Android mobile development.
Contributions welcome! Bug reports, feature requests, pull requests all appreciated.
Please run pnpm lint before submitting to ensure code style consistency.
GPL-3.0 © 2024 ReadAny Team
This project is open source under the GNU General Public License v3.0. You are free to use, modify, and distribute the code, but any derivative works must also be open source under the same license.
Note: While the source code is freely available, the official app store versions may be offered for a fee to support ongoing development and cover certificate costs. You can always build the app yourself at no cost.
Thanks to linux.do — a vibrant Chinese tech community where you can learn about AI, development, and more.
Made with ❤️ by the ReadAny Team
If you find ReadAny helpful, consider buying me a coffee to support ongoing development!