Conseils,  TDM

Hoe haal je highlights uit je reMarkable en stuur je ze naar Anki? [IA-prompts & github]

Op Kindle kun je gemarkeerde passages heel makkelijk exporteren, maar dat is niet het geval op de reMarkable.

Ik heb CODEX gebruikt om een lokale webinterface te maken waar ik mijn reMarkable-bestanden (ePUB/PDF) kan selecteren, de highlights kan extraheren en naar Anki kan sturen. Zo ziet de interface eruit:

Je ziet dat je het volgende kunt doen:

  • highlights uit een document naar een Anki-deck exporteren
  • highlights uit meerdere bestanden in één Anki-deck bundelen
  • highlights die over meerdere regels lopen, worden samengevoegd en als één highlight beschouwd

Alles wordt via Anki Connect direct naar Anki geëxporteerd. Je hoeft alleen de Anki-app geïnstalleerd en geopend te hebben op Windows. Daarna worden de decks gesynchroniseerd met AnkiWeb. Voor elke kaart zie je de gemarkeerde passage op de voorkant en de context (één zin ervoor, één zin erna) op de achterkant.

Als er nieuwe highlights in hetzelfde bestand verschijnen, worden de oude Anki-kaarten niet verwijderd; alleen de nieuwe highlights worden toegevoegd.

De GitHub-repository is hier beschikbaar: https://github.com/tdm5c/remarkable-highlights-to-anki

Wil je de highlights niet naar Anki exporteren, dan kan dat ook. Je hoeft CODEX alleen te vragen om ze naar een .html- of .txt-bestand te exporteren of naar Google Docs (wat je maar wilt). Ik geef je wat voorbeeldprompts, zodat je zelf aan de slag kunt om je eigen tool te maken.

SSH-toegang

Om SSH-toegang tot je reMarkable te krijgen, zet je de reMarkable aan, activeer je de wifi en ga je naar HELP => Copyrights and licenses. Lees de instructies, sluit de USB-kabel aan op de computer, sta SSH-toegang toe en haal daarna het MAC-adres en het wachtwoord.

op. Voor de reMarkable Paper Pro moet je eerst de ontwikkelaarsmodus inschakelen. De ontwikkelaarsmodus reset de e-reader, maar je verliest geen documenten; je hoeft de e-reader alleen opnieuw te koppelen aan je reMarkable-account om de gesynchroniseerde documenten op te halen.

Sorry als ik niet duidelijker kan zijn; dit artikel is een beetje voor geeks bedoeld. Meer informatie

Prompt 1 – Interface van reMarkable naar Anki

Kopieer en plak het onderstaande blok in je AI-/ontwikkeltool. De placeholders tussen vierkante haakjes geven aan waar deze waarden lokaal worden geconfigureerd.

Je bent een senior development agent. Ik wil dat je een lokale webinterface en een deterministische pijplijn bouwt om mijn reMarkable highlights naar Anki te exporteren.

Lokale context aan te passen
------------------------
- Werkmap: [HIER LOKAAL PROJECTPAD]
- Gewenste lokale webinterface: http://[HIER LOKAAL IP-ADRES]:8787
- AnkiConnect URL: http://[HIER ANKI CONNECT IP-ADRES]:8765
- AnkiConnect add-on: 2055492159
- reMarkable SSH-gebruiker: root
- reMarkable SSH-poort: 22
- reMarkable MAC: bewaren in .env.local, niet in de prompt
- reMarkable SSH-wachtwoord: bewaren in .env.local, niet in de prompt

Veiligheidsregels
------------------
- Vraag niet om de echte toegangen in de prompt.
- Sla het reMarkable-wachtwoord nooit op in de broncode, de README of de Markdown-notities.
- Maak een .env.local git-ignore bestand voor lokale geheimen.
- Zet de echte toegangen alleen in .env.local, bijvoorbeeld:
  RM_REMARKABLE_MAC=[HIER MAC-ADRES]
  RM_SSH_PASSWORD=[HIER SSH-WACHTWOORD]
  ANKI_CONNECT_URL=http://[HIER ANKI CONNECT IP-ADRES]:8765
