initial commit

This commit is contained in:
Florian Krebs
2026-05-04 20:49:45 +00:00
parent 7d205a68e4
commit 18d2360ad9
14 changed files with 1811 additions and 3 deletions
+19
View File
@@ -0,0 +1,19 @@
# Nexa Klassifizierungs-Logik
Dieser Fragebogen dient der Feinabstimmung von SAIA, um Tasks korrekt zu routen.
### A. Schlüsselwörter & Projekte (Arbeit)
*Welche Begriffe triggern zwingend die Work-Liste?*
- [ ] Projekt-Namen (z.B. "Nexa-Core", "Infrastruktur-Audit")
- [ ] Rollenspezifische Begriffe ("Meeting", "Report", "Deadline")
- [ ] Tools, die nur im Job vorkommen.
### B. Ausschlusskriterien (Privat)
*Was darf niemals in die Work-Liste?*
- [ ] Lebensmittel, Rezepte, Haushalt.
- [ ] Bluesky-Input (sofern nicht explizit als Recherche markiert).
- [ ] Finanz-Mails (Privat-Bank).
### C. Umgang mit Unschärfe
- **Default:** Wenn < 70% Sicherheit -> `Personal`.
- **Interaktion:** Nexa erstellt einen Kommentar: "In welche Liste soll das? [W/P]".
+27
View File
@@ -0,0 +1,27 @@
# NEXA Infrastructure Manifest
services:
memos:
url: "${MEMOS_URL}"
auth_type: "Bearer Token"
features: ["webhooks", "comments_api"]
n8n:
environment: "LXC Docker"
backup_path: "./n8n-workflows"
ai_gateway:
provider: "LiteLLM / SAIA"
model_primary: "gpt-4-o" # oder dein lokales Modell
model_embeddings: "text-embedding-3-small"
storage:
qdrant: "http://localhost:6333"
s3_provider: "Custom S3"
nextcloud:
url: "${NC_URL}"
lists:
work: "ID_COMING_SOON"
personal: "ID_COMING_SOON"
calendars:
work: "CAL_ID_WORK"
personal: "CAL_ID_PERSONAL"
+16
View File
@@ -0,0 +1,16 @@
# Spezifikation: Phase 2 - Task-Router
## 1. Trigger
* **Typ:** Webhook (Memos)
* **Filter:** `payload.content` enthält `- [ ]` ODER `#todo`.
## 2. Intelligence Node (SAIA)
* **Prompt:** "Analysiere folgende Notiz. Gib als JSON zurück: { "context": "work" | "personal", "summary": "string", "urgency": 1-5 }."
* **Kontext-Zufuhr:** Lade die letzten 5 Obsidian-Projekttitel aus Qdrant als Referenz hoch.
## 3. Switch Node
* **Route 1:** Context == "work" -> Nextcloud Create Task (List ID: Work).
* **Route 2:** Context == "personal" -> Nextcloud Create Task (List ID: Personal).
## 4. Feedback Loop
* Poste die Task-ID und den gewählten Kontext als Kommentar unter das Original-Memo.