Rat,  TDM

Wie man seine reMarkable-Highlights extrahiert und an Anki sendet [KI-Prompts & github]

Auf dem Kindle kann man markierte Passagen sehr einfach exportieren, aber beim reMarkable ist das nicht der Fall.

Ich habe CODEX verwendet, um eine lokale Webschnittstelle zu erstellen, in der ich meine reMarkable-Dateien (epub/PDF) auswählen, die Highlights extrahieren und an Anki senden kann. Hier ist die Schnittstelle:

Sie können sehen, dass man:

  • die Highlights eines Dokuments in ein ANKI-Deck exportieren kann,
  • die Highlights mehrerer Dateien in einem ANKI-Deck bündeln kann,
  • Highlights, die sich über mehrere Zeilen erstrecken, werden gruppiert und als ein einziges Highlight betrachtet.

Alles wird direkt über Anki Connect nach ANKI exportiert. Es muss nur die Anki-App installiert und auf Windows geöffnet sein. Danach werden die Decks mit Ankiweb synchronisiert. Für jede Karte sehen Sie die markierte Passage auf der Vorderseite und auf der Rückseite ihren Kontext (einen Satz davor, einen Satz danach).

Wenn dieselbe Datei neue Highlights hat, werden die alten ANKI-Karten nicht gelöscht, nur die neuen Highlights werden hinzugefügt.

Das GitHub-Repository ist hier verfügbar: https://github.com/tdm5c/remarkable-highlights-to-anki

Wenn Sie die Highlights nicht nach ANKI exportieren möchten, ist das auch möglich, Sie müssen nur CODEX bitten, sie in eine .html- oder .txt-Datei oder zu Google Docs zu exportieren …(wie Sie möchten). Ich werde Ihnen einige Beispiel-Prompts geben, damit Sie Spaß haben und Ihr eigenes Tool erstellen können.

SSH-Zugriff

Um die SSH-Zugangsdaten für Ihren reMarkable zu erhalten, schalten Sie Ihren reMarkable ein, aktivieren Sie das WLAN und gehen Sie zu HILFE => Urheberrechte und Lizenzen, lesen Sie die Anweisungen, verbinden Sie das USB-Kabel mit dem Computer, erlauben Sie den SSH-Zugriff und holen Sie sich dann die MAC-Adresse sowie das Passwort.

Für den reMarkable Paper Pro müssen Sie den Entwicklermodus aktivieren, bevor Sie all dies tun. Der Entwicklermodus setzt den E-Reader zurück, aber Sie verlieren keine Dokumente, Sie müssen nur den E-Reader mit dem reMarkable-Konto verbinden, um die synchronisierten Dokumente wiederherzustellen.

Es tut mir leid, wenn ich nicht klarer sein kann, dieser Artikel richtet sich ein wenig an Geeks. Weitere Infos

Prompt 1 – reMarkable-zu-Anki-Schnittstelle

Kopieren Sie den folgenden Block in Ihr KI-/Entwicklungstool. Die Platzhalter in eckigen Klammern zeigen, wo diese Werte lokal konfiguriert werden.

Du bist ein Senior-Entwicklungsagent. Ich möchte, dass du eine lokale Webschnittstelle und eine deterministische Pipeline baust, um meine reMarkable-Highlights nach Anki zu exportieren.

Lokaler Kontext, der anzupassen ist
------------------------
- Arbeitsordner: [LOKALER PROJEKTPFAD HIER]
- Gewünschte lokale Webschnittstelle: http://[LOKALE IP-ADRESSE]:8787
- AnkiConnect-URL: http://[ANKI-CONNECT-IP-ADRESSE]:8765
- AnkiConnect-Add-on: 2055492159
- reMarkable-SSH-Benutzer: root
- reMarkable-SSH-Port: 22
- reMarkable-MAC: in .env.local aufbewahren, nicht im Prompt
- reMarkable-SSH-Passwort: in .env.local aufbewahren, nicht im Prompt

Sicherheitsregeln
------------------
- Fordere keine echten Zugangsdaten im Prompt an.
- Speichere niemals das reMarkable-Passwort im Quellcode, in der README oder in Markdown-Notizen.
- Erstelle eine git-ignorierte .env.local-Datei für lokale Geheimnisse.
- Trage die echten Zugangsdaten nur in .env.local ein, zum Beispiel:
  RM_REMARKABLE_MAC=[MAC-ADRESSE HIER]
  RM_SSH_PASSWORD=[SSH-PASSWORT HIER]
  ANKI_CONNECT_URL=http://[ANKI-CONNECT-IP-ADRESSE]:8765
- Ändere niemals Dateien auf dem reMarkable, außer auf ausdrückliche Anfrage.
- Verwende SSH nur zum Lesen/Kopieren von Daten vom reMarkable.
- Verwende keine OCR.
- Verwende keine KI-APIs oder KI-Tokens, um Highlights zu extrahieren.
- Die Extraktion muss lokal, deterministisch und wiederholbar sein.

