reader3  by karpathy

Self-hosted EPUB reader for LLM interaction

Created 1 month ago
2,767 stars

Top 17.0% on SourcePulse

GitHubView on GitHub
Project Summary

A lightweight, self-hosted EPUB reader designed for seamless integration with Large Language Models (LLMs). It targets users seeking to augment their reading experience by easily extracting and interacting with book chapters via AI, offering a simple, direct workflow for LLM-assisted reading.

How It Works

This project provides a minimal EPUB reader that processes books chapter by chapter. Users load EPUB files, enabling straightforward copy-pasting of chapter text to external LLMs for collaborative reading. A simple web server component allows users to manage a local library of registered books and access the reader via a browser.

Quick Start & Requirements

  • Primary install/run command: Uses uv. Register a book with uv run reader3.py <book.epub>, then run the server with uv run server.py.
  • Prerequisites: uv (Python package manager/runner), EPUB files.
  • Access: Navigate to localhost:8123 in your web browser.
  • Docs/Demo: Usage commands serve as primary documentation; no separate links provided.

Highlighted Details

  • Facilitates LLM interaction through simple chapter text copy-pasting.
  • Lightweight, self-hosted, and requires minimal setup.
  • Focuses on a single-chapter-at-a-time reading interface.
  • Emphasizes simplicity and ease of use over complex features.

Maintenance & Community

This project is explicitly provided "as is" with no support or intention for future improvements, described as "90% vibe coded." No community channels (Discord, Slack), roadmap, or contributor information are mentioned. Users are encouraged to modify the code themselves.

Licensing & Compatibility

  • License: MIT.
  • Compatibility: The permissive MIT license allows for use, modification, and distribution, including within commercial and closed-source applications.

Limitations & Caveats

The project is experimental and unsupported, lacking robustness, error handling, or advanced features. It serves purely as an illustration and is not intended for production use or long-term maintenance. Functionality is dependent on manual user interaction and external LLM services.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
0
Star History
181 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.