0b470b3e12
Verified from screenshots: - Q6/Q7 → Lists & calendars discovered by NAME, not by ID. Names confirmed: "Persönlich" (personal), "DLR" (work), "Einkaufsliste" (shopping), "Wunschliste" (wishes). Self-healing: #nexa:config runs daily and on cache-miss, so user-added lists become routable without code changes. Routing logic in docs/07 expanded from 2-way to 4-way switch with a Resolver step that consults the Qdrant _config cache before fanning out; default route is "Persönlich" when SAIA confidence < 0.7. - Q8 → Single Nextcloud Mail account fkrebs@nucli.de. No separate IMAP. The "Waiting" folder is honored as a manual user signal — items there are excluded from digest. - Q9 → Pocket-ID SSO is global at the Zoraxy layer; Nexa surfaces inherit it. No app-level basic-auth. Q10 folded in. - Q11 → Capacity confirmed: 22 threads (Core Ultra 7 155H), 62 GiB RAM (~32 GiB used, ~24 GiB of which is ZFS ARC), 1.64 TiB disk (0.35%). Phase-3 budget (~7 GB) is comfortable; two levers documented (raise LXC cap, or cap zfs_arc_max). Earlier "16 CPU" references corrected. Propagation: - system_prime.txt rewritten with the four context labels and the new list names; legacy NC_LIST_ID_* placeholders removed. - docs/04 integration matrix uses the German names directly. - docs/05 documents that #nexa:config also runs scheduled and on cache-miss, with the example output reflecting real list IDs. - docs/09 step 6 mirrors the same flow + lists the Waiting-folder semantics. - CLAUDE.md gets an authoritative block of homelab decisions so future agents don't re-litigate any of these. New section in docs/12 (#17–25): Proxmox host tuning suggestions based on the live node summary — cap ZFS ARC (frees ~16 GiB), enable KSM (~1-3 GiB savings across 40 containers), suppress the no-subscription banner, drop swappiness, verify scrub/SMART/fstrim timers, NTP via AdGuard.
4.0 KiB
4.0 KiB
04 — Integrations-Matrix
Diese Matrix definiert die logische Trennung zwischen privaten und beruflichen Datenströmen sowie die Anbindung der Infrastruktur.
1. Die Dualität: Arbeit vs. Privat
Nexa muss strikt zwischen zwei Kontexten unterscheiden, da die Datenquellen variieren:
A. Bereich: ARBEIT (Work)
- Sichtbarkeit: Eingeschränkt (kein Zugriff auf Arbeits-E-Mails oder Firmen-Server).
- Datenquellen:
- Nextcloud Task-Liste
DLR(sowie der gleichnamige Kalender). - Memos mit Tag
#workoder semantischer Erkennung.
- Nextcloud Task-Liste
- Nexa-Fokus: Timeblocking, Fokus-Zeiten, Vorbereitung von Meetings basierend auf Obsidian-Notizen.
B. Bereich: PRIVAT (Personal)
- Sichtbarkeit: Vollständig.
- Datenquellen:
- Nextcloud Task-Liste
Persönlichund gleichnamiger Kalender. - Nextcloud Mail (
fkrebs@nucli.de, einziges Konto). OrdnerWaitingist ein manuelles Signal — Mails dort werden vom Digest ausgeschlossen. - Bluesky, RSS, Karakeep.
- Nextcloud Task-Liste
- Nexa-Fokus: Automatisierung des Alltags, Kuratierung von Wissen, E-Mail-Management.
Karakeep & Shopping-Logik
- Schnittstelle: Karakeep API / RSS.
- Listen-Routing:
- Einkaufsliste: Automatischer Sync für Items mit hoher Frequenz (Lebensmittel, Drogerie).
- Wunschliste: Speicherort für "Entdeckungen". Nexa fügt bei Wunschlisten-Items automatisch den aktuellen Preis und eine kurze SAIA-Zusammenfassung hinzu ("Warum du das speichern wolltest").
- Review-Cycle: Einmal im Monat fragt Nexa bei Wunschlisten-Items nach: "Immer noch interessiert oder kann das weg?"
2. Kern-Infrastruktur (The Brain & Spine)
| Komponente | Rolle im System |
|---|---|
| Memos | Zentraler Input (Drafts, Ideen, schnelle Tasks). Schnittstelle für Nexa-Antworten. |
| n8n | Logik-Engine. Führt die Klassifizierung Arbeit vs. Privat durch. |
| SAIA (LiteLLM) | Entscheidet anhand des Inhalts, in welchen Kalender/Liste ein Eintrag gehört. |
| Qdrant | Langzeitgedächtnis. Speichert Projektwissen (Work) und privates Wissen getrennt. |
| Arcane | Verwaltung der Docker-Container (n8n, Qdrant, Memos). |
3. Spezifische Datenflüsse & Logik
Task-Routing (Das Gehirn-Filter)
- Input: Neues Memo oder Spracheingabe.
- Analyse: SAIA prüft: "Ist das Business oder Privat?"
- Routing: *
Arbeits-Kontext-> Eintrag inWork_Tasks.Privat-Kontext-> Eintrag inPersonal_Tasks.
- Timeboxing: Nexa scannt den
Work_Calendarauf Lücken und schlägt Slots fürWork_Tasksvor.
E-Mail Management (Nur Privat)
- Nexa filtert die 20 täglichen Privat-Mails.
- Wichtige private Termine werden in den privaten Kalender extrahiert.
- Newsletter landen als Zusammenfassung in Memos.
Wissens-Management (Obsidian via Nextcloud & Qdrant)
- Der Obsidian-Vault liegt im Nextcloud-Ordner
Notizen/(Multi-Device-Sync via Nextcloud-Client). Nexa liest read-only über WebDAV (/remote.php/dav/files/<user>/Notizen/) — kein Mount, kein zweiter Sync-Mechanismus. - Markdown-Dateien (
Notizen/**/*.md) werden in Qdrant (nexa_knowledge_text) indiziert; Bilder unterassets/landen im Phase-3.2-Visual-Queue (siehe docs/11/Q4). - Plugin-Internals (
.copilot/,.smart-env/,.caldav-sync/,Templates/,BMO/,Excalidraw/) sind explizit von der Indizierung ausgeschlossen. - Nexa nutzt dieses Wissen, um Arbeits-Tasks besser zu beschreiben, auch wenn sie keinen Zugriff auf die Arbeits-E-Mails hat.
4. Monitoring & Hardware (Home Assistant)
| Dienst | Reiz-Typ | Nexa-Reaktion |
|---|---|---|
| Home Assistant | Voice / Sensorik | Nexa nimmt Sprachbefehle entgegen und meldet Alarme (Haus). |
| Proxmox | Stabilität | Meldung an Nexa bei Hardware-Problemen. |
| S3 Server | Archiv | Langzeit-Backups der Wissensdatenbank. |
5. Ergänzungen für das Setup (Vorschlag)
- Zwei-Faktor-Klassifizierung: Einführung von expliziten Tags (
#wfür Work,#pfür Privat) für Grenzfälle, in denen SAIA den Kontext nicht eindeutig bestimmen kann.