- Wijzig nooit bestanden op de reMarkable, tenzij expliciet gevraagd.
- Gebruik SSH alleen om gegevens van de reMarkable te lezen/kopiëren.
- Gebruik geen OCR.
- Gebruik geen AI-API of AI-tokens om highlights te extraheren.
- De extractie moet lokaal, deterministisch en opnieuw uitvoerbaar zijn.

Functioneel doel
--------------------
Bouw een lokaal hulpmiddel dat:
1. het huidige IP-adres van de reMarkable ontdekt op basis van RM_REMARKABLE_MAC, omdat DHCP het IP kan wijzigen;
2. de beschikbare PDF/EPUB-documenten op de reMarkable weergeeft;
3. de benodigde bestanden lokaal kopieert;
4. de highlights extraheert;
5. Anki-kaarten maakt of bijwerkt via AnkiConnect;
6. na de update synchroniseert met AnkiWeb, tenzij de optie is uitgeschakeld.

Extractie van highlights
-------------------------
- Een doorlopende annotatie over meerdere regels of pagina's moet één highlight worden.
- Als niet-gemarkeerde brontekst tussen twee fragmenten staat, zijn het twee afzonderlijke highlights.
- Behoud de documentvolgorde: volgorde van pagina's, daarna volgorde van verschijnen op de pagina.
- Geef voor PDF/EPUB de voorkeur aan de tekst van het brondocument wanneer beschikbaar; gebruik de .rm-gegevens als ankers.
- Geef voor EPUB's die van de reMarkable zijn gekopieerd de voorkeur aan de gerenderde PDF-sidecar voor de uitlijning, omdat de .rm-pagina's overeenkomen met die paginering.
- Het citaat/front mag nooit worden uitgebreid om een woord of zin te voltooien.
- De achterkant kan context bevatten: exact één vorige niet-titelzin + zin met de highlight met de highlight vetgedrukt + exact één volgende niet-titelzin.

Anki-integratie
----------------
- Maak standaard één Anki-deck per reMarkable-document, exact genoemd als het document.
- Maak één Anki-kaart per highlight.
- Voorkant: exact citaat/highlight.
- Achterkant: highlight in context wanneer beschikbaar.
- Gebruik stabiele ID's zodat herhaalde runs bestaande notities bijwerken en alleen nieuwe highlights toevoegen.
- Verwijder verouderde Anki-notities voor dezelfde document-UUID wanneer de stabiele set highlights verandert.
- Na lokale Anki-sync, herpositioneer alleen nieuwe kaarten in de volgorde van verschijnen in het document.
- Wijzig de planning van reeds beoordeelde/geleerde kaarten niet.
- Als AnkiConnect onbereikbaar is, start Anki Desktop automatisch en wacht tot de collectie beschikbaar is.
- Na lokale Anki-update, start automatisch AnkiWeb-sync, tenzij de optie --no-sync-ankiweb.
- Gebruik voor grote documenten batch-AnkiConnect-aanroepen om blokkades te voorkomen.

Lokale webinterface
--------------------
Bouw een eenvoudige en efficiënte lokale webinterface:
- standaardweergave: de laatste 10 PDF/EPUB-documenten;
- keuze 10/20/30/alle;
- zoeken alleen op Enter of klik op het vergrootglas, niet bij elke toetsaanslag;
- knop Verversen die detectie/lijst en SSH-retries opnieuw start;
- als de reMarkable in slaapstand staat, toon dan een duidelijke melding om de tablet te activeren en opnieuw te proberen;
- sorteren: recent, naam A-Z, naam Z-A, PDF eerst, EPUB eerst;
- meerdere documenten selecteren;
- knop "Alles selecteren";
- geselecteerde documenten moeten zichtbaar/gepind blijven, zelfs als een zoekopdracht of sortering ze zou verbergen;
- export van meerdere documenten moet de momenteel weergegeven volgorde volgen, niet de klikvolgorde;
- extra optie "Enkel deck" alleen beschikbaar als meerdere bestanden zijn geselecteerd;
- als "Enkel deck" is geactiveerd, stuur dan alle geselecteerde highlights naar één Anki-deck waarvan de naam configureerbaar is;
- anders één deck per document behouden;
- toon de exportstappen live;
- toon fouten en het logboek live in de interface, zonder vast te blijven op "running";
- markeer bij een fout het huidige document als error en toon een bruikbare melding.

