Files
nexa/docs/04-integration-matrix.md
Claude 0b470b3e12 Resolve Q6/Q7/Q8/Q9/Q11; pin actual list names; add host tuning suggestions
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.
2026-05-04 22:08:10 +00:00

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 #work oder semantischer Erkennung.
  • Nexa-Fokus: Timeblocking, Fokus-Zeiten, Vorbereitung von Meetings basierend auf Obsidian-Notizen.

B. Bereich: PRIVAT (Personal)

  • Sichtbarkeit: Vollständig.
  • Datenquellen:
    • Nextcloud Task-Liste Persönlich und gleichnamiger Kalender.
    • Nextcloud Mail (fkrebs@nucli.de, einziges Konto). Ordner Waiting ist ein manuelles Signal — Mails dort werden vom Digest ausgeschlossen.
    • Bluesky, RSS, Karakeep.
  • 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)

  1. Input: Neues Memo oder Spracheingabe.
  2. Analyse: SAIA prüft: "Ist das Business oder Privat?"
  3. Routing: * Arbeits-Kontext -> Eintrag in Work_Tasks.
    • Privat-Kontext -> Eintrag in Personal_Tasks.
  4. Timeboxing: Nexa scannt den Work_Calendar auf Lücken und schlägt Slots für Work_Tasks vor.

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 unter assets/ 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 (#w für Work, #p für Privat) für Grenzfälle, in denen SAIA den Kontext nicht eindeutig bestimmen kann.