inkRead 1.0.0: open-source e-ink reader for Supernote, now out of beta

inkRead 1.0.0: open-source e-ink reader for Supernote, now out of beta

I had posted earlier in r/Supernote_beta asking for testers for inkRead, an open-source e-ink reader built specifically for Supernote.

Thanks to everyone who tested it, reported issues, shared videos, and gave honest feedback. A lot of the 1.0.0 polish came directly from that feedback, especially around handwriting, page navigation, lasso behavior, update flow, and general reader usability.

inkRead 1.0.0 is now available 🎉

It is still not trying to replace KOReader. KOReader is great and supports far more devices. inkRead is narrower on purpose: it is built for the Supernote platform, especially devices like Manta and Nomad, and focuses on reading, handwriting, refresh behavior, and offline workflows on this hardware.

What works in 1.0.0:

  • Read PDF and EPUB files
  • Write and highlight directly on the page
  • Movable floating tool palette
  • Four pen colors, highlighter colors, adjustable thickness, eraser, lasso, undo and redo
  • Pinch to zoom with page navigator
  • Reflow, font size, contrast, crop, rotation, and style (mode)
  • Full text search, table of contents, bookmarks, and go to page
  • Dictionary lookup with thesaurus
  • Add your own custom dictionaries
  • Lasso selected text and add it to Supernote Digest
  • Export annotations back into the PDF, or save a separate annotated copy
  • RSS feed support with inkRead Daily, compiled locally on the device
  • Auto prompt when a new version is available
  • Easier app update flow
  • Offline first
  • AGPL-3.0 licensed

Demo of 1.0.0 experience:

https://reddit.com/link/1uof0oi/video/g5kahltbihbh1/player

Repo:
https://github.com/j-raghavan/inkread

APK:
https://github.com/j-raghavan/inkread/releases

Pick the latest 1.0.0 release.

A few notes:

  • This is an independent community project.
  • It is not affiliated with, endorsed by, or sponsored by Ratta or Supernote.
  • Sideloading is required.
  • Feedback and issue reports are still very welcome.

A quick note: thank you to everyone who tested the beta version and gave feedback.

The 1.0.0 release includes several fixes and improvements that came from that feedback, including better handwriting behavior, lasso/text selection improvements, page navigation polish, update prompts, and the inkRead Daily RSS workflow.

If you try it and run into issues, GitHub issues are the best place to report them:
https://github.com/j-raghavan/inkread/issues

Thanks again!

reddit.com
u/Decent_Tap_5574 — 15 hours ago
▲ 45 r/Supernote_beta+1 crossposts

inkRead, an open source e-ink reader fine-tuned for Supernote, looking for beta testers

I have been building inkRead, an open source document reader for the Supernote, and I am looking for a few people to help beta test it.

This is not trying to be a KOReader replacement. KOReader is great and does far more across far more devices. inkRead is narrower on purpose: it is built specifically for the Supernote (RK3566, Android 11) and tuned around how this hardware actually behaves, the pen, the refresh, palm rejection, and first class handwriting on the page.

What works today:

- Reads PDF and EPUB (More formats in the working)

- Write and highlight directly on the page with a movable tool palette

- Four ink colors, adjustable thickness, eraser, lasso, undo and redo

- Pinch to zoom with a page navigator, reflow and font size, contrast and crop

- Full text search, table of contents, bookmarks and go to page

- Dictionary lookup with thesaurus, plus the ability to add your own dictionaries

- Lasso multi line selection as Supernote Digest, which I think is fairly unique to inkRead

- Export your annotations back into the PDF, or keep a separate annotated copy

- Offline first, AGPL-3.0 licensed

Demo

inkRead Demo (BETA)

What I need from testers: try it on your own books, push on the handwriting and refresh behaviour, and tell me where it breaks or feels wrong on your device. Bug reports, rough edges, and honest feedback all welcome.

To Fellow Developers

It is also open to contributors. The project is AGPL-3.0 and the architecture is a Kotlin and Android shell on top of a Rust core that handles parsing, layout, rendering, the refresh policy and the ink model, with the core building and testing on the host so you do not need a device to work on most of it. If you write Rust or Kotlin, or you just know the Supernote internals well, there is a lot here to dig into, from format support and reflow to the pen and refresh paths. Code, ideas, and issue reports are all welcome.

Repo: https://github.com/j-raghavan/inkread

APK Download: https://github.com/j-raghavan/inkread/releases
(Pick the latest one)

Thanks!