Funktionales Ziel
--------------------
Ein lokales Tool bauen, das:
1. die aktuelle IP-Adresse des reMarkable anhand von RM_REMARKABLE_MAC ermittelt, da DHCP die IP ändern kann;
2. die verfügbaren PDF/EPUB-Dokumente auf dem reMarkable auflistet;
3. die benötigten Dateien lokal kopiert;
4. die Highlights extrahiert;
5. über AnkiConnect Anki-Karten erstellt oder aktualisiert;
6. nach der Aktualisierung AnkiWeb synchronisiert, außer die Option zur Deaktivierung ist gesetzt.

Extraktion der Highlights
-------------------------
- Eine durchgehende Annotation über mehrere Zeilen oder Seiten soll zu einem einzigen Highlight werden.
- Wenn sich nicht markierter Quelltext zwischen zwei Fragmenten befindet, handelt es sich um zwei verschiedene Highlights.
- Bewahre die Dokumentreihenfolge: Seitenreihenfolge, dann Reihenfolge des Auftretens auf der Seite.
- Bevorzuge bei PDF/EPUB den Text des Quelldokuments, wenn verfügbar; verwende die .rm-Daten als Anker.
- Bevorzuge bei vom reMarkable kopierten EPUBs das gerenderte PDF-Seitenbild für die Ausrichtung, da die .rm-Seiten dieser Paginierung entsprechen.
- Das Zitat/die Vorderseite darf niemals erweitert werden, um ein Wort oder einen Satz zu vervollständigen.
- Die Rückseite kann Kontext enthalten: genau einen vorherigen Nicht-Titel-Satz + den Satz mit dem Highlight (mit dem Highlight fett) + genau einen folgenden Nicht-Titel-Satz.

Anki-Integration
----------------
- Standardmäßig pro reMarkable-Dokument ein Anki-Deck erstellen, genau so benannt wie das Dokument.
- Pro Highlight eine Anki-Karte erstellen.
- Vorderseite: exaktes Zitat/Highlight.
- Rückseite: Highlight im Kontext, wenn verfügbar.
- Stabile IDs verwenden, damit erneute Läufe vorhandene Notizen aktualisieren und nur neue Highlights hinzufügen.
- Veraltete Anki-Notizen für dieselbe Dokument-UUID löschen, wenn sich der stabile Satz von Highlights ändert.
- Nach lokaler Anki-Synchronisierung nur die neuen Karten in der Reihenfolge des Auftretens im Dokument positionieren.
- Den Zeitplan bereits gelesener/gelernter Karten nicht ändern.
- Wenn AnkiConnect nicht erreichbar ist, starte Anki Desktop automatisch und warte, bis die Sammlung verfügbar ist.
- Nach dem lokalen Anki-Update automatisch die AnkiWeb-Synchronisierung auslösen, außer mit Option --no-sync-ankiweb.
- Verwende für große Dokumente Batch-AnkiConnect-Aufrufe, um Blockaden zu vermeiden.

Lokale Webschnittstelle
--------------------
Baue eine einfache und effiziente lokale Webschnittstelle:
- Standardanzeige: die letzten 10 PDF/EPUB-Dokumente;
- Wahl 10/20/30/alle;
- Suche nur bei Eingabetaste oder Klick auf die Lupe, nicht bei jedem Tastendruck;
- Aktualisieren-Schaltfläche, die Erkennung/Liste und SSH-Wiederholungen neu startet;
- wenn das reMarkable im Ruhezustand ist, eine klare Meldung anzeigen, dass das Tablet geweckt und dann erneut versucht werden soll;
- Sortierung: aktuell, Name A-Z, Name Z-A, zuerst PDF, zuerst EPUB;
- Mehrfachauswahl von Dokumenten;
- Schaltfläche "Alle auswählen";
- ausgewählte Dokumente müssen sichtbar/fixiert bleiben, auch wenn eine Suche oder Sortierung sie ausblenden würde;
- der Multi-Dokument-Export muss der aktuell angezeigten Reihenfolge folgen, nicht der Klickreihenfolge;
- zusätzliche Option "Einzelnes Deck" nur verfügbar, wenn mehrere Dateien ausgewählt sind;
- wenn "Einzelnes Deck" aktiviert ist, alle ausgewählten Highlights in ein einziges Anki-Deck senden, dessen Name konfigurierbar ist;
- sonst ein Deck pro Dokument beibehalten;
- die Exportschritte live anzeigen;
- Fehler und das Journal live in der Schnittstelle anzeigen, ohne auf "running" hängen zu bleiben;
- im Fehlerfall das aktuelle Dokument als Fehler markieren und die verwertbare Meldung anzeigen.

