Fork note (
inference-readerbranch): this fork carries a personal "Inference reader" setup (one-tap AI buttons, gestures, prompts and a paper library for reading LLM-inference papers on a Pixel Fold). Plugin changes are limited tomain.luahooks andfeature/inference_reader.lua; everything else is ininference-reader/. Upstream: omer-faruq/assistant.koplugin.
Interact with AI language models while reading. Ask questions, get translations, summaries, explanations and more - all without leaving your book.
Originally forked from a deleted fork of AskGPT by zeeyado, then modified using WindSurf. That fork is now public and includes many updates: https://github.com/zeeyado/koassistant.koplugin
- Multiple AI Providers: Natively speaks the four mainstream protocols — OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Google Gemini — so popular platforms such as DeepSeek, OpenRouter, Ollama, Groq, and Mistral work out of the box.
- Stream Mode: Real-time responses from the API. Get the full LLM experience on e-ink devices.
- Web Search: Let LLMs search the web for real and up-to-date information. Supports SerpAPI, Tavily, Exa, and SearXNG, with a per-question toggle.
- UI-Based Setup: Add providers and models entirely from the UI, with built-in model browsing and connection testing.
- Built-in Prompts (from the highlight menu):
- Translation: Instantly translate highlighted text to any language.
- Quick Actions: One-click buttons for common tasks like summarizing, simplifying, or explaining.
- Dictionary: Get book-aware explanations — meaning, synonyms, and usage in the current book. (thanks to plateaukao)
- Term X-Ray: Explain a highlighted word or phrase using its earlier mentions in the book. (thanks to Michael Kucek)
- Notebook & Quick Notes: Save AI conversations and quick notes as Markdown, either to the book's notebook or to a general notebook — with optional auto-save and multiple general notebooks to organize your logs.
- Highlight Menu Presets: Pin built-in prompts to the highlight popup for one-tap access (configurable).
- Book Insights (whole-book features, no highlight needed):
- Book Summary & Recs: Summary, author biography, historical context, and similar book recommendations.
- X-Ray: A spoiler-free guide to characters, places, themes, and timeline up to your progress.
- Recap: Catch up on a book you haven't opened for a while. (thanks to jbhul)
- Highlight & Note Analysis: Analysis of your highlights and notes from the book.
- Summary Using Highlights & Notes: A book summary built from your highlights and notes.
- Gesture Shortcuts: Trigger Ask, Recap, and X-Ray by gesture, no highlighting needed. (thanks to Jayphen)
- AI Dictionary: Get book-aware definitions and synonyms for any word or phrase.
- l10n Support: Supports every language available in KOReader.
- [Required] KOReader installed on your device
- [Required] API key from at least one LLM provider
- [Recommended] API key from a search provider (Tavily, SerpAPI, Exa, SearXNG, ...)
See Obtaining API Keys from the wiki page.
All setup is done directly from the KOReader UI.
Typing a long API key on an e-ink keyboard is painful. The easy path:
- Save your API key in a
.txtfile on your computer. - Send that file to your reader (USB, cloud, etc.).
- Open the
.txtfile as a book in KOReader. - Copy the key to the clipboard.
- Then follow the configuration below and paste it into the API Key field.
Providers:
- Go to
⚙ → AI Assistant → Settings → Provider APIand choose the preset matching your platform. For any other OpenAI-compatible endpoint, start from theOpenAIpreset and update the URL. - Fill in the dialog:
- Provider Name — the label shown in menus
- Base URL — pre-filled by the preset, editable
- API Key — your provider key
- Model — type it manually, or tap Browse Models to fetch the list online and pick one
- Tap Test to check the connection, then OK to save. The new provider becomes active right away.
- To add another provider, go to
⚙ → AI Assistant → Settings → Provider API. To switch providers or models, tap the provider entry (Provider ▸ ...) in⚙ → AI Assistantto open the Providers and Models dialog and select one. Only providers added from the UI can be edited or deleted.
Web search keys (SerpAPI / Tavily / Exa / SearXNG): available both via UI configuration (Settings → WebSearch API) and via the configuration file. In the Ask dialog, use the 🌐 Web Search checkbox to enable it per question.
For file-based setup (naming pattern, multiple profiles, extra examples), see Installation.
- Open any book in KOReader.
- Highlight the text you want to analyze.
- Tap the highlight and select AI Assistant.
- In the dialog, either type a question and tap Ask, or tap one of the built-in prompt buttons (Translate, Summarize, Explain, Dictionary, Term X-Ray, and more) to run it on the selected text.
- Follow-up questions: keep asking about the same selection; the conversation stays in context.
Tip: long-press a prompt button to pin it to the first-level highlight menu for one-tap access. Long-press it in the highlight menu to remove it.
You can override KOReader's built-in "Translate" action so a long-press translates through the AI instantly, bypassing the highlight menu. (thanks to Ilia Reutov)
- Enable Use AI Assistant for 'Translate' under
⚙ → AI Assistant → Settings → Other Settings. - In KOReader's main menu, go to
Taps and gestures → Gesture manager, selectLong-press on text, and choose Translate.
Now a long-press translates the word directly. Uncheck the option to restore the standard translation service.
Choose what the AI Dictionary returns under Dictionary Settings: Standard or Full presets, a Concise toggle for shorter answers, and per-section toggles (meaning, synonyms, translation, word form, examples, origin).
The Assistant plugin adds AI-powered buttons (Wikipedia, Term X-Ray, Dictionary, and custom prompts) to the dictionary popup when you look up words.
Note: In newer KOReader versions (2026.05+), dictionary popup buttons can be customized via Dictionary settings → Customize buttons → Max buttons in row. Increase this value to display multiple plugin buttons on the same row.
- Use Long-tap (tap & hold for 3+ secs) on a single word to pop up the highlight menu
- Long press :
- On the "AI Assistant" main button to see the settings and reset buttons
- On a prompt button to add it to the main highlight menu.
- On a button in the main highlight menu to remove it.
- On the close button in the result window to instantly close all dialogs and return directly to your reading experience
- Use the Select button on the highlight menu to use text from multiple pages
- Draw a multiswipe to CLOSE the dialog (eg: swipe ⮠ or ⮡ or circle ↺)
- Keep highlights reasonably sized for best results
- Use "Ask" for specific questions about the text
- Try the pre-made buttons for quick analysis
- Add your own custom prompts for specialized tasks
- Entering very long URLs: save the provider with a short placeholder URL first, then reopen it with Edit and replace it with the full URL.
Thanks goes to these wonderful people (emoji key):
BEN 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!