Verwachte CLI
------------
Voorzie ook een CLI:
- --list om documenten weer te geven;
- --document om een specifiek document te exporteren;
- --all om alle PDF/EPUB-documenten met highlights te exporteren;
- --no-anki om te testen zonder Anki te wijzigen;
- --no-sync-ankiweb om AnkiWeb-sync uit te schakelen;
- --single-deck en --single-deck-name om meerdere documenten in één deck te exporteren;
- --host om indien nodig een reMarkable-IP te forceren;
- --mac om een MAC te forceren;
- --no-discover om de MAC-detectie niet uit te voeren.

Verwachte opleveringen
------------------
- Volledige broncode.
- README met installatie- en gebruiksinstructies.
- Markdown-projectnotitiebestand met beslissingen en beperkingen.
- .gitignore die .env.local, caches, tijdelijke exports en geheimen uitsluit.
- Lokale webinterface gestart op http://[HIER LOKAAL IP-ADRES]:8787.
- Tests of minimale controles die aantonen dat:
  - de extractie niet afhankelijk is van OCR;
  - de highlights in de juiste volgorde blijven;
  - herhaalde runs geen kaarten dupliceren;
  - webfouten zichtbaar zijn in de interface.

Belangrijke beperkingen
-----------------------
- Toon mijn geheimen nooit in logs, README of uiteindelijke antwoorden.
- Als een geheim nodig is, gebruik dan een placeholder of omgevingsvariabele.
- Houd het hulpmiddel lokaal, reproduceerbaar en begrijpelijk.
- Controleer voordat je klaar bent de syntaxis, voer de beschikbare tests uit en geef dan de exacte commando's om de interface te starten.

Prompt 2 – Extractie van reMarkable naar TXT-bestanden

Kopieer en plak het onderstaande blok in uw AI/ontwikkeltool. De placeholders tussen vierkante haken dienen om aan te geven waar deze waarden lokaal worden geconfigureerd.

Je bent een senior ontwikkelingsagent. Ik wil dat je een lokale webinterface en een deterministisch pipeline bouwt om mijn reMarkable highlights te extraheren en op te slaan in .txt-bestanden. Ik wil geen Anki-export in deze versie.

Lokale context om aan te passen
------------------------
- Werkmap: [LOKAAL PROJECTPAD HIER]
- Gewenste lokale webinterface: http://[LOKAAL IP-ADRES]:8787
- reMarkable SSH-gebruiker: root
- reMarkable SSH-poort: 22
- reMarkable MAC: bewaren in .env.local, niet in de prompt
- reMarkable SSH-wachtwoord: bewaren in .env.local, niet in de prompt

Veiligheidsregels
------------------
- Vraag niet om de echte toegangsgegevens in de prompt.
- Sla het reMarkable-wachtwoord nooit op in de broncode, de README of Markdown-notities.
- Maak een .env.local-bestand dat genegeerd wordt door git voor lokale geheimen.
- Zet de echte toegangsgegevens alleen in .env.local, bijvoorbeeld:
RM_REMARKABLE_MAC=[MAC-ADRES HIER]
RM_SSH_PASSWORD=[SSH-WACHTWOORD HIER]
- Wijzig nooit bestanden op de reMarkable, tenzij expliciet gevraagd.
- Gebruik SSH alleen om gegevens van de reMarkable te lezen/kopiëren.
- Gebruik geen OCR.
- Gebruik geen AI-API's of AI-tokens om highlights te extraheren.
- De extractie moet lokaal, deterministisch en herhaalbaar zijn.
- Toon nooit mijn geheimen in logs, README of definitieve antwoorden.

Functioneel doel
--------------------
Bouw een lokaal hulpmiddel dat:
1. het huidige IP-adres van de reMarkable ontdekt op basis van RM_REMARKABLE_MAC, omdat DHCP het IP kan wijzigen;
2. de beschikbare PDF/EPUB-documenten op de reMarkable vermeldt;
3. de benodigde bestanden lokaal kopieert;
4. de highlights extraheert;
5. de resultaten schrijft naar lokale .txt-bestanden.

