Windrecorder – Open-Source-Windows-App zum Zurückspulen und Durchsuchen von allem auf dem Bildschirm
(tonoko.notion.site)- Windrecorder ist eine Open-Source-App, die Bildschirmaufzeichnungen unter Windows lokal speichert, damit man sie später zurückspulen und durchsuchen kann; sie ist eher ein persönliches Erinnerungstool als eine Alternative zu Rewind/Copilot Recall
- Der Bildschirm wird mit ffmpeg oder per Screenshot in festen Intervallen in 15-Minuten-Segmentdateien gespeichert und mit der lokalen Windows-OCR-API sowie Bild-Embeddings indexiert
- Über eine lokale Web-UI lassen sich frühere Bildschirminhalte anhand von Fenstertiteln, Text-Keywords und Bildbeschreibungen finden; bestimmte Programme oder Bildschirmbereiche können von der Aufzeichnung ausgeschlossen werden
- Die Datenverarbeitung erfolgt ohne Cloud ausschließlich auf dem Rechner des Nutzers, und da das Tool auf Python basiert, lassen sich Aufbau und Verhalten leicht nachvollziehen und anpassen, auch wenn die Leistung langsam sein kann
- Das Repository nutzt derzeit eine unverschlüsselte lokale Struktur, die LLM-Funktionen sind eingeschränkt, und der praktisch nutzbare Umfang besteht vor allem aus täglichen Titelübersichten und der Suche
Bildschirmaufzeichnung und Suche per Zurückspulen
- Windrecorder ist ein persönliches Bildschirm-Erinnerungstool, um Informationen wie Webseiten, Videos oder Chat-Nachrichten wiederzufinden, die man schon gesehen hat, später aber nur schwer erneut aufspüren kann
- Die wichtigsten Inspirationen sind die Mac-App Rewind und Black Mirror S1E3 „The Entire History of You“
- Die Methode der Bildschirmaufzeichnung ist einfach
- Es verwendet ffmpeg oder Screenshots in festen Intervallen
- Der Bildschirm wird in 15-Minuten-Segmentdateien gespeichert
- Die Aufzeichnungen werden mit der lokalen Windows-OCR-API und Bild-Embeddings indexiert
- Nutzer können Programme oder Bildschirmbereiche festlegen, die nicht aufgezeichnet werden sollen
- In der lokalen Web-UI lassen sich frühere Bildschirminhalte anhand der folgenden Hinweise zurückspulen und durchsuchen
- Fenstertitel
- Text-Keywords
- Bildbeschreibungen
- Zu den Zusatzfunktionen gehören tägliche und periodische Bildschirmnutzungszeiten, tägliche Zusammenfassungen und die Erstellung einer monatlichen Lightbox
Lokal-first-Design und aktuelle Einschränkungen
- Die gesamte Verarbeitung erfolgt ausschließlich auf dem Rechner des Nutzers und setzt keine Cloud-Speicherung oder Abonnements voraus
- Die Struktur verbindet verschiedene Funktionen auf Python-Basis, wodurch die interne Arbeitsweise transparent ist und sich vom Nutzer leicht anpassen lässt
- Dafür kann die Leistung langsamer sein
- Der Entwickler ist kein professioneller Entwickler und hat das Tool aus persönlichem Interesse und für den eigenen Gebrauch erstellt
- Nach längerer Nutzung hält er es für ausreichend ausgereift und robust
- Issues, Diskussionen und Beiträge sind willkommen
- Die aktuellen Nachteile sind ebenfalls klar
- Der Datenspeicher ist offen einsehbar und nicht verschlüsselt
- Nutzer können die strukturierten lokalen Daten frei verwenden, müssen aber auch auf ihren Schutz achten
- LLM-Funktionen spielen keine große Rolle
- Derzeit beschränken sich die LLM-Funktionen hauptsächlich auf die Entscheidung, ob APIs entsprechend der Nutzerabsicht aufgerufen werden sollen, und auf die Anpassung von Suchergebnissen
- Von einem Stadium, in dem alle Daten direkt verstanden, analysiert, erinnert und entsprechend der Nutzerabsicht verarbeitet werden, ist das Tool noch weit entfernt
- Die derzeit angebotenen täglichen Titelübersichten und Suchfunktionen markieren den realistisch umsetzbaren Umfang von Windrecorder
1 Kommentare
Hacker-News-Meinungen
Etwas sehr Ähnliches wurde schon vor fast 20 Jahren gebaut, einschließlich der Funktion, zu einem bestimmten Zeitpunkt in der Vergangenheit zurückzuspulen und die Ausführung von dort wieder aufzunehmen
http://www.cs.columbia.edu/~orenl/papers/sosp07-dejaview.pdf
DejaView war ein persönlicher Recorder für virtuelle Computer, der die gesamte Desktop-Nutzung aufzeichnete und Wiedergabe, Navigation, Suche und Wiederherstellung ermöglichte; er speicherte und indexierte Bildschirmausgaben, Checkpoints des Anwendungs-/Dateisystemzustands sowie angezeigten Text mit Kontext
Ohne Änderungen an Anwendungen, Fenstersystem oder Betriebssystem-Kernel kombinierte es Display-/Betriebssystem-/Dateisystem-Virtualisierung und zeigte, dass kontinuierliche Aufzeichnung sowie interaktive Suche/Wiedergabe in echten Desktop-Apps ohne für Nutzer spürbaren Performanceverlust möglich sind
Es gibt auch ein ähnliches Open-Source-Projekt für macOS
https://rem.ing
https://github.com/jasonjmcghee/rem
Der Entwickler hat es vor drei Monaten auf HN gepostet, und es gab eine recht gute Diskussion dazu
https://news.ycombinator.com/item?id=38787892
Es steht unter der MIT-Lizenz, und ich habe auch eine plattformübergreifende Version in Rust gestartet: https://github.com/jasonjmcghee/xrem. Sie ist aber noch in einem frühen Stadium und braucht mehr Hilfe
Ich würde gern beitragen, kenne aber Swift überhaupt nicht; alles, was ich gebaut habe, waren bash-Skripte, die über launchd laufen
So etwas zu bauen, wäre spannend: Meta Smart Glasses machen alle zwei Sekunden ein Foto, schicken die Bilder an einen Cloud-Server, lassen OCR und Objekterkennung/-Labeling darüberlaufen und bieten dann eine App, mit der man die Vergangenheit durchsuchen oder sich mit ihr unterhalten kann
Dann könnte man ein LLM Dinge fragen wie: „Wo habe ich mein Portemonnaie hingelegt?“, „Habe ich gestern im Restaurant nach dem Bezahlen meine Kreditkarte zurückbekommen?“ oder „Was stand heute auf dem neuen T-Shirt meiner Tochter?“
Wenn dazu noch Audioaufzeichnung und Transkription kämen, könnte man auch nach der in einem Meeting festgelegten Deadline, der Telefonnummer einer im Park getroffenen Person oder dem Namen des heute getroffenen Investors fragen; noch besser wäre es, wenn auch Telefonate zugänglich wären und die Aussagen der Gegenseite transkribiert und indexiert würden
Das erinnert an die Black-Mirror-Folge „The Entire History of You“: https://en.wikipedia.org/wiki/The_Entire_History_of_You
Ich habe es bereits vorbestellt
Ich frage mich, ob jemand so etwas mit Accessibility-APIs statt OCR oder zusätzlich zu OCR gebaut hat
Über Accessibility-APIs kann man Text direkt abrufen; alles per OCR zu erfassen wirkt wie Verschwendung
Es könnte auch eine gute Möglichkeit sein, LLMs mit UIs zu verbinden, und solche Tools könnten ein Weg sein, Trainingsdaten zu sammeln
Das Problem, dass Microsoft Office eigene Widgets rendert, wurde gelöst, indem man die Texte von Widgets und Buttons per OCR las und so die Labels erkannte
Solche Ansätze braucht man viel häufiger, als man denkt. Entwickler enttäuschen die Erwartungen oft und nutzen die bereitgestellten APIs nicht
Manche Apps lassen Kerndaten weg oder implementieren es falsch. Ich dachte, Accessibility wäre einfach, aber in der Praxis war OCR oft einfacher
Wenn dieser Ansatz wirklich tragfähig ist, dachte ich, würden Microsoft oder Apple ihn als Teil eines Copiloten, der sich an alles erinnert und das Nutzerwissen unterstützt, direkt ins Betriebssystem integrieren
Meine Bildschirmhistorie war nicht so fortgeschritten wie die hier erwähnte App, und ich habe sie selbst auch nicht genutzt
In Notion erscheint ein Sperrbildschirm mit „JavaScript must be enabled in order to use Notion“ und „Please enable JavaScript to continue“. Wenn man NoScript verwendet, kann man wegen dieser Sperrmethode JavaScript auf der eigentlichen Website gar nicht aktivieren
Ich wünschte, sie würden nicht auf eine statische Seite weiterleiten. Auf dieser Seite gibt es kein fallweises JavaScript, das man erlauben könnte, und die Weiterleitung erfolgt so schnell, dass man keine Gelegenheit hat, JavaScript auf der Hauptseite zu aktivieren
Selbst wenn man notion.so selbst erlaubt, lässt sich diese Sperre nicht umgehen
Es überrascht mich auch, dass HTML Weiterleitungen ohne JavaScript erlaubt
Für Windows gibt es auch TimeSnapper. Es ist zwar nicht Open Source, aber der Entwickler ist gelegentlich auf Hacker News aktiv.
https://timesnapper.com/
https://www.manictime.com/
Ich erinnere mich an ein paar solcher Projekte. Das erste, das ich gesehen habe, war Savant Recall von 2014; es wurde nicht bei YC aufgenommen und daraufhin als Open Source freigegeben.
Später übernahm es Ritter, Mitgründer von Napster, benannte es in Atlas Recall um, versah es mit einer neuen UI und erhielt 20 Millionen Dollar Finanzierung.
Ein Jahr später wurde es jedoch plötzlich eingestellt; auf LinkedIn steht, es sei „von Xinova übernommen“ worden. Ein weiteres, von dem ich gehört habe, war Apse von 2019.
Repository, das möglicherweise den ursprünglichen Savant-Quellcode enthält: https://bitbucket.org/theluxury/savant/src/master/
Videos, die zeigen, wie Atlas Recall später funktionierte: https://www.youtube.com/@atlasinformatics3316/videos
https://www.geekwire.com/2021/invention-network-company-xino...
Sieht https://apse.io/ sehr ähnlich. Auch dort wird alles, was man auf dem Bildschirm gesehen hat, per OCR zu einem durchsuchbaren Index gemacht.
Mir gefällt, dass windrecorder Open Source ist.
Laut GitHub-README liegen die Videos bei etwa 100–200 GB pro Jahr, was gar nicht so schlecht ist.
Wenn man eine Idee hat wie „Warum gibt es so eine App nicht?“, ist es für alle inspirierend, wenn jemand sie so direkt und gut umsetzt.
Schön, dass man nicht zu Cloud-Speicherung gezwungen wird; das sage ich vermutlich als jemand, der bald kein zahlender Kunde mehr sein wird.