reddit.com
u/Decent_Tap_5574 — 13 days ago

Dictionary Plugin (SnDict) v1.1.0 release

Dictionary Plugin (SnDict) v1.1.0 🎉

Whats New

- Thesaurus synonyms / antonyms, with a Definition / Thesaurus toggle
- Much faster lookup rebuilt the engine on a native SQLite (Kotlin) core; the bundled dictionary now opens in ~0.25s instead of the old ~5 min cold start
- Edit the recognized (OCR'd) text before lookup fix a mis-recognized word, then Look up
- Add your own words on the fly not in the dictionary? add a definition and it's saved
- Import your own dictionaries drop a StarDict folder or a CSV into MyStyle/SnDict/ and it gets indexed on-device (StarDict + CSV, optional meta.json for naming/language/columns)

Demo

v1.1.0

1.3.0

v1.3.0

Repo: https://github.com/j-raghavan/sn-dictionary

Release: https://github.com/j-raghavan/sn-dictionary/releases/tag/v1.3.0

Welcome issues, feedback!

reddit.com
u/Decent_Tap_5574 — 28 days ago

Mindmap Plugin v1.0.3 release 🎉

Mindmap Plugin v1.0.3 🎉

v1.0.3 version is released for the Mindmap plugin.

Whats New
- Added Concept Map (DAG, single child multiple parent relation)
- Improved Rendering
- Auto Lasso on insertion (this was a missing piece from the earlier version!)
- Intelligent insertion, inserts at calculated free space to not disturb hand written note.

Demo

v1.0.3

Repo: https://github.com/j-raghavan/sn-mindmap
Release: https://github.com/j-raghavan/sn-mindmap/releases/tag/v1.0.3

Welcome issues, feedback!

reddit.com
u/Decent_Tap_5574 — 29 days ago

Shapes Plugin v1.0.6 is out now with 3D shapes! 🎉

Shapes v1.0.6 🎉

For anyone who hasn't seen it: Shapes is a plugin that drops clean, perfectly-centered shapes onto your Supernote page with a single tap squares, circles, triangles, polygons, arrows, flowchart symbols, and more.

What's new in v1.0.6: a whole 3D Shapes category with five solids:

- Cube & Cuboid

- Square Pyramid

- Cylinder

- Cone

They're drawn as clean see-through wireframes (video attached 👇).

v1.0.6

The part I'm most happy about: each shape drops in as a single, real editable stroke — not a baked-in image. That means you can:

- Lasso it as one object and move/resize it

- Recolor and change stroke width like any handwriting

- Keep it crisp at any zoom

All the existing 2D shapes are still there — the 3D set just lives in its own carousel category (tap ◀ ▶ to find it).

Release: https://github.com/j-raghavan/sn-shapes/releases/tag/v1.0.6
Repo: https://github.com/j-raghavan/sn-shapes

Feedback and shape requests very welcome!

reddit.com
u/Decent_Tap_5574 — 1 month ago
▲ 26 r/Supernote_dev+1 crossposts

Send to Supernote a Chrome Extension - Try it!

reMarkable folks have had "Read on reMarkable" for ages — click a button, the web page lands on their tablet. We didn't have a clean equivalent, so I built one for our community: Send to Supernote, a Chrome extension that sends the web page you're reading straight to your Supernote.

It's freeopen source!

🎬 Demo

Send to Supernote Chrome Extension Demo

🔒 Privacy First Approach

  • No data collection. No analytics. No tracking. Nothing. There is no server run by me anywhere in the path.
  • You own your login, your cookie, and your browser. You sign in on Supernote's own page — the extension never sees or stores your password. Only your existing session token stays on your device.
  • Your page content is converted on your own machine and uploaded only to your chosen Supernote destination. It never touches any third party (no Dropbox/Drive, no OAuth middleman).

How it Works

  • Install it, then sign in to Supernote once (on Supernote's normal login page).
  • Open any web page — an article, a blog post, docs, a recipe, whatever.
  • Click the toolbar icon (or right-click → Send to Supernote). It quietly turns the page into a clean, reflow-friendly EPUB (or PDF) right on your computer. Already looking at a PDF (like an arXiv paper)? It sends it through as-is.
  • It appears on your tablet after the next sync. Pick it up, read it, annotate it. Done. 🎉

📥 How to install (takes ~30 seconds)

Chrome

  1. Go to the Chrome Web Store: https://chrome.google.com/webstore/detail/dcckkijfielakglddfpkpcfjfodfncgd
  2. Click "Add to Chrome" → "Add extension".
  3. That's it — the icon shows up in your toolbar. Sign in to Supernote once and you're ready.

Firefox

  1. Go to the Mozilla Ad on site https://addons.mozilla.org/addon/send-to-supernote/
  2. Click on Add to Firefox
  3. Give permission to access the page that you want to send to supernote
  4. Sign-In and Send to Supernote! Thats it!

🛠️ For the developers (it's fully public)

Don't trust a binary? Read every line and build it yourself:

  • Clone the repo: git clone https://github.com/j-raghavan/send-to-supernote
  • Build it: npm install && npm run build (produces the dist/ folder).
  • Load it: open chrome://extensions, enable Developer mode, click Load unpacked, and select the dist/ folder.

Repo: https://github.com/j-raghavan/send-to-supernote
(PRs, issues, and forks welcome.)

Open source as in open to the public, and free to modify and use however you see fit. I built this because I wanted every Supernote owner to have the same effortless "send the web to my tablet" experience reMarkable users enjoy — no gatekeeping, no paywall, no data grab.

EDIT 2:
- With v1.5.2, Supernote Private Cloud is also working. Please see the thread below for more details.

EDIT 3:
Firefox Plugin is published: https://addons.mozilla.org/addon/send-to-supernote/

Try it, tear it apart, make it better. 🙏

Sharing it with the awesome Supernote community! ❤️

reddit.com
u/Decent_Tap_5574 — 1 month ago
▲ 3 r/MCPservers+1 crossposts

Tamper-evident audit logs for MCP tool-call decisions, small Python library

Sharing a small library in case it's useful for anyone running an MCP server and wanting a defensible audit trail of tool-call allow/deny decisions. Posting here specifically because the "two-way connection between data sources and AI tools" framing of MCP makes the audit boundary load-bearing — and I'd value feedback from people who've actually wired this into a production-shaped server.

Why did i build this?

In MCP, clientInfo tells you what the client claims to be, but your server may authenticate something else entirely, like a bearer token, API key, or local process identity. For audit, I wanted to preserve both: declared identity and authenticated identity, along with the allow/deny decision. This is not a policy engine. It is just a small append-only audit trail for MCP tool calls.

The integration shape

One call per tool-dispatch decision, inline in the tool body or in a central dispatch wrapper. Each call appends one HMAC-chained JSONL line:

krono-py 0.1.1 library

Four named integration patterns under examples/ — per-tool inline (above), module-level singleton with restart-resume, FastMCP-style dispatch wrapper, and bearer-auth identity wiring.

The two-field identity model is the part I'd most like feedback on

declared_identity (whatever the MCP client said about itself via clientInfo) and authenticated_identity (a verified principal from your server's auth boundary — bearer-token sub, API-key principal, OS user, or None if the auth boundary didn't produce one) are stored as separate fields and never collapsed. The library refuses to substitute one for the other. That way "auth boundary did not run" is observable post-hoc in the log, instead of silently becoming "unknown".

If you've solved this differently in your server, I'd like to hear what you settled on.

What it does NOT do (worth knowing before adopting)

- Doesn't make the allow/deny call. You decide; the library records. Not a policy engine.

- Doesn't detect tail truncation. If an adversary deletes the final N entries, verify returns ok=True on the remaining prefix. Catching this needs an external anchor (sidecar signed-head file), deferred work, documented as a limit.

- Doesn't support multi-process append to the same file. One AuditLog per file per process.

- Doesn't store raw arguments, only sha256(canonical_json(arguments)). Privacy / secret-leak trade-off, deliberate.

- Symmetric HMAC, so the key holder can forge entries. Keep the key out of the writer's trust boundary if you want defense in depth.

Full enumeration with the test that proves each verdict: docs/HONEST-CLAIMS.md.

Try it

>pip install krono-py

>export KRONO_AUDIT_KEY=$(python -c "import secrets; print(secrets.token_bytes(32).hex())")

Python 3.11+, MIT, zero runtime dependencies (stdlib only, no cryptography library, no pydantic, nothing). v0.1.x; small surface, narrow scope.

Repo: https://github.com/kronoguard/krono-py-lib

Open to: feedback on the integration patterns, missing failure modes you've seen in production, threat-model holes, anything that would prevent you from adopting it. Critical reads especially welcome.

reddit.com
u/Decent_Tap_5574 — 1 month ago

[WTS] [US] Selling Supernote A6X2 NOMAD w/Folio and Pen

Hello!

I want to sell my Supernote A6X2 NOMAD w/Folio and the Pen. Just got my Manta and i have no room for two of them.

Nomad for Sale

Asking: $350 (Shipping included)

Shipping only within US states.

UPDATE: SOLD

reddit.com
u/Decent_Tap_5574 — 2 months ago

Copilot for Supernote: chat with your notes, PDFs, and EPUBs using your own LLM key

Built a Supernote plugin that lets you summarise, explain, or ask questions about whatever's on the current page (handwritten notes, PDFs, or EPUBs) using your own API key for ChatGPT, Claude, Gemini, or DeepSeek. Sharing it with the community here.

No backend. No telemetry. No "free" tier where the device maker silently bills your taps against a shared key. You bring the key, every billable request lands on your provider dashboard, and you can revoke or rotate it at any time.

What it provides

Four one-tap action buttons sit at the top of the chat panel so the common questions are a single tap, no typing:

- ☰ Summary: a structured digest of what's on the current page.
- ? Explain: a longer breakdown for when "summary" isn't enough; useful on textbook-style content.
- ✦ Clarify: flags what's unclear, ambiguous, or needs follow-up. Helpful on lecture notes / first-pass meeting notes.
- ⊡ Snapshot: a compact set of bullets you can copy back into your note as a "table of contents" for the page.

Plus:

- Free-form chat about the visible page in the same overlay (type at the bottom, hit send).
- Markdown-rendered replies with a one-tap **Copy** so you can paste the answer back into a note.
- Works on the current page only. Each request captures the page screenshot (vision-capable providers) plus extracted text (PDF text layer or handwriting OCR).

Why this is different

Most AI features on e-ink readers ship with a vendor-supplied key behind the scenes. Convenient, but you can't see the bill, you can't audit what's sent, you can't switch providers, and your data is on someone else's hands. Here the trade is reversed:

- You own the key. It lives in a text file on your device. Never uploaded.
- You own the chats. Requests go directly from your device to the provider you chose. We never see them.
- You own the audit. Every request shows up on your OpenAI / Anthropic / Google / DeepSeek dashboard: billable, dated, attributable.

Providers + default models in the templates

Provider Default Model Vision (Page Image)
OpenAI (ChatGPT) gpt-4o-mini Yes
Anthropic (Claude) claude-haiku-4.5 Yes
Google Gemini gemini-2.5-flash Yes
Deepseek deepseek-chat text only (no vision endpoint)

Approximate cost per page summary on the cheapest models is well under a US cent. A heavy day is still under $0.10 across any of them.

Demo

v1.0.1 Demo

Quick start

  1. Grab an API key from your provider's console.
  2. On the Supernote, create the folder `MyStyle/SnCopilot/` (USB sync, WebDAV, or Cloud, whatever you already use).
  3. Save a file `copilot-key-<provider>.txt` in that folder with three lines:
  4. &gt;Example: copilot-key-openai.txt would have something like this
  5. ```
  6. provider=openai
  7. model=gpt-4o-mini
  8. key=sk-proj-1345abCDef67890...
  9. ```
  10. Tap the brain icon from the plugins menu of any note, PDF, or EPUB.

That's it. Templates for all four providers ship in the repo's `templates/` directory.

If you want to use multiple providers

Drop more than one `copilot-key-<provider>.txt` and add `default_provider=<provider>` to one of them (it doesn't have to be the file you're naming; any of them can declare the default). Example for an Anthropic key file when both OpenAI and Anthropic are configured:

```
provider=anthropic
model=claude-haiku-4-5
key=sk-ant-...
default_provider=openai
```

Without a default, the plugin shows a "pick one" message in Settings and refuses to send. With conflicting `default_provider=` values across files, same thing.

UPDATE

Security Focused Release v1.0.2

v1.0.2

Privacy posture

The page screenshot and any transcribed text are sent to the LLM provider you configured. There's no on-device redaction toggle that would create a false sense of safety while shipping the same content via the image. Be deliberate about which page is open before tapping Copilot. On DeepSeek (text-only) the plugin silently scrubs emails and 7+ digit runs, since that's the one path where redaction actually reduces what we ship.

Repo / release

- Source : https://github.com/j-raghavan/sn-copilot
- Release: https://github.com/j-raghavan/sn-copilot/releases/tag/v1.0.1

Feedback and issue reports welcome.

reddit.com
u/Decent_Tap_5574 — 2 months ago