Hallo liebe Entwickler, hallo liebes Forum,
ich möchte die Apple Notizen App dauerhaft mit Devonthink synchronisieren. Gemini sagt mir, dass es da wohl mal ein Script gab was ich aber nicht gefunden habe. Gemini hat ja bei ihren Aussagen nicht immer recht. Eine Importfunktion habe ich gefunden. Nur wenn ich dort regelmäßig ein Import durchführe, werden immer wieder alle Notizen importiert, auch die Notizen die schon in Devonthink importiert wurden. Daher hier meine Frage: Wie kann ich in Devonthink Apple Notizen dauerhaft synchronisieren?
Danke und liebe Grüße
Holger
Warum willst Du das? Anders gefragt: Welchen Sinn siehst Du darin, dieselben Daten (mal angenommen, es wären überhaupt dieselben Daten) in zwei verschiedenen Apps zu haben?
Technisch wäre es vielleicht möglich. Aber ich kann mir zurzeit kein lebendes Wesen vorstellen, dass sich diese Arbeit antun wollen würde. Diese KI-Geschichten kenne ich nicht, ich bin aber sicher, dass dir irgendeine davon ganz schnell ein Script schreiben wird, das dann nicht funktioniert. Oder nicht so, wie du es gerne hättest.
Das Resultat hängt nicht nur vom Modell, sondern auch stark vom Anwender, dessen Erfahrung, den verwendeten Prompts und dem bereitgestellten Kontext ab. Im Idealfall sind die Möglichkeiten und Ergebnisse schon beinahe erschreckend gut und werden stetig besser.
Ich hörte davon. Und habe mich auch schon über automagische Kommentare in meinem Code gefreut, tatsächlich. Aber es gibt eben auch die curl-Entwickler, die inzwischen AI pull requests blockieren, weil zu viel Mist dabei ist. Und die Tailwind-Entwickler sind fast pleite, weil AI das Lesen ihrer Online-Dokumentation überflüssig macht – worüber sie bislang Kunden für ihre Dienstleistungen gewonnen haben.
Womit wohl AI trainiert wird, wenn niemand mehr Dokumentation, Code oder sonstwas schreibt, weil alle nur noch die AI fragen und nicht mehr selber lesen?
Mal schauen, was Gemini oder sonst wer vorschlägt, um Notes- und DT-Notizen synchron zu halten …
Tja, leider wird jede neue Technologie irgendwann missbraucht von skrupellosen Zeitgenossen. Da ist AI keine Ausnahme.
Hallo chrillek, hallo cgrunenberg, hallo Forum,
Gemini hat mir ein Script erstellt was funktioniert. Okay, die KI hat fünf, sechs Versuche gebraucht bis es dann geklappt hat.
Hier der Quelltext:
-- EINSTELLUNGEN
property notesAccountName : "iCloud"
property targetDbName : "MyLife"
property targetGroupPath : "/Apple Notizen/Alle iCloud"
tell application "Notes"
if not (exists account notesAccountName) then
display alert "Fehler" message "Account '" & notesAccountName & "' nicht gefunden."
return
end if
set sourceNotes to notes of account notesAccountName
end tell
tell application "DEVONthink 4"
try
set theDatabase to database named targetDbName
on error
display alert "Fehler" message "Datenbank '" & targetDbName & "' nicht gefunden."
return
end try
set destGroup to create location targetGroupPath in theDatabase
repeat with theNote in sourceNotes
set shouldImport to true
tell application "Notes"
set noteName to name of theNote
try
set noteContainer to name of container of theNote
on error
set noteContainer to "Unbekannt"
end try
if noteContainer is in {"Zuletzt gelöscht", "Recently Deleted"} then
set shouldImport to false
else
set noteBody to body of theNote
set noteDate to modification date of theNote
set noteID to id of theNote
end if
end tell
if shouldImport then
-- DER TRICK: Wir bauen die URL schon hier zusammen
set targetURL to "applenotes://showNote?identifier=" & noteID
-- NEUE PRÜFUNG: Wir suchen nach einer Notiz mit dieser URL, nicht nach dem Namen!
-- Das ignoriert Umbenennungen durch Sonderzeichen.
set existingRecords to children of destGroup whose URL is targetURL
if existingRecords is {} then
-- Importieren, wenn URL noch nicht existiert
set newRecord to create record with properties {name:noteName, type:html, content:noteBody, creation date:noteDate, URL:targetURL} in destGroup
set tags of newRecord to {"Apple Notizen", noteContainer}
end if
end if
end repeat
display notification "Import fertig." with title "DEVONthink Sync"
end tell
Meine Datenbank heißt: “MyLife” und die Gruppe (der Ordner) in den die Apple Notizen importiert werden sollen heißt: “/Apple Notizen/Alle iCloud”. Das muss bei euch in Zeile 3 und 4 entsprechend nach euren Bedürfnissen abgeändert werden. Auch die Tags die das Script vergibt kann man noch anpassen. Ich bin jetzt gespannt was die Experten hier im Forum zu dem Script sagen oder ob es noch Verbesserungsvorschläge gibt.
Ciao Holger
Eine URL zu benutzen, die die Notes-ID enthält, ist pfiffig. Ich hätte vermutlich die ID direkt verwendet, als Metadatum in DT, aber das ist Geschmackssache. Abgesehen davon ist der Code wie KI-üblich umständlich, aber bitte.
Aber: Das Ganze ist kein Sync, sondern nur “Importiere, was noch nicht importiert ist”. Du hattest nach “Synchronisieren” gefragt. Das impliziert, dass zB Notizen, die du in Notes geändert hast, erneut importiert werden und die vorhandene ersetzen. Und umgekehrt Notizen, die du in DT neu anlegst oder änderst, nach Notes importiert werden.
Abgesehen davon: Attachments von Notes-Notizen werden nicht übernommen, das Format ist zwangsweise HTML.
Letztlich hast Du also gegebenenfalls abgespeckte HTML-Kopien deiner Notizen in DT. Wozu eigentlich?
Hallo chrillek,
erst einmal möchte ich mein Vorhaben etwas konkretisieren bzw. ein Missverständnis beseitigen. Ich hatte mich wohl auch nicht ganz korrekt ausgedrückt. Ich wollte NUR die Notizen aus der Apple Notizen App mit Devonthink in ein Ordner in Devonthink synchronisieren. Ich will nicht die komplette Datenbank von Devonthink nach Apple Notizen syncen. Jetzt habe ich auch gelesen, dass ein sync von Devonthink zu Apple Notizen nicht möglich ist. Daher bin ich mit der Variante Notizen nach Devonthink zu exportieren zufrieden.
Ciao Holger