Obsidian Sync unterstützt jetzt Headless-Clients
(help.obsidian.md)- Obsidian Sync bietet nun einen Headless-Client, mit dem sich in der Kommandozeilenumgebung synchronisieren lässt – ganz ohne Desktop-App
- Damit ist die Vault-Synchronisierung in nicht-interaktiven Umgebungen wie CI-Pipelines, Servern und Automatisierungsskripten möglich
- Mit dem Befehl
ob synclässt sich eine einmalige oder fortlaufende Synchronisierung ausführen; über die UmgebungsvariableOBSIDIAN_AUTH_TOKENwird automatische Authentifizierung unterstützt - Enthalten ist ein umfangreicher Befehlssatz für das Erstellen entfernter Vaults, das Einrichten lokaler Verknüpfungen, die Statusabfrage, das Ändern von Einstellungen und mehr
- Unter Windows und macOS steht ein nativer Modulbaustein zur Verfügung, der beim Erstellen von Dateien die Erstellungszeit (birthtime) beibehält und so die Datenintegrität verbessert
Überblick
- Der Headless Client von Obsidian Sync ist ein Werkzeug zum Synchronisieren von Vaults ohne Desktop-App
- Nützlich in CI-, Automatisierungsagenten- und Serverumgebungen
- Ermöglicht das Abrufen der neuesten Änderungen oder das dauerhafte Aktualisieren von Dateien
- Auf einem Gerät sollten Desktop Sync und Headless Sync nicht gleichzeitig verwendet werden, da das Risiko von Datenkonflikten besteht
- Die Installation erfolgt mit dem Befehl
npm install -g obsidian-headless
Grundlegende Verwendung
- Anmeldung:
ob login - Liste der Remote-Vaults anzeigen:
ob sync-list-remote - Lokalen Vault einrichten:
ob sync-setup --vault "My Vault" - Einmalige Synchronisierung:
ob sync - Fortlaufende Synchronisierung:
ob sync --continuous - In nicht-interaktiven Umgebungen kann die Authentifizierung durch Setzen der Umgebungsvariable
OBSIDIAN_AUTH_TOKENautomatisiert werden
Wichtige Befehle
ob sync-list-remote: Zeigt alle Remote-Vaults des Kontos an, einschließlich freigegebener Vaultsob sync-list-local: Zeigt lokal eingerichtete Vaults und deren Pfade anob sync-create-remote: Erstellt einen neuen Remote-Vault- Optionen:
--name,--encryption(standardodere2ee),--password,--region
- Optionen:
ob sync-setup: Richtet die Verknüpfung zwischen lokalem und Remote-Vault ein- Optionen:
--vault,--path,--password,--device-name,--config-dir
- Optionen:
ob sync: Führt die Synchronisierung für den eingerichteten Vault aus- Mit der Option
--continuouswerden Änderungen überwacht und kontinuierlich synchronisiert
- Mit der Option
ob sync-config: Zeigt die Synchronisierungseinstellungen eines Vaults an oder ändert sie- Es lassen sich Konfliktstrategie (
merge/conflict), Dateitypen, zu synchronisierende Einstellungskategorien, auszuschließende Ordner usw. festlegen
- Es lassen sich Konfliktstrategie (
ob sync-status: Zeigt den Synchronisierungsstatus und die Einstellungen des Vaults anob sync-unlink: Trennt den Vault von der Synchronisierung und löscht gespeicherte Zugangsdaten
Native Module
- Für Windows und macOS ist ein native Add-on enthalten, das die Erstellungszeit von Dateien (birthtime) setzt
- Beim Herunterladen von Dateien vom Server bleibt die ursprüngliche Erstellungszeit erhalten
- Zielt auf N-API-Version 3 und wahrt die ABI-Kompatibilität zwischen Node.js-Versionen
- Unter Linux wird birthtime nicht unterstützt, daher ist kein Add-on enthalten; die Synchronisierung funktioniert jedoch normal
- Ziele für vorgefertigte Binärdateien:
win32-x64,win32-arm64,win32-ia32,darwin-x64,darwin-arm64
1 Kommentare
Hacker-News-Kommentare
Siehe offizielle Dokumentation
In letzter Zeit macht es wirklich Spaß, Obsidian zusammen mit einer AI-CLI zu verwenden. Auch ohne Plugins lässt es sich direkt nutzen, weil es einfach eine Markdown-Verzeichnisstruktur ist
Mich würde interessieren, ob ihr alle das kostenpflichtige Obsidian Sync nutzt oder Alternativen wie SyncThing
Außerdem wird gefragt, ob bei der Installation von obsidian-headless auch die CLI mitgeliefert wird oder ob es nur für die Synchronisierung gedacht ist
Ich werde mir nun das offizielle Obsidian Sync ansehen
Wenn zum Beispiel gleichzeitig Änderungen vorgenommen werden und eine Seite die andere überschreibt: Was passiert dann mit meinen Änderungen?
Ich würde gern bestimmte Notizen anhand von Statusänderungen oder Cronjobs automatisch aktualisieren, möchte aber Zugriff auf den gesamten Vault vermeiden
Das Produkt gefällt mir so gut, dass ich sogar VIP Catalyst gekauft habe
Zum Beispiel, wenn es in einem Projekt nur eine readme.md gibt und ich dafür nicht extra einen separaten Vault und Konfigurationsdateien anlegen möchte
Allerdings hängt vieles in Obsidian von Vault-Einstellungen ab, daher ist es nicht ganz einfach
Zum Beispiel muss bedacht werden, welches Theme verwendet wird, welche Plugins aktiviert sind oder wie die Autovervollständigung von [[Links]] funktionieren soll
Für serverseitige Automatisierung oder RAG-basierte Aufgaben scheint sie wirklich nützlich zu sein
Dazu gibt es einen experimentellen Blogbeitrag von mir → utf9k.net/blog/obsidian-headless
Dieser Workflow ist nicht perfekt, aber es fühlt sich an, als hätte sich die Reibung bis zum Schreiben und direkten Veröffentlichen verringert
Früher habe ich Git oder verschiedene Obsidian-Plugins kombiniert, aber das war immer kompliziert
Anscheinend habe ich es völlig falsch benutzt
Ich würde Dokumente gern wie mit ChatGPT im Gespräch überarbeiten, habe aber noch nichts Passendes gefunden
Ich frage mich auch, ob tool calling möglich ist, um nur Teile zu ändern, statt das gesamte Dokument neu zu schreiben
Mit dieser Funktion könnte ich auf dem Handy synchronisieren und auf dem Desktop die Dokumente mit Neovim öffnen
Wenn es am Ende nur Markdown-Dateien sind: Wozu braucht man dann die CLI, und wie würde eine AI den Vault darüber verwalten?
Mit benutzerdefinierten Skills funktioniert das bereits ziemlich gut, aber diese neue Funktion dürfte den Workflow noch flüssiger machen
Außerdem habe ich ein CLI-Tool namens obsidian-semantic-search erstellt, das LanceDB-Embedding-Indexierung und semantische Suche implementiert
Damit lassen sich interne Verknüpfungen zwischen Notizen besser herstellen