I've been building a KOReader plugin that adds an AI assistant to the book you're reading, and it's now at a point where it's useful day to day

. Source and install instructions are on GitHub:
https://github.com/abhignan-rakshith/kindle-askai
What it does
Highlight a passage and ask about it —> Explain, Summarize, Translate, ELI5, Define in context, or type your own question. The book title, author, chapter and your reading position go along as context.
The part I think is genuinely different:
you can ask about the current page as an image. Text selection can only reach text, so diagrams, tables, equations, non-selectable scripts and image-only PDF pages are invisible to a highlight-based plugin. This screenshots what's on screen and sends it to a vision model, so you can ask "what's this circuit doing?" about a figure. You can combine it with a highlight too.
Also in there: optional spoiler protection (your reading position is sent with an instruction not to reveal anything past it), export of any reply or whole chat to an HTML article you can read in KOReader, saved chat history, and clarifying questions rendered as tappable buttons instead of typing.
A few things I paid attention to
- Kindle Wi-Fi power-save kills the socket during the long wait for a non-streaming reply, so it's disabled around each request.
- Requests are cancellable and run off the UI thread —> a slow model doesn't freeze the reader.
- Failures are only auto-retried when they provably cannot have been billed (5xx, TLS handshake). Timeouts and resets get a manual Retry button, because the server may already have generated and charged for the reply.
- Chat writes are atomic, so a crash mid-save can't corrupt history.
- Model picker loads OpenRouter's live catalog —> searchable, shows price per million tokens, sorts by popularity/throughput/latency, hold to favourite, and you can set a fallback model.
Requirements
A jailbroken Kindle with KOReader, and an OpenRouter API key (any model they carry). There's an optional KUAL launcher that boots straight into a chat. Developed and tested on a Kindle 11th-gen, firmware 5.17.1.0.3. Other jailbroken Kindles running KOReader should work but I haven't tested them —> reports welcome.
The key lives in plain text in a config file on the device, which the README says plainly. Use a dedicated, spend-limited key.
AGPL-3.0, same as KOReader.
Note
There's already omer-faruq's assistant.koplugin, which is good and well established, I used it while building this and learned from it. I wrote this one from scratch because I wanted the page-image flow and a different set of tradeoffs, not because anything was wrong with it. Use whichever fits.
Feedback and bug reports very welcome, especially from anyone running a different Kindle model or KOReader version.