OReader is an advanced EPUB reader that leverages the power of Epubjs for rendering EPUB books. It integrates with LLM to offer an in-context quick dictionary lookup feature, enhancing the bilingual reading experience by translating paragraphs within the EPUB file on-the-fly. Additionally, when a book is imported, all its content is processed through an embedding endpoint, enabling retrieval-augmented generation (RAG) capabilities.
- EPUB Rendering: Utilizes Epubjs to render EPUB books.
- In-Context Quick Dictionary Lookup: Provides real-time word explanations using LLM.
- Bilingual Reading Experience: Translates paragraphs within the EPUB file on-the-fly for a seamless bilingual reading experience.
- Retrieval-Augmented Generation (RAG): Processes all book content upon import via an embedding endpoint to enable RAG features.
- Node.js installed on your machine.
- An API key from LLM provider for accessing the LLM endpoint.
-
Clone the repository:
git clone https://github.com/your-repo/oreader.git cd oreader
-
Install dependencies and build:
npm install npm run build
-
Start the server:
- run
npm run start
- run
-
Set up: Open setting dialog to configure the API key, API endpoint, chat model Name, and embedding model name.
- Import an EPUB file into the application.
- The system will automatically process the book content through the embedding endpoint.
- Start reading and enjoy the in-context quick dictionary lookup and bilingual translation features (translation is disabled by default, enable it in theme settings popup).
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or issues, please open an issue on the GitHub repository.