Erwartete CLI
------------
Plane auch eine CLI ein:
- --list zum Auflisten der Dokumente;
- --document zum Exportieren eines bestimmten Dokuments;
- --all zum Exportieren aller PDF/EPUB-Dokumente mit Highlights;
- --no-anki zum Testen ohne Änderung von Anki;
- --no-sync-ankiweb zum Deaktivieren der AnkiWeb-Synchronisierung;
- --single-deck und --single-deck-name zum Exportieren mehrerer Dokumente in ein einziges Deck;
- --host zum Erzwingen einer reMarkable-IP, falls nötig;
- --mac zum Erzwingen einer MAC;
- --no-discover, um die MAC-Erkennung nicht durchzuführen.

Erwartete Liefergegenstände
------------------
- Vollständiger Quellcode.
- README mit Installations- und Nutzungsbefehlen.
- Markdown-Projektnotizendatei, die Entscheidungen und Einschränkungen erklärt.
- .gitignore, das .env.local, Caches, temporäre Exporte und Geheimnisse ausschließt.
- Lokale Webschnittstelle, gestartet auf http://[LOKALE IP-ADRESSE]:8787.
- Minimale Tests oder Checks, die zeigen, dass:
  - die Extraktion nicht von OCR abhängt;
  - die Highlights in der Reihenfolge bleiben;
  - erneute Läufe keine Karten duplizieren;
  - Webschnittstellenfehler in der Schnittstelle sichtbar sind.

Wichtige Einschränkungen
-----------------------
- Zeige niemals meine Geheimnisse in Logs, README oder endgültigen Antworten.
- Wenn ein Geheimnis nötig ist, verwende einen Platzhalter oder eine Umgebungsvariable.
- Halte das Tool lokal, reproduzierbar und verständlich.
- Überprüfe vor dem Abschluss die Syntax, führe die verfügbaren Tests aus und gib dann die genauen Befehle zum Starten der Schnittstelle an.

Prompt 2 – reMarkable-Extraktion in TXT-Dateien

Kopieren Sie den folgenden Block in Ihr KI-/Entwicklungstool. Die Platzhalter in eckigen Klammern dienen nur zur Veranschaulichung, wo diese Werte lokal konfiguriert werden.

Du bist ein Senior-Entwicklungsagent. Ich möchte, dass du eine lokale Weboberfläche und eine deterministische Pipeline baust, um meine reMarkable-Highlights zu extrahieren und in .txt-Dateien zu speichern. Ich möchte in dieser Version keinen Anki-Export.

Lokalen Kontext anpassen
------------------------
- Arbeitsverzeichnis: [LOKALER PROJEKTPFAD HIER]
- Gewünschte lokale Weboberfläche: http://[LOKALE IP-ADRESSE]:8787
- reMarkable SSH-Benutzer: root
- reMarkable SSH-Port: 22
- reMarkable-MAC: in .env.local aufbewahren, nicht im Prompt
- reMarkable-SSH-Passwort: in .env.local aufbewahren, nicht im Prompt

Sicherheitsregeln
------------------
- Fordere keine echten Zugangsdaten im Prompt an.
- Speichere das reMarkable-Passwort niemals im Quellcode, in der README oder in Markdown-Notizen.
- Erstelle eine .env.local-Datei (git-ignoriert) für lokale Geheimnisse.
- Lege die echten Zugangsdaten nur in .env.local ab, z. B.:
RM_REMARKABLE_MAC=[MAC-ADRESSE HIER]
RM_SSH_PASSWORD=[SSH-PASSWORT HIER]
- Ändere niemals Dateien auf dem reMarkable, außer es wird ausdrücklich verlangt.
- Verwende SSH nur zum Lesen/Kopieren von Daten vom reMarkable.
- Verwende keine OCR.
- Verwende keine KI-APIs oder KI-Tokens zum Extrahieren von Highlights.
- Die Extraktion muss lokal, deterministisch und erneut ausführbar sein.
- Zeige meine Geheimnisse niemals in Logs, README oder endgültigen Antworten an.

Funktionales Ziel
--------------------
Ein lokales Tool bauen, das:
1. die aktuelle IP-Adresse des reMarkable anhand von RM_REMARKABLE_MAC ermittelt, da DHCP die IP ändern kann;
2. die verfügbaren PDF-/EPUB-Dokumente auf dem reMarkable auflistet;
3. die benötigten Dateien lokal kopiert;
4. die Highlights extrahiert;
5. die Ergebnisse in lokale .txt-Dateien schreibt.