Extractie van highlights
-------------------------
- Een doorlopende annotatie over meerdere regels of pagina's moet één enkele highlight worden.
- Als niet-gemarkeerde brontekst tussen twee fragmenten staat, zijn dit twee afzonderlijke highlights.
- Behoud de documentvolgorde: paginavolgorde, daarna volgorde van verschijnen op de pagina.
- Geef voor PDF/EPUB de voorkeur aan de tekst van het brondocument wanneer beschikbaar; gebruik de .rm-gegevens als ankers.
- Voor EPUB's gekopieerd van reMarkable, geef de voorkeur aan de weergegeven PDF-sidecar voor de uitlijning, omdat de .rm-pagina's overeenkomen met die paginering.
- Het geëxtraheerde citaat mag nooit worden uitgebreid om een woord of zin te voltooien.
- Leid geen tekst af met AI. Als een uitlijning mislukt, meld dit dan duidelijk in het logboek.

Formaat van de .txt-uitvoer
-----------------------
Schrijf één .txt-bestand per document in een lokale map, bijvoorbeeld:
exports/remarkable_txt/[NAAM_VAN_HET_DOCUMENT].txt

Elk bestand moet bevatten:
- titel van het document;
- UUID van het document indien beschikbaar;
- lokale exportdatum;
- totaal aantal highlights;
- lijst van highlights in de volgorde van het document.

Aanbevolen formaat voor elke highlight:

---
Highlight 001
Pagina: [PAGINA INDIEN BESCHIKBAAR]
Tekst:
[EXACTE TEKST VAN DE HIGHLIGHT]
---


Lokale webinterface
--------------------
Bouw een eenvoudige en efficiënte lokale webinterface:
- standaardweergave: de laatste 10 PDF/EPUB-documenten;
- keuze 10/20/30/alle;
- zoeken alleen op Enter of klik op het vergrootglas, niet bij elke toetsaanslag;
- knop Verversen die de detectie/lijst en SSH-pogingen opnieuw start;
- als de reMarkable in slaapstand staat, toon dan een duidelijke melding die vraagt om de tablet te wekken en opnieuw te proberen;
- sorteren: recent, naam A-Z, naam Z-A, PDF eerst, EPUB eerst;
- multi-selectie van documenten;
- knop "Alles selecteren";
- de geselecteerde documenten moeten zichtbaar/vastgepind blijven, zelfs als een zoekopdracht of sortering ze zou verbergen;
- de multi-document export moet de huidige weergegeven volgorde volgen, niet de klikvolgorde;
- knop "Exporteren naar TXT";
- toon het pad van de geproduceerde .txt-bestanden;
- toon de exportstappen live;
- toon fouten en het logboek live in de interface, zonder vast te blijven op "bezig";
- bij een fout, markeer het huidige document als fout en toon de bruikbare foutmelding.

Verwachte CLI
------------
Voorzie ook een CLI:
- --list om documenten te lijsten;
- --document om een specifiek document te exporteren;
- --all om alle PDF/EPUB-documenten met highlights te exporteren;
- --output-dir om de uitvoermap voor .txt te kiezen;
- --host om een reMarkable-IP te forceren indien nodig;
- --mac om een MAC te forceren;
- --no-discover om geen detectie via MAC te doen.

Verwachte opleveringen
------------------
- Volledige broncode.
- README met installatie- en gebruiksinstructies.
- Markdown-notitiebestand voor het project waarin beslissingen en beperkingen worden uitgelegd.
- .gitignore dat .env.local, caches, tijdelijke exports en geheimen uitsluit.
- Lokale webinterface gestart op http://[LOKAAL IP-ADRES]:8787.
- Minimale tests of controles die aantonen dat:
- de extractie niet afhankelijk is van OCR;
- de highlights in de juiste volgorde blijven;
- de .txt-bestanden opnieuw kunnen worden gegenereerd zonder duplicaten;
- webfouten zichtbaar zijn in de interface.

Belangrijke beperkingen
-----------------------
- Toon nooit mijn geheimen.
- Als een geheim nodig is, gebruik dan een placeholder of een omgevingsvariabele.
- Houd het hulpmiddel lokaal, reproduceerbaar en begrijpelijk.
- Controleer voordat je klaar bent de syntaxis, voer de beschikbare tests uit en geef vervolgens de exacte commando's om de interface te starten en de .txt-bestanden te exporteren.

Reacties uitgeschakeld voor Hoe haal je highlights uit je reMarkable en stuur je ze naar Anki? [IA-prompts & github]