Export
Der Export lädt einen ganzen Space oder einen einzelnen Ordner als ein einziges ZIP-Archiv aus Markdown-Dateien herunter. Da deine Dateien die Quelle der Wahrheit sind (das File-first-Prinzip), liest der Export sie direkt von der Festplatte, statt sie aus einem Index neu aufzubauen: Das Archiv trägt die tatsächlichen Dateien — einschließlich der notarium-id im Frontmatter jeder Datei.
Genau deshalb ist der Export umkehrbar — du kannst ihn per Import wieder zurückspielen oder auf eine andere Instanz übertragen, ohne Struktur, Identität oder Datumsangaben zu verlieren. Export bedeutet eigentlich nicht, „Daten hinauszuschaffen“; es ist eine bequeme Art, das zu verpacken, was ohnehin schon als deine Dateien auf der Festplatte liegt.
So exportierst du
Der Export befindet sich auf dem Tab Export in den Einstellungen eines Space:
- Die Schaltfläche stellt einen Job in die Warteschlange; von da an bekommst du einen Fortschrittsbalken mit Prozentangaben (sobald die Anzahl der Notizen bekannt ist) sowie eine Schaltfläche Cancel.
- Sobald das Archiv fertig ist, wird es automatisch heruntergeladen; die Schaltflächen Download .zip (erneut herunterladen) und Export again (Export erneut ausführen) bleiben daneben stehen.
- Den Tab zu verlassen und zurückzukehren ist gefahrlos: Bei deiner Rückkehr siehst du entweder wieder den laufenden Job oder eine zum Herunterladen bereite Datei.
Einen einzelnen Ordner exportierst du über das Kontextmenü des Baums — den Eintrag Export folder. Es ist derselbe Job, nur auf einen Teilbaum beschränkt; der Fortschritt erscheint in einem „angehefteten“ Toast mit einer Abbrechen-Schaltfläche.
Optionen
Beide Exportwege akzeptieren denselben Satz an Parametern:
| Parameter | Werte | Wirkung |
|---|---|---|
scope | user (Standard) · all | user — nur deine Notizen; all — alles, was der Space enthält, einschließlich des Mounts für das Agentengedächtnis (.notarium/memory). |
frontmatter | keep (Standard) · strip | keep schreibt die Datei unverändert; strip entfernt den YAML-Block — eine saubere Kopie zum Lesen. |
folder | Pfad | Beschränkt den Export auf einen Teilbaum (das, was Export folder tut). |
frontmatter=strip verhindert den verlustfreien Re-ImportDas Entfernen des Frontmatters ergibt eine verlustbehaftete Kopie: Zusammen mit dem YAML-Block gehen die notarium-id und die Tags verloren. Ein solches Archiv eignet sich gut, um Notizen zum Lesen weiterzugeben, aber du kannst es nicht mehr verlustfrei zurückimportieren. Wenn du Daten umziehst, bleib bei keep (dem Standard).
Selbst mit scope=all enthält ein Export-Archiv nichts außer den Markdown-Dateien des Space. Eine Metadaten-Datenbank steckt nicht darin: keine Konten, keine Zugriffsrechte, kein Versionsverlauf, kein Job-Zustand. Eine Instanz lässt sich daraus nicht wiederherstellen. Backups sind ein eigener Vorgang, ausgeführt über einen eingebauten Befehl des Images — siehe Backup und Wiederherstellung.
So funktioniert es unter der Haube
Der Export ist auf Streaming ausgelegt, damit eine beliebig große Wissensbasis nie im Speicher gehalten wird:
- Standardmäßig ein asynchroner Job. Wenn der Host über eine Metadaten-Datenbank verfügt (die Norm beim Self-Hosting), ist der Export ein dauerhafter Job: Ein Hintergrund-Worker baut das ZIP im Artefaktspeicher zusammen und liefert die fertige Datei mit Unterstützung für fortsetzbare Downloads aus. Ein geschlossener Tab, eine abgebrochene Verbindung oder ein Server-Neustart bringen den Export nicht aus dem Tritt.
- Der Download wird nicht gepuffert. Der Browser streamt das fertige Archiv direkt auf die Festplatte und übernimmt den Namen aus dem Response-Header — eine große Wissensbasis wird nicht im Speicher des Tabs gehalten.
- Der Abbruch stoppt die Arbeit. Ein abgebrochener Download ruft keine Notizen mehr ab — der Server liest nicht umsonst die gesamte Wissensbasis weiter.
flowchart LR
notes[(Markdown-Notizen)] -->|von der Festplatte lesen| worker[Hintergrund-Worker]
worker -->|ZIP| artifact[Job-Artefakt]
artifact -->|Download| user([Browser])
Auf einem Host ohne Metadaten-Datenbank (sie fehlt nur im Modus AUTH_MODE=none) gibt es keine Job-Ebene: Der Export nimmt den synchronen Streaming-Weg — dasselbe ZIP wird als direkter Download innerhalb einer einzigen Anfrage ausgeliefert, ohne Fortschritt und ohne fortsetzbaren Download. Nur die Art der Auslieferung ändert sich; das Ergebnis ist dasselbe.
Grenzen
- Ein Space pro Vorgang. Spaces sind isolierte Speicher mit eigener Zugriffskontrolle; um mehrere zu exportieren, exportiere jeden einzeln.
- Das Artefakt hat eine TTL. Das fertige ZIP wird für begrenzte Zeit aufbewahrt (standardmäßig 7 Tage) und vom Garbage Collector entfernt; bis dahin kannst du es erneut herunterladen.
- Binäre Anhänge werden nicht exportiert. Das Archiv trägt den Text der Notizen — Markdown-Dateien.
- Abbrechen, aber nicht pausieren. Ein Job lässt sich abbrechen; ein Pausieren und Fortsetzen gibt es nicht.
Weiter
- Import — ein Archiv zurückspielen oder eine Wissensbasis auf eine andere Instanz übertragen.
- Abschnittsübersicht — warum File-first Import und Export günstig macht.