Repository navigation
Datenablage
Wo Lotse etwas hinschreibt, was in jeder Datei steht, und was davon mitgesichert werden muss. Nützlich beim Umziehen, beim Sichern und wenn man sicher sein will, dass nichts an einer unerwarteten Stelle liegt.
| System | Pfad |
|---|---|
| Linux |
~/.local/share/lotse (bzw. $XDG_DATA_HOME/lotse) |
| macOS | ~/Library/Application Support/lotse |
| Windows | %APPDATA%\lotse |
Überschreibbar mit --home <PFAD> oder LOTSE_HOME (Umgebungsvariablen). App und
Kommandozeile benutzen denselben Ordner – zwei Oberflächen, ein Bestand.
Der Ordner liegt im Benutzerprofil, nicht beim Programm. Deshalb überlebt er ein Update
und eine Deinstallation: ein Update darf kein Datenverlust sein. Wer wirklich alles
loswerden will, nimmt lotse zuruecksetzen (Kommandozeile-Referenz) oder den Knopf
in den Einstellungen – Handarbeit vergisst sonst den Schlüsselbund.
Darin liegen genau zwei Dateien:
konto.json 582 Byte
lotse.db die Datenbank
Der Konto-Kopf. Enthält den Salt, die KDF-Parameter, die gewrappten Schlüssel und die Geräte-ID. Keine Geheimnisse im Klartext: ohne Master-Passwort ist die Datei nutzlos. Sie darf in eine Sicherung, und sie muss dort hinein – ohne sie ist die Datenbank nicht aufzuschließen.
Zwei Dinge liegen nicht im Datenordner und überleben deshalb auch dessen Löschung:
| Wo | Was | Wer räumt auf |
|---|---|---|
OS-Schlüsselbund, Dienst app.lotse.desktop, Eintrag desktop-key/<geräte-id>
|
Der Desktop-Schlüssel für Tresor-Einträge der Stufe »nur dieses Gerät« (Schluessel-und-Krypto) |
lotse zuruecksetzen und der Knopf in den Einstellungen
|
Speicher der Oberfläche, Schlüssel lotse.thema
|
Die Themenwahl dieses Geräts (Einstellungen) | belanglos; enthält nichts von dir |
Die Geräte-ID steht in konto.json. Wer die Datei zuerst löscht, findet den
Schlüsselbund-Eintrag danach nicht mehr wieder – deshalb liest das Zurücksetzen sie,
bevor es etwas anfasst.
SQLCipher: eine SQLite-Datenbank, deren Seiten verschlüsselt sind. Der Schlüssel wird
aus dem Konto-Schlüssel abgeleitet (HKDF, lotse/local-db) und existiert nur im
Speicher der laufenden Anwendung. Ein sqlite3 lotse.db liefert file is not a
database – das ist richtig so.
| Tabelle | Inhalt | Wird abgeglichen |
|---|---|---|
projekte |
Vorhaben | ja |
notizen |
Logbuch-Einträge | ja |
referenzen |
Zeiger nach draußen | ja |
tresor |
verschlüsselte Zugangsdaten | ja (als Ciphertext) |
geraete |
Geräte am Konto | ja |
aenderungen |
Änderungsprotokoll, Quelle der Sync-Umschläge | nein (ist der Absender) |
kandidaten |
Hafeneinfahrt | nein – Pfade gelten nur auf diesem Gerät |
suche |
FTS5-Volltextindex | nein (wird lokal aufgebaut) |
meta |
Einstellungen dieses Geräts | nein |
Dazu drei Indizes: notizen_projekt (Projekt und Zeit), notizen_offen (nur offene
Fäden – ein Teilindex, damit Offene Punkte auch bei zehntausend
Notizen sofort antwortet) und referenzen_projekt.
Der Volltextindex enthält keine Tresor-Inhalte, weder Werte noch Titel. Die Suche kann also gar nichts Vertrauliches finden, weil nichts Vertrauliches darin steht.
Dort stehen Dinge, die auf einem anderen Gerät falsch wären: welche Ordner beobachtet werden, welcher Port der MCP-Zugang hat, welches KI-Ziel eingestellt ist. Ein Handy hat diese Ordner nicht und keinen Port zu vergeben.
Alles, was die App unter Einstellungen speichert. Die Werte sind Text.
| Schlüssel | Inhalt |
|---|---|
watch_wurzeln |
Die gemerkten Wurzelordner, die beobachtet und durchsucht werden. |
watch_git_stand |
Je Repo der letzte gesehene Commit, damit der Beobachter nur Neues schreibt. |
| Schlüssel | Inhalt |
|---|---|
forge_token_eintrag |
ID des Tresor-Eintrags mit dem GitHub-Token. |
forge_token_feld |
Welches Feld darin das Token ist. |
forge_token_gitlab_eintrag |
Dasselbe für GitLab – getrennt, damit ein GitHub-Token nie an GitLab geht. |
forge_token_gitlab_feld |
|
forge_auto |
Ob beim Öffnen eines Vorhabens von allein abgefragt wird. |
forge_zuletzt |
Wann zuletzt abgefragt wurde. Verhindert, dass jedes Öffnen eine Anfrage auslöst. |
Der Token selbst steht nicht hier, sondern im Tresor. In meta liegt nur ein
Zeiger. Siehe Gegenseite.
| Schlüssel | Inhalt |
|---|---|
ki_basis_url |
Adresse des Ziels, z. B. http://localhost:11434/v1. |
ki_modell |
Modellname. |
ki_nicht_fragen |
ja, wenn die Einrichtung ausdrücklich abgelehnt wurde. Dann fragt Lotse beim Start nicht mehr; die Einrichtung steht weiter unter Einstellungen → KI. |
kalender_vorrat |
Die Kalenderadressen, die dieser Mensch besitzt, eine pro Zeile. Ein Vorrat, keine Zuordnung: gelesen wird ein Kalender nur dort, wo er als Referenz an einem Vorhaben hängt (Kalender). Die Adressen sind Geheimnisse – wer sie hat, liest den Kalender. |
ki_schluessel_eintrag |
ID des Tresor-Eintrags mit dem API-Schlüssel. |
ki_schluessel_feld |
Welches Feld darin. |
ki_protokoll |
Protokoll der Anfragen: wann, wozu, wie viele Zeichen. |
ki_anfragen |
Zähler der Anfragen. |
ki_eingabe_token |
Summe der gesendeten Token. |
ki_ausgabe_token |
Summe der empfangenen Token. |
Die drei Zähler sind da, damit »was kostet das eigentlich« beantwortbar ist, bevor die Rechnung kommt. Siehe KI.
| Schlüssel | Inhalt |
|---|---|
mcp_token |
Das Bearer-Token für den HTTP-Zugang. Wird bei »Token erneuern« ersetzt. |
mcp_port |
Der gebundene Port, damit der Assistent ihn nach einem Neustart wiederfindet. |
| Schlüssel | Inhalt |
|---|---|
auto_lock_minuten |
Nach wie vielen Minuten ohne Eingabe die App sperrt. 0 = nie. |
update_aus |
Ob die Suche nach Updates abgeschaltet ist. |
update_zuletzt |
Wann zuletzt nachgesehen wurde. |
systemeintrag_gefragt |
Dass nach dem Platz im System schon einmal gefragt wurde (nur Linux-AppImage). Ein »nein« bleibt ein Nein – sonst wäre »später« nur ein anderes Wort für »bei jedem Start noch einmal«. Siehe Installation. |
| Was | Wo |
|---|---|
| Desktop-Schlüssel | Schlüsselbund des Betriebssystems (GNOME Keyring / Secret Service, macOS Keychain, Windows Credential Manager). Ausweichweg: LOTSE_DESKTOP_KEY. |
| Master-Passwort | Nirgends. Es wird bei jedem Entsperren neu eingegeben. |
| Wiederherstellungscode | Nirgends. Einmal angezeigt, danach nur bei dir. |
| Markerdateien |
.lotse-projekt in den Projektordnern selbst (Erkennungsregeln). |
| Fensterposition, Zoom | Wo Tauri sie ablegt; für die Daten unerheblich. |
Es gibt keine Protokolldatei. Was Lotse zu sagen hat, steht im Logbuch oder auf der Konsole.
# Anwendung schließen, dann:
tar czf lotse-sicherung-$(date +%F).tar.gz -C ~/.local/share lotse
Beide Dateien gehören zusammen. Die Sicherung ist verschlüsselt und ohne dein Passwort wertlos – sie darf also in eine Cloud, auf eine externe Platte, in ein Git-Repo.
Was sie nicht ersetzt: den Wiederherstellungscode und den Desktop-Schlüssel. Ohne
Passwort ist die Sicherung nicht aufzuschließen, und nur_desktop-Einträge brauchen
zusätzlich den Desktop-Schlüssel aus dem Schlüsselbund – der in der Sicherung nicht
enthalten ist.
Für einen Bestand, der auch ohne Lotse lesbar bleibt, ist der Export der richtige Weg: Export und Fluchtweg.
Datenordner kopieren, fertig. Auf dem neuen Rechner wird beim ersten Entsperren nach dem
Passwort gefragt. Der Desktop-Schlüssel zieht nicht mit – er liegt im Schlüsselbund
des alten Rechners. Auf dem neuen musst du ihn aus deinem Passwortmanager eintragen,
sonst sind nur_desktop-Einträge dort nicht lesbar.
Mit eingerichtetem Abgleich ist lotse sync login der bessere Weg: das neue Gerät holt
alles selbst und bekommt eine eigene Geräte-ID, die du einzeln widerrufen kannst
(Abgleich).
Lotse auf GitHub · Landing Page · Veröffentlichungen
Erzeugt aus docs/wiki/ – Änderungen bitte dort.
Anfangen
Die Bausteine
Benutzen
- Kommandozeile
- Einstellungen
- Abgleich
- Beobachter
- Gegenseite
- Kalender
- KI
- Datei deuten
- Assistenten (MCP)
- Updates
- Export
Nachschlagen
- Kommandozeile-Referenz
- Datenmodell
- Erkennungsregeln
- Datenablage
- Umgebungsvariablen
- Fehlermeldungen
- Sync-Protokoll
- App-Schnittstelle
Verstehen
Mitarbeiten