Jak wyodrębnić swoje podkreślenia z reMarkable i wysłać je do Anki? [prompty AI & github]
Na Kindle można bardzo łatwo eksportować zaznaczone fragmenty, ale na reMarkable już nie.
Użyłem CODEX do stworzenia lokalnego interfejsu webowego gdzie mogę wybierać moje pliki (epub/PDF) reMarkable, wyodrębniać podkreślenia i wysyłać je do Anki. Oto interfejs:

Widać, że można:
- eksportować podkreślenia z dokumentu do talii ANKI
- grupować podkreślenia z wielu plików w jednej talii ANKI
- podkreślenia rozciągające się na wiele linii są grupowane i traktowane jako jedno podkreślenie
Wszystko jest eksportowane bezpośrednio do ANKI przez Anki Connect. Wystarczy, że aplikacja Anki jest zainstalowana i otwarta na Windows. Następnie talie będą synchronizowane z Ankiweb. Dla każdej karty widzisz podkreślony fragment na przodzie, a na odwrocie jego kontekst (jedno zdanie przed, jedno po).

Jeśli ten sam plik ma nowe podkreślenia, stare karty ANKI nie zostaną usunięte, dodane zostaną tylko nowe podkreślenia.
Repozytorium GitHub jest dostępne tutaj: https://github.com/tdm5c/remarkable-highlights-to-anki
Jeśli nie chcesz eksportować podkreśleń do ANKI, to też możliwe, wystarczy poprosić CODEX o wyeksportowanie ich do pliku .html lub .txt lub do Google Docs… (jak chcesz). Podam przykłady promptów, abyś mógł się pobawić i stworzyć własne narzędzie.
Dostęp SSH
Aby uzyskać dostęp SSH do swojego reMarkable, włącz reMarkable, aktywuj Wi-Fi i przejdź do POMOC => Prawa autorskie i licencje, przeczytaj instrukcje, podłącz kabel USB do komputera, zezwól na dostęp SSH, a następnie pobierz adres MAC oraz hasło.
W przypadku reMarkable Paper Pro należy aktywować Tryb deweloperski przed zrobieniem tego wszystkiego. Tryb deweloperski spowoduje reset czytnika, ale nie stracisz dokumentów, wystarczy ponownie połączyć czytnik z kontem reMarkable, aby pobrać zsynchronizowane dokumenty.
Przepraszam, jeśli nie mogę być bardziej jasna, ten artykuł jest skierowany trochę do geeków. Więcej informacji
Prompt 1 – Interfejs reMarkable do Anki
Skopiuj i wklej poniższy blok do swojego narzędzia AI/programistycznego. Symbole zastępcze w nawiasach kwadratowych służą do pokazania, gdzie te wartości będą skonfigurowane lokalnie.
Tu es un agent de developpement senior. Je veux que tu construises une interface web locale et un pipeline deterministe pour exporter mes highlights reMarkable vers Anki. Contexte local a adapter ------------------------ - Dossier de travail: [CHEMIN PROJET LOCAL ICI] - Interface web locale souhaitee: http://[ADRESSE IP LOCALE]:8787 - URL AnkiConnect: http://[ADRESSE IP ANKI CONNECT]:8765 - Add-on AnkiConnect: 2055492159 - reMarkable SSH user: root - reMarkable SSH port: 22 - reMarkable MAC: a garder dans .env.local, pas dans le prompt - Mot de passe SSH reMarkable: a garder dans .env.local, pas dans le prompt Regles de securite ------------------ - Ne demande pas les vrais acces dans le prompt. - Ne stocke jamais le mot de passe reMarkable dans le code source, le README ou les notes Markdown. - Cree un fichier .env.local git-ignore pour les secrets locaux. - Mets les vrais acces uniquement dans .env.local, par exemple: RM_REMARKABLE_MAC=[ADRESSE MAC ICI] RM_SSH_PASSWORD=[MOT DE PASSE SSH ICI] ANKI_CONNECT_URL=http://[ADRESSE IP ANKI CONNECT]:8765 - Ne modifie jamais les fichiers sur le reMarkable, sauf demande explicite. - Utilise SSH uniquement pour lire/copier les donnees depuis le reMarkable. - N'utilise pas d'OCR. - N'utilise pas d'API IA ni de tokens IA pour extraire les highlights. - L'extraction doit etre locale, deterministe et relancable. Objectif fonctionnel -------------------- Construire un outil local qui: 1. decouvre l'adresse IP actuelle du reMarkable a partir de RM_REMARKABLE_MAC, car DHCP peut changer l'IP; 2. liste les documents PDF/EPUB disponibles sur le reMarkable; 3. copie localement les fichiers necessaires; 4. extrait les highlights; 5. cree ou met a jour les cartes Anki via AnkiConnect; 6. synchronise AnkiWeb apres la mise a jour, sauf option de desactivation. Extraction des highlights ------------------------- - Une annotation continue sur plusieurs lignes ou pages doit devenir un seul highlight. - Si du texte source non surligne se trouve entre deux fragments, ce sont deux highlights distincts. - Preserve l'ordre document: ordre des pages, puis ordre d'apparition sur la page. - Pour les PDF/EPUB, prefere le texte du document source quand disponible; utilise les donnees .rm comme ancres. - Pour les EPUB copies depuis reMarkable, prefere le PDF sidecar rendu pour l'alignement, car les pages .rm correspondent a cette pagination. - La citation/front ne doit jamais etre etendue pour completer un mot ou une phrase. - Le verso peut contenir du contexte: exactement une phrase precedente non-titre + phrase contenant le highlight avec le highlight en gras + exactement une phrase suivante non-titre. Integration Anki ---------------- - Par defaut, cree un deck Anki par document reMarkable, nomme exactement comme le document. - Cree une carte Anki par highlight. - Recto: citation/highlight exact. - Verso: highlight en contexte quand disponible. - Utilise des IDs stables pour que les reruns mettent a jour les notes existantes et ajoutent seulement les nouveaux highlights. - Supprime les notes Anki obsoletes pour le meme UUID de document quand l'ensemble stable de highlights change. - Apres sync locale Anki, repositionne seulement les nouvelles cartes dans l'ordre d'apparition du document. - Ne modifie pas la planification des cartes deja revues/apprises. - Si AnkiConnect est inaccessible, demarre Anki Desktop automatiquement et attends que la collection soit disponible. - Apres mise a jour locale Anki, lance AnkiWeb sync automatiquement, sauf option --no-sync-ankiweb. - Pour les gros documents, utilise des appels AnkiConnect par lots afin d'eviter les blocages. Interface web locale -------------------- Construis une interface web locale simple et efficace: - affichage par defaut: les 10 derniers documents PDF/EPUB; - choix 10/20/30/tous; - recherche uniquement sur Entree ou clic sur la loupe, pas a chaque frappe; - bouton Actualiser qui relance la detection/liste et les retries SSH; - si le reMarkable est en veille, affiche un message clair demandant de reveiller la tablette puis de reessayer; - tri: recent, nom A-Z, nom Z-A, PDF d'abord, EPUB d'abord; - multi-selection de documents; - bouton "Tout selectionner"; - les documents selectionnes doivent rester visibles/pinnes meme si une recherche ou un tri les masquerait; - l'export multi-documents doit suivre l'ordre actuellement affiche, pas l'ordre des clics; - option supplementaire "Deck unique" disponible seulement si plusieurs fichiers sont selectionnes; - si "Deck unique" est active, envoyer tous les highlights selectionnes dans un meme deck Anki dont le nom est configurable; - sinon garder un deck par document; - afficher les etapes de l'export en direct; - afficher les erreurs et le journal en direct dans l'interface, sans rester bloque sur "running"; - en cas d'erreur, marquer le document courant comme error et afficher le message exploitable. CLI attendue ------------ Prevois aussi une CLI: - --list pour lister les documents; - --document pour exporter un document precis; - --all pour exporter tous les documents PDF/EPUB avec highlights; - --no-anki pour tester sans modifier Anki; - --no-sync-ankiweb pour desactiver la sync AnkiWeb; - --single-deck et --single-deck-name pour exporter plusieurs documents dans un seul deck; - --host pour forcer une IP reMarkable si necessaire; - --mac pour forcer une MAC; - --no-discover pour ne pas faire la detection par MAC. Livrables attendus ------------------ - Code source complet. - README avec commandes d'installation et d'utilisation. - Fichier de notes projet Markdown expliquant les decisions et limites. - .gitignore qui exclut .env.local, caches, exports temporaires et secrets. - Interface web locale lancee sur http://[ADRESSE IP LOCALE]:8787. - Tests ou checks minimaux montrant que: - l'extraction ne depend pas d'OCR; - les highlights restent dans l'ordre; - les reruns ne dupliquent pas les cartes; - les erreurs web sont visibles dans l'interface. Contraintes importantes ----------------------- - Ne jamais afficher mes secrets dans les logs, README ou reponses finales. - Si un secret est necessaire, utilise un placeholder ou une variable d'environnement. - Garde l'outil local, reproductible et comprehensible. - Avant de terminer, verifie la syntaxe, lance les tests disponibles, puis donne les commandes exactes pour demarrer l'interface.
Prompt 2 – Ekstrakcja z reMarkable do plików TXT
Skopiuj i wklej poniższy blok do swojego narzędzia AI/programistycznego. Symbole zastępcze w nawiasach kwadratowych pokazują, gdzie te wartości zostaną skonfigurowane lokalnie.
Jesteś starszym agentem programistycznym. Chcę, abyś zbudował lokalny interfejs webowy i deterministyczny potok do wyodrębniania moich wyróżnień z reMarkable i zapisywania ich w plikach .txt. Nie chcę eksportu do Anki w tej wersji.
Kontekst lokalny do dostosowania
------------------------
- Katalog roboczy: [ŚCIEŻKA PROJEKTU LOKALNEGO TUTAJ]
- Preferowany lokalny interfejs webowy: http://[LOKALNY ADRES IP]:8787
- Użytkownik SSH reMarkable: root
- Port SSH reMarkable: 22
- MAC reMarkable: do przechowania w .env.local, nie w prompcie
- Hasło SSH reMarkable: do przechowania w .env.local, nie w prompcie
Zasady bezpieczeństwa
------------------
- Nie pytaj o prawdziwe dane dostępowe w prompcie.
- Nigdy nie przechowuj hasła reMarkable w kodzie źródłowym, README ani notatkach Markdown.
- Utwórz plik .env.local zignorowany przez gita dla lokalnych sekretów.
- Umieść prawdziwe dane dostępowe tylko w .env.local, na przykład:
RM_REMARKABLE_MAC=[ADRES MAC TUTAJ]
RM_SSH_PASSWORD=[HASŁO SSH TUTAJ]
- Nigdy nie modyfikuj plików na reMarkable, chyba że zostanie to wyraźnie zalecone.
- Użyj SSH wyłącznie do odczytu/kopiowania danych z reMarkable.
- Nie używaj OCR.
- Nie używaj API AI ani tokenów AI do wyodrębniania wyróżnień.
- Ekstrakcja musi być lokalna, deterministyczna i możliwa do ponownego uruchomienia.
- Nigdy nie ujawniaj moich sekretów w logach, README ani odpowiedziach końcowych.
Cel funkcjonalny
--------------------
Zbuduj lokalne narzędzie, które:
1. wykrywa bieżący adres IP reMarkable na podstawie RM_REMARKABLE_MAC, ponieważ DHCP może zmienić IP;
2. listuje dokumenty PDF/EPUB dostępne na reMarkable;
3. kopiuje lokalnie niezbędne pliki;
4. wyodrębnia wyróżnienia;
5. zapisuje wyniki w lokalnych plikach .txt.
Ekstrakcja wyróżnień
-------------------------
- Ciągłe adnotacje obejmujące wiele linii lub stron powinny stać się jednym wyróżnieniem.
- Jeśli niepodświetlony tekst źródłowy znajduje się między dwoma fragmentami, są to dwa osobne wyróżnienia.
- Zachowaj kolejność dokumentu: kolejność stron, a następnie kolejność pojawiania się na stronie.
- Dla PDF/EPUB preferuj tekst źródłowy dokumentu, gdy jest dostępny; użyj danych .rm jako kotwic.
- Dla EPUB skopiowanych z reMarkable preferuj boczny plik PDF do wyrównania, ponieważ strony .rm odpowiadają tej paginacji.
- Wyodrębniony cytat nigdy nie powinien być rozszerzany w celu uzupełnienia słowa lub frazy.
- Nie wyciągaj tekstu za pomocą AI. Jeśli wyrównanie się nie powiedzie, oznaczyj to wyraźnie w dzienniku.
Format plików wyjściowych .txt
-----------------------
Zapisz jeden plik .txt na dokument w lokalnym katalogu, na przykład:
exports/remarkable_txt/[NAZWA_DOKUMENTU].txt
Każdy plik powinien zawierać:
- tytuł dokumentu;
- UUID dokumentu, jeśli dostępny;
- lokalną datę eksportu;
- całkowitą liczbę wyróżnień;
- listę wyróżnień w kolejności dokumentu.
Zalecany format każdego wyróżnienia:
---
Wyróżnienie 001
Strona: [STRONA JEŚLI DOSTĘPNA]
Tekst:
[DOKŁADNY TEKST WYRÓŻNIENIA]
---
Lokalny interfejs webowy
--------------------
Zbuduj prosty i efektywny lokalny interfejs webowy:
- domyślne wyświetlanie: 10 ostatnich dokumentów PDF/EPUB;
- wybór 10/20/30/wszystkie;
- wyszukiwanie tylko po Enter lub kliknięciu lupy, nie przy każdym naciśnięciu;
- przycisk Odśwież, który uruchamia ponownie wykrywanie/listę i ponowne próby SSH;
- jeśli reMarkable jest w trybie uśpienia, wyświetl jasny komunikat proszący o wybudzenie tabletu i ponowną próbę;
- sortowanie: ostatnie, nazwa A-Z, nazwa Z-A, PDF najpierw, EPUB najpierw;
- wielokrotne zaznaczanie dokumentów;
- przycisk "Zaznacz wszystko";
- zaznaczone dokumenty muszą pozostać widoczne/przypięte nawet jeśli wyszukiwanie lub sortowanie by je ukryło;
- eksport wielodokumentowy musi podążać za aktualnie wyświetlaną kolejnością, nie kolejnością kliknięć;
- przycisk "Eksportuj do TXT";
- wyświetlanie ścieżek wygenerowanych plików .txt;
- wyświetlanie kroków eksportu na żywo;
- wyświetlanie błędów i dziennika na żywo w interfejsie, bez blokowania na "działanie";
- w przypadku błędu oznacz bieżący dokument jako błąd i wyświetl komunikat nadający się do użycia.
Oczekiwany CLI
------------
Przewidź także CLI:
- --list do listowania dokumentów;
- --document do eksportu konkretnego dokumentu;
- --all do eksportu wszystkich dokumentów PDF/EPUB z wyróżnieniami;
- --output-dir do wyboru folderu wyjściowego dla .txt;
- --host do wymuszenia IP reMarkable, jeśli to konieczne;
- --mac do wymuszenia adresu MAC;
- --no-discover do pominięcia wykrywania po MAC.
Oczekiwane rezultaty
------------------
- Kompletny kod źródłowy.
- README z poleceniami instalacji i użytkowania.
- Plik notatek projektu Markdown wyjaśniający decyzje i ograniczenia.
- .gitignore, który wyklucza .env.local, pamięci podręczne, tymczasowe eksporty i sekrety.
- Lokalny interfejs internetowy uruchamiany na http://[ADRES IP LOKALNY]:8787.
- Testy lub minimalne kontrole pokazujące, że:
- ekstrakcja nie zależy od OCR;
- wyróżnienia pozostają w kolejności;
- pliki .txt można odtworzyć bez duplikatów;
- błędy internetowe są widoczne w interfejsie.
Ważne ograniczenia
-----------------------
- Nigdy nie pokazuj moich sekretów.
- Jeśli sekret jest konieczny, użyj zastępnika lub zmiennej środowiskowej.
- Utrzymuj narzędzie lokalne, powtarzalne i zrozumiałe.
- Przed zakończeniem sprawdź składnię, uruchom dostępne testy, a następnie podaj dokładne polecenia do uruchomienia interfejsu i eksportu plików .txt.