Highlights extrahieren
-------------------------
- Eine fortlaufende Annotation über mehrere Zeilen oder Seiten hinweg soll als ein einzelnes Highlight gelten.
- Wenn sich nicht hervorgehobener Quelltext zwischen zwei Fragmenten befindet, handelt es sich um zwei getrennte Highlights.
- Dokumentenreihenfolge beibehalten: Seitenreihenfolge, dann Reihenfolge des Auftretens auf der Seite.
- Bei PDF/EPUB bevorzuge den Text des Quelldokuments, wenn verfügbar; verwende die .rm-Daten als Anker.
- Bei von reMarkable kopierten EPUBS bevorzuge das gerenderte PDF-Sidecar für die Ausrichtung, da die .rm-Seiten dieser Paginierung entsprechen.
- Das extrahierte Zitat darf niemals erweitert werden, um ein Wort oder einen Satz zu vervollständigen.
- Leite keinen Text mit einer KI ab. Wenn eine Ausrichtung fehlschlägt, melde dies klar im Protokoll.

Format der .txt-Ausgabedateien
-----------------------
Schreibe eine .txt-Datei pro Dokument in einen lokalen Ordner, z. B.:
exports/remarkable_txt/[NAME_DES_DOKUMENTS].txt

Jede Datei muss enthalten:
- Titel des Dokuments;
- UUID des Dokuments, falls verfügbar;
- lokales Exportdatum;
- Gesamtzahl der Highlights;
- Liste der Highlights in der Reihenfolge des Dokuments.

Empfohlenes Format für jedes Highlight:

---
Highlight 001
Seite: [SEITE, FALLS VERFÜGBAR]
Text:
[EXAKTER TEXT DES HIGHLIGHTS]
---


Lokale Weboberfläche
--------------------
Baue eine einfache und effiziente lokale Weboberfläche:
- Standardanzeige: die letzten 10 PDF/EPUB-Dokumente;
- Auswahl 10/20/30/alle;
- Suche nur bei Enter oder Klick auf die Lupe, nicht bei jedem Tastendruck;
- Aktualisieren-Button, der die Erkennung/Liste und die SSH-Retries neu startet;
- Wenn der reMarkable im Ruhemodus ist, zeige eine klare Meldung, die auffordert, das Tablet aufzuwecken und es erneut zu versuchen;
- Sortierung: neueste, Name A-Z, Name Z-A, zuerst PDF, zuerst EPUB;
- Mehrfachauswahl von Dokumenten;
- Button "Alle auswählen";
- Die ausgewählten Dokumente müssen sichtbar/angeheftet bleiben, auch wenn eine Suche oder Sortierung sie verbergen würde;
- Der Multi-Dokument-Export muss der aktuell angezeigten Reihenfolge folgen, nicht der Klickreihenfolge;
- Button "Als TXT exportieren";
- Pfad der erzeugten .txt-Dateien anzeigen;
- Die Exportschritte live anzeigen;
- Fehler und Protokoll live in der Oberfläche anzeigen, ohne bei "running" hängen zu bleiben;
- Bei einem Fehler das aktuelle Dokument als Fehler markieren und die verwertbare Meldung anzeigen.

Erwartete CLI
------------
Sieh auch eine CLI vor:
- --list zum Auflisten der Dokumente;
- --document zum Exportieren eines bestimmten Dokuments;
- --all zum Exportieren aller PDF/EPUB-Dokumente mit Highlights;
- --output-dir zum Wählen des Ausgabeordners für .txt;
- --host zum Erzwingen einer reMarkable-IP, falls nötig;
- --mac zum Erzwingen einer MAC;
- --no-discover, um die Erkennung per MAC nicht durchzuführen.

Erwartete Liefergegenstände
------------------
- Vollständiger Quellcode.
- README mit Installations- und Nutzungsbefehlen.
- Markdown-Projektnotizen-Datei, die Entscheidungen und Einschränkungen erklärt.
- .gitignore, das .env.local, Caches, temporäre Exporte und Geheimnisse ausschließt.
- Lokale Webschnittstelle, gestartet auf http://[LOKALE IP-ADRESSE]:8787.
- Minimale Tests oder Checks, die zeigen:
- dass die Extraktion nicht von OCR abhängt;
- dass die Highlights in der Reihenfolge bleiben;
- dass die .txt-Dateien ohne Duplikate neu erstellt werden können;
- dass Webfehler in der Schnittstelle sichtbar sind.

Wichtige Einschränkungen
-----------------------
- Zeige niemals meine Geheimnisse.
- Wenn ein Geheimnis notwendig ist, verwende einen Platzhalter oder eine Umgebungsvariable.
- Halte das Tool lokal, reproduzierbar und verständlich.
- Bevor du abschließt, überprüfe die Syntax, führe die verfügbaren Tests aus und gib dann die genauen Befehle an, um die Schnittstelle zu starten und die .txt-Dateien zu exportieren.

Kommentare deaktiviert für Wie man seine reMarkable-Highlights extrahiert und an Anki sendet [KI-Prompts & github]