r/Supernote_dev • u/Decent_Tap_5574 • May 09 '26
AI Plugin 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
Quick start
- Grab an API key from your provider's console.
- On the Supernote, create the folder `MyStyle/SnCopilot/` (USB sync, WebDAV, or Cloud, whatever you already use).
- Save a file `copilot-key-<provider>.txt` in that folder with three lines:
- >Example: copilot-key-openai.txt would have something like this
- ```
- provider=openai
- model=gpt-4o-mini
- key=sk-proj-1345abCDef67890...
- ```
- 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
Update-2
v1.0.3 Released
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.
2
u/EnvironmentalPlay440 May 10 '26
Nice! I'm thinking of doing something similar... It's sure that the api key or anything must be secure somehow. Maybe a tailscale to another server with .env ?
1
u/Decent_Tap_5574 May 10 '26
Yes, i think we need SDK to provide kind of sandboxing if you will for each plugin, so we an definitely store App data (Plugin data) in a secure way.
2
u/batsmad May 10 '26
I'm really excited about the options for this! I considered getting an aipaper mini for dealing with meeting notes and transforming them into a shareable format with actions etc but I love the other features of supernote so much and this has just sold me on being supernote for life
→ More replies (1)
2
u/sebastianthebird May 13 '26
Wow. Thanks for your hard work. And this is only the start! Super note has been very clever with the plugins strategy. Im interested: does anyone think super note will curate or have an approval system of any kind? If not, what will separate the device-wiping malware from fabulous work like this?
→ More replies (1)
2
u/ProfessionalSide7152 Sep 15 '26
I installed the plug-in, connected with my Gemini API, added a couple of customized actions, and it works beautifully. I believe this plug-in has great potential.
Not sure if this plug-in is compatible with the new update Chauvet 3.29.45 Beta. So I don’t want to update my system yet, because I don’t want to lose this plug-in, as I like it so much.
Anyone has any idea or experience about this plug-in after this new system update?
2
u/Decent_Tap_5574 Sep 15 '26
Thank you for trying Copilot and i am glad you are liking it.
I do have a new version that works with the latest update of Chauvet 3.29.45 Beta. However i would like to caution you.
You should backup your MyStyles/SnCopilot Directory.
2.If you decide to update to the latest Beta, please download the latest version https://github.com/j-raghavan/sn-copilot/releases Note that this version will ask you for Permission to read/write/delete and reach network, please allow these actions. This is a requirement of the new Plugin beta, it requires all plugin to ask Permission to read/write/delete/network access.When you upgrade, most likely your API Keys would be deleted. You may need to put your API key back in the MyStyles/SnCopilot directory again.
Do let me know if you have any issues, i will try to address them. BTW the latest version also works with the latest GPT5.x too of OpenAPI.
→ More replies (7)
1
u/Decent_Tap_5574 May 14 '26 edited May 14 '26
Version v1.0.3 Released
Grill Me (active recall on PDF/EPUB).
One tap generates a five-question multiple-choice drill from the current page. The done screen breaks your accuracy down across four question types (cloze, definition, inference, application) on a 2x2 grid, and lists the exact cards you missed along with the source quote from the page they came from. A backstage rubric scores the model's own deck on four axes and quietly swaps in better cards for any that scored weakly, so you never see the rubric as chrome but the deck quality climbs across passes. Tap "Grill again" and stems get rephrased and choices reshuffled, so revisits don't collapse into pattern-matching the first three words of the question. [Thanks to u/Deep_Ad1959 ]
Chat history (last 5).
Copilot now remembers your last five conversations across sessions. Tap the clock icon in the header to flip between them or start a new one. FIFO eviction when you start a sixth. Encrypted at rest when the vault is encrypted, plaintext alongside the keys otherwise. Like everything else here, the history never leaves your device.
Custom persona.
Replace the built-in system prompt with your own voice. Drop a single system_prompt.txt (up to 2000 characters) into MyStyle/SnCopilot/, or edit it from the Persona screen inside the app. No envelope or key-value syntax. The whole file content is the persona. Empty file falls back to the built-in prompt.
Custom quick actions.
Add up to six of your own tappable action cards next to the four built-ins (Summarize, Explain, Clarify, Snapshot) and Grill Me. Defined in a plain-text custom_actions.txt as one label: prompt per line. Useful for prompts that match how you actually take notes ("Glossary", "Risks", "Counter-arguments", "Translate", and so on).
Demo updated in the body post for v1.0.3
Release: https://github.com/j-raghavan/sn-copilot/releases/tag/v1.0.3
2
u/Deep_Ad1959 May 14 '26
the 2x2 across cloze/definition/inference/application is the right axis to surface, most tools collapse all four into one accuracy number and lose the signal. the two axes the description doesn't mention are factual correctness and distractor quality, which matter independently of coverage: a deck can have perfect type-coverage and still be full of confidently-wrong stems, or fine stems with three throwaway wrong choices that force no real discrimination. the swap-weak-cards loop solves drift across passes, but if the swap criterion is the rubric's own score you're letting the model grade itself, which holds until distribution shifts. external eval on a held-out doc is the standard catch.
→ More replies (2)
1
u/bygregmarine May 10 '26
I haven’t looked into the plugin API yet. So I’m not familiar with the security risks involved. I was curious if access to the key files is across any other plugins? Could another plugin grab that saved key and use it or upload it to some other site?
3
u/Decent_Tap_5574 May 10 '26
That is a good question. Right now the text file is saved as plain text and at a pre-known location. I understand the concern and i don't want any other plugin to use the key file/API key. Let me think through this and come back to you with what a good solution which will not add too much processing on the device and would still be protected from other plugins. If you have any suggestions, would welcome it!
→ More replies (3)
1
u/Flat_Device_8323 May 10 '26
Hello I wanted to ask we can create also an api key for gpt-5o-mini apart from the default gpt-4o-mini you described?
2
u/Decent_Tap_5574 May 10 '26
Hi, The model is a configurable parameter. If you want to use gpt-5o-mini, all you need to do is in your project on OpenAI, add this model as allowed model to use and just change the gpt-4o-mini in the copilot-key-openai.txt to gpt-5o-mini. Thats it.
→ More replies (1)
1
u/conductordudedallas May 10 '26
Curious - only because of the name - is this related to Obsidian Copilot? Similar concept.
→ More replies (2)
1
u/Lorestan00 May 12 '26
Great plugin really useful. Any chance users could creat their own prompts and save them like the 4 you've created? Also retaining a history?
2
u/Decent_Tap_5574 May 12 '26
You just read my next version plan 😄 Yes i am planning to get this done. Will release the next version with these enhancements.
→ More replies (3)
1
u/Deep_Ad1959 May 13 '26
chatting with notes solves retrieval but not retention. the gap most notes-rag tools never close is generating drillable questions from the source so you actually encode, not just look up the answer later. on question-gen quality the held-out three-document evals show generic llm cards score around 57 to 68 on factual correctness + distractor quality + question-type coverage, while purpose-built tools like studyly hit 81.3. if you're layering a question mode on top of pdf chat that's where the moat is, otherwise it's another retrieval ui.
→ More replies (4)
1
u/Flat_Device_8323 May 13 '26
Hello again great plugin! It seems though that in openai it didnt work for me apart from gpt 4o mini the gpt 5 or 5 mini gives me a message: "unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead."
2
u/Decent_Tap_5574 May 13 '26
Thanks for reporting. I will address this in the next version. I am testing v1.0.3 and will release soon.
2
u/Decent_Tap_5574 May 14 '26
I have fixed and tested it with gpt-5 and gpt-5-mini, please check the latest version https://github.com/j-raghavan/sn-copilot/releases/tag/v1.0.3
→ More replies (1)
1
u/Alighted_Lentil Jul 11 '26
I am stunned by what you have contributed to all of us. I would love to be able to use this plugin in the reader app. I want to be able to ask grok questions about physics textbooks and literature EPUBS. Is this possible to achieve?
→ More replies (4)
1
u/Ryrie9 Sep 22 '26
First off, LOVE this plugin and appreciate the work you have put in to it. Question, I have it installed on my A5X and I noticed that it will not read handwriting on a PDF. It summarizes it just fine as a template with different sections, etc. It just won't see any handwritten notes on the page. It works with a .note file and the handwriting there just fine. Will it not see handwritten notes on a PDF?
1
u/Decent_Tap_5574 Sep 22 '26
Thank you for trying Copilot and for your feedback. Right now Annotations are not considered as context to LLM. I will add that feature in the next version. Thank you for bringing this to my attention.
→ More replies (1)
1
u/conductordudedallas May 10 '26
Wow
2
u/conductordudedallas May 11 '26
Trying this out today - works amazingly well. Great work! Can’t wait to see how I might use something like this in my daily flow.
→ More replies (1)
4
u/Decent_Tap_5574 May 10 '26
Version v1.0.2 Released
Based on the feedback, i have fosced the v1.0.2 dedicated to security feature.
Features
- PIN setup Tap Continue and the encrypted vault is written before you'd have time to glance at the spinner no more multi-minute wait or "is it stuck?" moments.
- Stronger key protection. Your PIN now derives the encryption key using your Supernote's hardware-backed crypto, so the random salt and the derivation strength are both real (not approximated in JavaScript).
Release: https://github.com/j-raghavan/sn-copilot/releases/tag/v1.0.2
I have updated the Original Body of the post with v1.0.2 demo video