All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s
437 lines
19 KiB
Markdown
437 lines
19 KiB
Markdown
---
|
||
title: "mindnet – Knowledge Design"
|
||
id: "design-knowledge-architecture"
|
||
type: "guide"
|
||
status: "active"
|
||
version: "1.2.0"
|
||
created: 2025-09-02
|
||
updated: 2025-09-02
|
||
tags: ["type/guide","area/mindnet","topic/obsidian","topic/knowledge-architecture"]
|
||
owner: "Ich"
|
||
---
|
||
|
||
# mindnet – Knowledge Design
|
||
|
||
## 1. Gesamtziel, Anspruch & Nutzen
|
||
|
||
**Ziel:**
|
||
*mindnet* ist ein persönliches Wissensnetzwerk, das **alle** relevanten Inhalte – Gedanken, Erfahrungen, Aufgaben, Projekte, Quellen, Personen, Meetings, Tagebuch/Journal, Wendepunkte und Leitbilder – **einheitlich** in Markdown + YAML ablegt. Es bildet einen **Spiegel der Persönlichkeit** (Werte, Überzeugungen, Erlebnisse) und ist zugleich so strukturiert, dass Tools (Dataview, Embeddings, Vektorsuche/Qdrant, Agenten) es **maschinenlesbar** nutzen können.
|
||
|
||
**Anspruch an die Struktur:**
|
||
- **Stabil**: robuste IDs, deterministische Dateinamen, konsistente Feldnamen
|
||
- **Atomar**: ein Kerninhalt pro Datei (keine Sammelcontainer)
|
||
- **Erweiterbar**: neue Typen (z. B. `milestone`, `manifesto`) jederzeit möglich
|
||
- **Portabel**: reines Markdown + YAML → funktioniert in Obsidian, Git und Parsern
|
||
- **Vernetzbar**: systematische Links/Backlinks erzeugen ein sinnvoll navigierbares Netz
|
||
- **Parser-freundlich**: wiederkehrende Abschnittsüberschriften; Felder/Enums klar definiert
|
||
|
||
**Späterer Nutzen / Einsatzzwecke:**
|
||
- **Schnelles Wiederfinden**: Dataview-Abfragen, Filter, Dashboards
|
||
- **Selbstreflexion & Entwicklung**: persönliche Werte, Wendepunkte, Kinderentwicklung, Lernpfade
|
||
- **Automatisierung**: Vektor-Index (Qdrant), Embeddings, LLM-Q&A, Agenten-Workflows
|
||
- **Langfristiges Gedächtnis**: eigene Lebens-/Projektchronik reproduzierbar pflegen
|
||
- **Aufgaben-/Projektsteuerung**: im selben System, vernetzt mit Kontextwissen
|
||
|
||
---
|
||
|
||
## 2. YAML-Frontmatter-Schema
|
||
|
||
> **Pflichtfelder:** `title`, `id`, `type`, `status`, `created`, `tags`
|
||
> **Empfohlen:** `updated`, `area`, `project`, `priority`, `aliases` (u. a.)
|
||
|
||
### 2.1 Feldübersicht
|
||
|
||
| Feld | Typ | Bedeutung | Beispiel(e) |
|
||
|---------------------|-------------------------------|---------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||
| `title` | string | Menschlich lesbarer Titel | `"Vektorsuche in Qdrant"` |
|
||
| `id` | string (slug/identifier) | **Stabile** technische ID (nie umbenennen) | `"20250902-1710-thought-obsidian-struktur"`, `"concept-persoenliches-leitbild"` |
|
||
| `type` | enum | Notiz-Typ | `thought`, `experience`, `task`, `project`, `source`, `concept`, `person`, `meeting`, `journal`, `milestone` |
|
||
| `status` | enum | Lebenszyklus | `idea`, `draft`, `active`, `paused`, `blocked`, `done`, `archived` |
|
||
| `created` | date/datetime | Erstellzeitpunkt | `2025-09-02` oder `2025-09-02T17:10:00+02:00` |
|
||
| `updated` | date/datetime | Letzte inhaltliche Änderung | `2025-09-02T18:05:00+02:00` |
|
||
| `tags` | string[] | Schlagwörter gemäß Taxonomie | `["area/mindnet","topic/obsidian","type/thought"]` |
|
||
| `area` | enum/string | Lebens-/Arbeitsbereich | `mindnet`, `family`, `karate`, `travel`, `health`, `home-automation`, … |
|
||
| `role` | string | Rolle/Hut (Filter) | `"father"`, `"researcher"`, `"project-owner"` |
|
||
| `project` | string | Zugehöriges Projekt (ID oder sprechend) | `"project-mindnet"` |
|
||
| `priority` | int (1–5) | 1 = hoch, 5 = niedrig | `2` |
|
||
| `effort_min` | int | Aufwand in Minuten (für `task`) | `90` |
|
||
| `due` | date | Fälligkeit (Task/Projekt) | `2025-09-10` |
|
||
| `start` | date | geplanter Start (Task/Projekt) | `2025-09-05` |
|
||
| `people` | string[] (Wikilinks erlaubt) | Beteiligte Personen | `["Ich","[[person-kathie]]"]` |
|
||
| `location` | string | Ort/Platz | `"Home Office"`, `"München"` |
|
||
| `source_url` | url | Kanonische URL (für `source`) | `"https://qdrant.tech/docs/"` |
|
||
| `authors` | string[] | Autoren (für `source`) | `["Jane Doe"]` |
|
||
| `published` | date | Veröffentlichungsdatum (für `source`) | `2024-11-20` |
|
||
| `accessed` | date | Zugriffsdatum (für `source`) | `2025-09-02` |
|
||
| `aliases` | string[] | Alternative Namen/Titel | `["Manifest","Leitbild"]` |
|
||
| `related_ids` | string[] | ID-basierte Verknüpfungen | `["concept-persoenliches-leitbild"]` |
|
||
| `embedding_exclude` | boolean | Von Embeddings/Index ausschließen | `false` |
|
||
|
||
### 2.2 Konventionen
|
||
- **IDs:** entweder Zeitstempel-basiert (`YYYYMMDD-HHMM-type-slug`) **oder** stabile, sprechende (`concept-*`, `project-*`, `person-*`).
|
||
- **Datums-/Zeitformat:** ISO 8601, Zeiten möglichst mit TZ (z. B. `+02:00`).
|
||
- **Felder:** klein geschrieben; zusammengesetzte Felder in `snake_case`.
|
||
|
||
### 2.3 Minimalbeispiel Frontmatter
|
||
---
|
||
title: "Kurzer, klarer Gedanke"
|
||
id: "20250902-1715-thought-klarer-gedanke"
|
||
type: "thought"
|
||
status: "idea"
|
||
created: 2025-09-02T17:15:00+02:00
|
||
updated: 2025-09-02T17:15:00+02:00
|
||
tags: ["area/mindnet","type/thought","topic/obsidian"]
|
||
---
|
||
|
||
## 2.4 Enum-Werte
|
||
|
||
Zur Sicherstellung der Konsistenz werden für bestimmte Felder feste Wertemengen (Enums) verwendet:
|
||
|
||
- **type**
|
||
- `idea` – spontane Gedanken, Inspirationen
|
||
- `experience` – persönliche Erfahrungen, Reflexionen
|
||
- `task` – konkrete Aufgaben
|
||
- `project` – Projekte, bestehend aus mehreren Tasks
|
||
- `concept` – abstrakte Konzepte, Modelle, Methoden
|
||
- `milestone` – wichtige Ereignisse oder Wendepunkte
|
||
- `person` – Personen (z. B. Kontakte, Vorbilder)
|
||
- `meeting` – Besprechungen, Treffen, Gespräche
|
||
- `resource` – externe Quellen (Artikel, Bücher, Links)
|
||
- `journal` – Tagebuchnotizen
|
||
|
||
- **status**
|
||
- `open`
|
||
- `in-progress`
|
||
- `done`
|
||
- `blocked`
|
||
- `canceled`
|
||
|
||
- **priority**
|
||
- `low`
|
||
- `medium`
|
||
- `high`
|
||
|
||
- **area** (Beispiele – erweiterbar)
|
||
- `personal`
|
||
- `work`
|
||
- `family`
|
||
- `karate`
|
||
- `health`
|
||
- `finance`
|
||
|
||
---
|
||
|
||
## 3. Dateinamen-Konventionen
|
||
|
||
> Keine Sonderzeichen wie `: / \` im Dateinamen.
|
||
|
||
- **Zeitbasierte Notizen (Gedanken, Journal, tagesgebundene Einträge):**
|
||
`YYYYMMDD-HHMM-<type>-<slug>.md`
|
||
Beispiel: `20250902-1710-thought-obsidian-struktur.md`
|
||
|
||
- **Zeitunabhängige Wissensknoten (Konzepte, Personen, Projekte, Leitbild):**
|
||
`<type>-<slug>.md`
|
||
Beispiele: `concept-vektorsuche-qdrant.md`, `project-mindnet.md`, `person-kathie.md`, `concept-persoenliches-leitbild.md`
|
||
|
||
- **Ordnerstruktur (Empfehlung):**
|
||
00_inbox/
|
||
10_thoughts/
|
||
20_experiences/
|
||
30_projects/
|
||
31_tasks/
|
||
40_concepts/
|
||
50_sources/
|
||
60_people/
|
||
70_meetings/
|
||
80_journal/
|
||
90_templates/
|
||
_attachments/
|
||
_meta/
|
||
|
||
---
|
||
|
||
## 4. Tagging-Regeln & Taxonomie
|
||
|
||
- **Hierarchische Tags:**
|
||
- `area/*` – Lebens-/Arbeitsbereiche: `area/mindnet`, `area/family`, `area/karate`, `area/health`, …
|
||
- `type/*` – optionaler Spiegel von `type`: `type/thought`, `type/experience`, …
|
||
- `topic/*` – thematische Schwerpunkte: `topic/obsidian`, `topic/yaml`, `topic/qdrant`, `topic/werte`, …
|
||
- optional: `place/*`, `person/*`, `level/*` (z. B. `person/rouven`, `person/rohan`)
|
||
- **Regeln:**
|
||
- Jede Notiz hat **mindestens ein** `area/*`.
|
||
- `topic/*` sparsam, aber konsistent; ein Mapping in `_meta/tags.md` pflegen.
|
||
- Möglichst **keine** losen Ein-Wort-Tags ohne Präfix (verhindert Wildwuchs).
|
||
|
||
---
|
||
|
||
## 5. Backlink- & Link-Regeln
|
||
|
||
- **Wikilinks** verwenden: `[[stabile-id-oder-dateiname]]`
|
||
- Im **Fließtext** bei erster Nennung verlinken; am **Ende** die Sektion **„Mögliche Verbindungen“** pflegen:
|
||
|
||
## Mögliche Verbindungen
|
||
- [[concept-persoenliches-leitbild]]
|
||
- [[project-mindnet]]
|
||
|
||
- **Linkrichtung:** „aufwärts“ (Detail → Konzept/Leitbild) und „seitwärts“ (verwandte Knoten).
|
||
- Optional zusätzlich **ID-Relationen** im YAML (`related_ids`) für Parser.
|
||
|
||
## 5.1 Edge-Typen
|
||
|
||
Beziehungen zwischen Notizen, Chunks und Objekten werden als **Edges** gespeichert. Jeder Edge erhält einen `type` und optionale `meta`-Informationen (z. B. Gewichtung, Richtung).
|
||
|
||
- **belongs_to**
|
||
Chunk → Note (ein Chunk gehört zu genau einer Note)
|
||
|
||
- **references**
|
||
Note → Note (eine Notiz verweist auf eine andere)
|
||
|
||
- **backlink**
|
||
Automatisch generiert: Gegenkante von `references`
|
||
|
||
- **depends_on**
|
||
Task → Task oder Task → Project (Aufgabe hängt von anderer ab)
|
||
|
||
- **assigned_to**
|
||
Task → Person (eine Aufgabe ist einer Person zugeordnet)
|
||
|
||
- **discussed_in**
|
||
Note/Concept → Meeting (ein Thema wurde in einem Meeting behandelt)
|
||
|
||
- **authored_by**
|
||
Note → Person (z. B. externer Autor oder eigene Urheberschaft)
|
||
|
||
- **related**
|
||
Generische Relation für schwache Assoziationen
|
||
|
||
---
|
||
|
||
## 6. Abschnitts-Konventionen im Body
|
||
|
||
Einheitliche Überschriften erleichtern spätere Parser und Abfragen.
|
||
|
||
- **Gedanke (`thought`)**
|
||
`## Zusammenfassung` · `## Begründung / Details` · `## Belege / Quellen` · `## Nächste Schritte` · `## Mögliche Verbindungen`
|
||
- **Erfahrung (`experience`)**
|
||
`## Kontext` · `## Beobachtung` · `## Interpretation` · `## Implikationen` · `## Mögliche Verbindungen`
|
||
- **Aufgabe (`task`)**
|
||
`## Checkliste` · `## Notizen` · `## Mögliche Verbindungen`
|
||
- **Projekt (`project`)**
|
||
`## Scope` · `## Arbeitspakete` · `## Risiken & Gegenmaßnahmen` · `## Status / Fortschritt` · `## Mögliche Verbindungen`
|
||
- **Journal (`journal`)**
|
||
`## Tageszusammenfassung` · `## Highlights` · `## Gelernt / Notizen` · `## Mögliche Verbindungen`
|
||
|
||
---
|
||
|
||
## 7. Abbildung persönlicher Inhalte auf Typen
|
||
|
||
- **Persönliches Leitbild** → `type: "concept"` (oder optional neuer Typ `manifesto`)
|
||
Datei: `concept-persoenliches-leitbild.md` (zeitunabhängig)
|
||
Verlinkt zu prägenden Erfahrungen und Wendepunkten.
|
||
- **Erfahrungen, die dich geprägt haben** → `type: "experience"`
|
||
Je **eine** prägende Erfahrung pro Datei; klarer Kontext + Interpretation.
|
||
- **Wendepunkte im Leben** → `type: "milestone"`
|
||
Je Wendepunkt ein Knoten; verlinkt zu den auslösenden Erfahrungen.
|
||
- **Aktuelle Erfahrungen** → `type: "experience"`, `status: "active"`
|
||
Bei Bedarf später in „prägende“ Erfahrungen überführen.
|
||
- **Entwicklungsschritte der Kinder** → `type: "journal"` (chronologisch) **oder** `experience` (wenn es prägend ist); Tags `person/<name>`.
|
||
- **Tagebucheinträge** → `type: "journal"`; ein Eintrag pro Tag; tagesbasierte Dateinamen.
|
||
|
||
Damit entsteht ein **netzartiges Persönlichkeitsprofil** mit klaren Pfaden zwischen Werten (Leitbild), Ereignissen (Erfahrungen), Wendepunkten und fortlaufenden Beobachtungen (Journal).
|
||
|
||
---
|
||
|
||
## 8. Beispiel-Notizen
|
||
|
||
### 8.1 Gedanke (`thought`)
|
||
---
|
||
title: "Gedanke: Einheitliche YAML-Standards steigern Recall"
|
||
id: "20250902-1830-thought-yaml-recall"
|
||
type: "thought"
|
||
status: "idea"
|
||
created: 2025-09-02T18:30:00+02:00
|
||
updated: 2025-09-02T18:30:00+02:00
|
||
tags: ["area/mindnet","type/thought","topic/yaml","topic/recall"]
|
||
area: "mindnet"
|
||
project: "project-mindnet"
|
||
aliases: []
|
||
---
|
||
|
||
## Zusammenfassung
|
||
Konsistente YAML-Felder verbessern Filter, Dataview-Queries und Vektor-Retrieval.
|
||
|
||
## Begründung / Details
|
||
- Parser benötigen stabile Feldnamen (z. B. `type`, `status`).
|
||
- Einheitliche Werte erleichtern Dashboards und Automationen.
|
||
|
||
## Belege / Quellen
|
||
- [[source-obsidian-properties]]
|
||
- [[concept-vektorsuche-qdrant]]
|
||
|
||
## Nächste Schritte
|
||
- [ ] `tags`-Mapping in `_meta/tags.md` erstellen
|
||
- [ ] Beispiel-Queries für Dataview hinterlegen
|
||
|
||
## Mögliche Verbindungen
|
||
- [[project-mindnet]]
|
||
- [[20250902-1730-task-yaml-standard-migration]]
|
||
|
||
### 8.2 Erfahrung (`experience`)
|
||
---
|
||
title: "Erfahrung: Journal → Erfahrung extrahieren erhöht Klarheit"
|
||
id: "20250902-1840-experience-journal-extraktion"
|
||
type: "experience"
|
||
status: "active"
|
||
created: 2025-09-02T18:40:00+02:00
|
||
updated: 2025-09-02T18:40:00+02:00
|
||
tags: ["area/personal","type/experience","topic/journal","topic/reflexion"]
|
||
area: "personal"
|
||
project: "project-mindnet"
|
||
---
|
||
|
||
## Kontext
|
||
Wiederkehrende Journaleinträge enthalten Rohmaterial für prägende Einsichten.
|
||
|
||
## Beobachtung
|
||
Wird Material regelmäßig zu `experience`-Knoten verdichtet, sind spätere Bezüge einfacher.
|
||
|
||
## Interpretation
|
||
Abstraktion + Verlinkung (z. B. auf [[concept-persoenliches-leitbild]]) erhöhen Nutzen und Wiederfindbarkeit.
|
||
|
||
## Implikationen
|
||
Pro Woche 15–30 Minuten „Verdichtungs-Review“ einplanen.
|
||
|
||
## Mögliche Verbindungen
|
||
- [[journal-20250902]]
|
||
- [[concept-persoenliches-leitbild]]
|
||
|
||
### 8.3 Aufgabe (`task`)
|
||
---
|
||
title: "Task: YAML-Standard in Altbeständen ergänzen"
|
||
id: "20250902-1850-task-yaml-migration"
|
||
type: "task"
|
||
status: "active"
|
||
created: 2025-09-02
|
||
updated: 2025-09-02
|
||
due: 2025-09-10
|
||
start: 2025-09-03
|
||
priority: 2
|
||
effort_min: 120
|
||
area: "mindnet"
|
||
project: "project-mindnet"
|
||
tags: ["area/mindnet","type/task","topic/migration"]
|
||
depends_on: []
|
||
---
|
||
|
||
## Checkliste
|
||
- [ ] Triage: Notiz-Typ bestimmen
|
||
- [ ] Minimal-YAML ergänzen (Pflichtfelder)
|
||
- [ ] Dateinamen vereinheitlichen
|
||
- [ ] „Mögliche Verbindungen“ pflegen
|
||
|
||
## Notizen
|
||
Beginne mit zuletzt genutzten Notizen (Pareto 20/80).
|
||
|
||
## Mögliche Verbindungen
|
||
- [[project-mindnet]]
|
||
- [[20250902-1830-thought-yaml-recall]]
|
||
|
||
---
|
||
|
||
## 9. Schrittweise Migration bestehender freier Notizen
|
||
|
||
**Phase A – Triage (schnell)**
|
||
1. Sichtung & **Typ** bestimmen (`type`).
|
||
2. **Minimal-YAML** einfügen (`title`, `id`, `type`, `status=draft`, `created≈Dateidatum`, `tags`).
|
||
3. **Dateiname** grob anpassen (Schema + Slug).
|
||
|
||
**Phase B – Strukturieren (fokussiert)**
|
||
1. **Abschnitte** nach Typ-Template ergänzen.
|
||
2. **Zerlegen**: mehrere Gedanken/Ereignisse → je **eigene Datei**, ursprüngliche Datei wird zum **Index** mit Links.
|
||
3. **Verlinken**: relevante `[[Knoten]]` + **„Mögliche Verbindungen“** pflegen.
|
||
|
||
**Phase C – Verfeinern (bei Bedarf)**
|
||
1. **Status & Felder** pflegen (`status`, `priority`, `due`, `effort_min`).
|
||
2. **Tag-Harmonisierung**: Mapping-Tabelle pflegen (`_meta/tags.md`).
|
||
3. **Aliases** ergänzen (Such-/Linkvarianten).
|
||
|
||
**Priorisierung:** Starte mit **aktuellen & häufig genutzten** Notizen (Pareto-Prinzip), Altbestände nachziehen, wenn sie wieder gebraucht werden.
|
||
|
||
---
|
||
|
||
## 10. Dataview-Beispiele (direkt nutzbar)
|
||
|
||
**Offene Aufgaben dieser Woche (nach Priorität):**
|
||
|
||
TABLE due, priority, effort_min
|
||
FROM "31_tasks"
|
||
WHERE type = "task" AND status != "done"
|
||
AND due >= date(today) - dur(1 week)
|
||
AND due <= date(today) + dur(1 week)
|
||
SORT priority ASC, due ASC
|
||
|
||
**Aktive Projekte mit Meilensteinen:**
|
||
|
||
LIST
|
||
FROM "30_projects"
|
||
WHERE type = "project" AND status = "active"
|
||
SORT priority ASC, file.ctime DESC
|
||
|
||
**Gedanken im Bereich mindnet, jüngste zuerst:**
|
||
|
||
TABLE created, status
|
||
FROM "10_thoughts"
|
||
WHERE type = "thought" AND area = "mindnet"
|
||
SORT created DESC
|
||
LIMIT 50
|
||
|
||
**Quellen ohne `source_url` (Pflegebedarf):**
|
||
|
||
TABLE title, created
|
||
FROM "50_sources"
|
||
WHERE type = "source" AND (source_url = "" OR !source_url)
|
||
|
||
---
|
||
|
||
## 11. Validierung & Pflege
|
||
|
||
- **Wöchentlicher Review-Slot (15–30 Min.):**
|
||
- Neue Notizen triagieren (`type`, `status`, `area`)
|
||
- 5 Alt-Notizen migrieren (YAML + Dateiname + Verlinkung)
|
||
- **Dataview-Checks:** fehlende `source_url`, offene Tasks, aktive Projekte, veraltete `status`.
|
||
- **Optional (technisch):**
|
||
- **Pre-commit Hook**: prüft Pflichtfelder (`title`, `id`, `type`, `status`, `created`, `tags`)
|
||
- **ID-Generator**: `YYYYMMDD-HHMM-type-slug` bei Neuanlage
|
||
- **Link-Linter**: prüft tote `[[Links]]`
|
||
|
||
---
|
||
|
||
## 12. Versions- & Änderungsrichtlinien
|
||
|
||
- Dieses Dokument pflegt `version` & `updated`.
|
||
- **Breaking Changes** (z. B. Feldumbenennungen) in `_meta/changelog.md` dokumentieren.
|
||
- **Migrationen** (Tag-Refactorings, Typänderungen) als Skript oder Batch-Checkliste planen.
|
||
|
||
---
|
||
|
||
## 13. Typen-Kurzreferenz
|
||
|
||
- `thought` – Gedanke/These
|
||
- `experience` – Beobachtung/Erfahrung mit Interpretation & Implikationen
|
||
- `task` – umsetzbare Arbeitseinheit (mit `due`, `effort_min`, `priority`)
|
||
- `project` – Container für Ziele/Tasks/Meilensteine
|
||
- `source` – externe Quelle (Artikel, Buch, Video)
|
||
- `concept` – definierter Begriff / Prinzip / Leitbild
|
||
- `person` – Bezugsperson/Kontakt
|
||
- `meeting` – Termin mit Agenda, Notizen, erzeugten Aufgaben
|
||
- `journal` – Tagebuch-/Reiseeintrag (tagesbasiert)
|
||
- `milestone` – Wendepunkt / Meilenstein im Lebens-/Projektverlauf
|
||
|
||
---
|
||
|
||
## 14 Erweiterungen
|
||
|
||
Zukünftige Typen möglich (z. B. decision, recommendation).
|
||
|
||
Personalisierung durch zusätzliche Properties (values, goals)
|