From 4135d1c2b9403b6015fc32eef9e661c7a161f681 Mon Sep 17 00:00:00 2001 From: Floki Date: Sat, 20 Jun 2026 22:44:04 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Initial=20commit:=20KPT-LABS=20O?= =?UTF-8?q?bsidian=20Vault?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wissensdatenbank Struktur - Projekt-Übersichten - Session-Management Templates - Dashboard Integration - README.md mit Recovery Guide - System Snapshot Generator Generiert: 2026-06-19 --- .gitignore | 6 + .obsidian/app.json | 17 + .obsidian/manifest.json | 4 + 00-Meta/Scripts/telegram-auto-save.ts | 160 ++++++ 00-Meta/Templates/Session-Summary-Template.md | 50 ++ 00-Meta/Templates/Template-Übersicht.md | 30 + .../Agent-OS/Agent-OS-Wissensdatenbank.md | 38 ++ .../Wissensdatenbank-Übersicht.md | 65 +++ 02-Projekte/KPT-LABS/KPT-LABS.md | 68 +++ 02-Projekte/Projekt-Übersicht.md | 39 ++ 03-Ideenpool/Ideenpool-Übersicht.md | 43 ++ .../Daily/2026-06-19_14-00_telegram.md | 38 ++ 04-Sessions/Session-Übersicht.md | 36 ++ 04-Sessions/Telegram-Sessions.md | 17 + 04-Sessions/telegram-session-tracker.json | 11 + 05-Dashboard/Dashboard-Übersicht.md | 30 + 06-Notizen/Notizen-Übersicht.md | 32 ++ Home.md | 46 ++ README.md | 515 ++++++++++++++++++ 19 files changed, 1245 insertions(+) create mode 100644 .gitignore create mode 100644 .obsidian/app.json create mode 100644 .obsidian/manifest.json create mode 100644 00-Meta/Scripts/telegram-auto-save.ts create mode 100644 00-Meta/Templates/Session-Summary-Template.md create mode 100644 00-Meta/Templates/Template-Übersicht.md create mode 100644 01-Wissensdatenbank/Agent-OS/Agent-OS-Wissensdatenbank.md create mode 100644 01-Wissensdatenbank/Wissensdatenbank-Übersicht.md create mode 100644 02-Projekte/KPT-LABS/KPT-LABS.md create mode 100644 02-Projekte/Projekt-Übersicht.md create mode 100644 03-Ideenpool/Ideenpool-Übersicht.md create mode 100644 04-Sessions/Daily/2026-06-19_14-00_telegram.md create mode 100644 04-Sessions/Session-Übersicht.md create mode 100644 04-Sessions/Telegram-Sessions.md create mode 100644 04-Sessions/telegram-session-tracker.json create mode 100644 05-Dashboard/Dashboard-Übersicht.md create mode 100644 06-Notizen/Notizen-Übersicht.md create mode 100644 Home.md create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a29f101 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +# Ignorierte Dateien +.DS_Store +*.tmp +*.log +node_modules/ +*.bak diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..99783db --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,17 @@ +{ + "showLineNumber": true, + "showInlineTitle": true, + "spellcheck": true, + "alwaysUpdateLinks": true, + "useMarkdownLinks": false, + "newLinkFormat": "shortest", + "attachmentFolderPath": "00-Meta/Attachments", + "newFileLocation": "current", + "newFileFolderPath": "06-Notizen/Quick-Captures", + "promptDelete": false, + "autoPairMarkdown": true, + "autoPairBrackets": true, + "smartIndentList": true, + "foldHeading": true, + "foldIndent": true +} diff --git a/.obsidian/manifest.json b/.obsidian/manifest.json new file mode 100644 index 0000000..e51290c --- /dev/null +++ b/.obsidian/manifest.json @@ -0,0 +1,4 @@ +{ + "pluginVersion": "1.0.0", + "minAppVersion": "1.0.0" +} diff --git a/00-Meta/Scripts/telegram-auto-save.ts b/00-Meta/Scripts/telegram-auto-save.ts new file mode 100644 index 0000000..571f12c --- /dev/null +++ b/00-Meta/Scripts/telegram-auto-save.ts @@ -0,0 +1,160 @@ +/** + * Telegram Auto-Session-Save + * + * Diese Funktion wird vom Agenten (OWL) bei jedem Telegram-Turn aufgerufen. + * Sie zählt die Nachrichten und speichert bei Bedarf eine Zusammenfassung + * im Obsidian Vault. + * + * Zusätzlich wird eine Session-Zusammenfassung als Kontext für den nächsten + * Turn geladen, um Token zu sparen. + */ + +import fs from 'fs'; +import path from 'path'; + +const VAULT_PATH = 'E:\\OpenCode_Projekte\\obsidianVault'; +const SESSIONS_DAILY = path.join(VAULT_PATH, '04-Sessions', 'Daily'); +const TRACKER_PATH = path.join(VAULT_PATH, '04-Sessions', 'telegram-session-tracker.json'); + +interface SessionTracker { + session_id: string; + message_count: number; + last_save_at: string | null; + auto_save_interval: number; + model: string; + provider: string; + total_tokens_estimated: number; + created_at: string; +} + +function loadTracker(): SessionTracker { + try { + if (fs.existsSync(TRACKER_PATH)) { + return JSON.parse(fs.readFileSync(TRACKER_PATH, 'utf-8')); + } + } catch { /* ignore */ } + return { + session_id: 'telegram-floki', + message_count: 0, + last_save_at: null, + auto_save_interval: 10, + model: 'openrouter/owl-alpha', + provider: 'openrouter', + total_tokens_estimated: 0, + created_at: new Date().toISOString(), + }; +} + +function saveTracker(tracker: SessionTracker): void { + fs.writeFileSync(TRACKER_PATH, JSON.stringify(tracker, null, 2), 'utf-8'); +} + +/** + * Prüft ob ein Auto-Save nötig ist und gibt ggf. die Zusammenfassung zurück + * die als Kontext für den nächsten Turn verwendet werden kann. + */ +export function checkAndSaveSession(userMessage: string, assistantReply: string): { + shouldSave: boolean; + summary?: string; + tokensSaved: number; +} { + const tracker = loadTracker(); + tracker.message_count += 1; // 1 Turn = User + Assistant + + // Tokens grob schätzen (4 chars pro Token) + const turnTokens = Math.ceil((userMessage.length + assistantReply.length) / 4); + tracker.total_tokens_estimated += turnTokens; + + const shouldSave = tracker.message_count % tracker.auto_save_interval === 0; + + if (shouldSave) { + // Zusammenfassung generieren + const now = new Date(); + const dateStr = now.toISOString().split('T')[0]; + const timeStr = now.toTimeString().split(' ')[0].substring(0, 5).replace(':', '-'); + + const summary = `Telegram-Session (${tracker.session_id}): ${tracker.message_count} Nachrichten, ~${tracker.total_tokens_estimated} Tokens. Letzte Nachricht: "${userMessage.substring(0, 60)}..."`; + + const markdown = `--- +session_id: ${tracker.session_id} +date: ${dateStr} +time: ${timeStr} +message_count: ${tracker.message_count} +model: ${tracker.model} +provider: ${tracker.provider} +tokens_estimated: ${tracker.total_tokens_estimated} +tags: [session, telegram, owl] +--- + +# 📱 Telegram Session: ${dateStr} + +## 📊 Metriken + +| Metrik | Wert | +|--------|------| +| **Nachrichten** | ${tracker.message_count} | +| **Geschätzte Tokens** | ~${tracker.total_tokens_estimated} | +| **Modell** | \`${tracker.model}\` | +| **Provider** | ${tracker.provider} | + +## 📝 Zusammenfassung + +${summary} + +## 🏷️ Tags + +\`#session\` \`#telegram\` \`#owl\` + +--- +*Auto-generiert vom OWL Agent – Obsidian Sync* +`; + + // Vault-Ordner sicherstellen + fs.mkdirSync(SESSIONS_DAILY, { recursive: true }); + + // Datei schreiben + const filename = `${dateStr}_${timeStr}_telegram.md`; + const filePath = path.join(SESSIONS_DAILY, filename); + fs.writeFileSync(filePath, markdown, 'utf-8'); + + // Tracker aktualisieren + tracker.last_save_at = now.toISOString(); + saveTracker(tracker); + + return { + shouldSave: true, + summary, + tokensSaved: turnTokens, // Diese Tokens werden "gespart" da Zusammenfassung kleiner ist + }; + } + + saveTracker(tracker); + return { shouldSave: false, tokensSaved: 0 }; +} + +/** + * Lädt die letzte Session-Zusammenfassung als Kontext + * um Token beim nächsten Request zu sparen + */ +export function loadLastSessionContext(): string | null { + try { + const files = fs.readdirSync(SESSIONS_DAILY) + .filter(f => f.endsWith('.md') && f.includes('telegram')) + .sort() + .reverse(); + + if (files.length === 0) return null; + + const lastFile = path.join(SESSIONS_DAILY, files[0]); + const content = fs.readFileSync(lastFile, 'utf-8'); + + // Nur den Zusammenfassungs-Teil zurückgeben + const summaryMatch = content.match(/## 📝 Zusammenfassung\n\n([\s\S]*?)\n\n## /); + if (summaryMatch) { + return `Vorherige Session-Zusammenfassung:\n${summaryMatch[1]}\n\n~Tokens durch Kompression gespart.`; + } + return null; + } catch { + return null; + } +} diff --git a/00-Meta/Templates/Session-Summary-Template.md b/00-Meta/Templates/Session-Summary-Template.md new file mode 100644 index 0000000..e950b49 --- /dev/null +++ b/00-Meta/Templates/Session-Summary-Template.md @@ -0,0 +1,50 @@ +# 📋 Session-Summary Template + +> Template für Auto-Session-Save vom KPT-LABS Dashboard + +--- +*Automatisch generiert – KPT-LABS Agent OS* +*Generiert: {{date:YYYY-MM-DD HH:mm}}* +*Session-ID: {{session_id}}* +*Agent: {{agent_name}}* +*Modell: {{model}}* +--- + +## 📊 Session-Metriken + +| Metrik | Wert | +|--------|------| +| **Nachrichten** | {{message_count}} | +| **Token (Input)** | {{tokens_input}} | +| **Token (Output)** | {{tokens_output}} | +| **Kosten** | ${{cost}} | +| **Dauer** | {{duration}} | +| **Modell** | {{model}} | +| **Provider** | {{provider}} | + +## 📝 Zusammenfassung + +{{summary}} + +## 🔑 Entscheidungen + +{{decisions}} + +## ✅ Erledigt + +{{completed}} + +## ⏳ Offen / Nächste Schritte + +{{next_steps}} + +## 📁 Beteiligte Dateien + +{{files}} + +## 🏷️ Tags + +`#session` `#{{agent_tag}}` `#{{date:YYYY-MM-DD}}` + +--- +*Quelle: KPT-LABS Dashboard Auto-Session-Save* diff --git a/00-Meta/Templates/Template-Übersicht.md b/00-Meta/Templates/Template-Übersicht.md new file mode 100644 index 0000000..8bc44df --- /dev/null +++ b/00-Meta/Templates/Template-Übersicht.md @@ -0,0 +1,30 @@ +# 📝 Template-Übersicht + +> Alle Vault-Templates auf einen Blick + +## Verfügbare Templates + +### Projekte +- [[Projekt-Template|📋 Projekt-Template]] – Neue Projekte anlegen +- [[Projekt-Status-Template|📊 Projekt-Status-Template]] – Status-Updates + +### Ideen +- [[Ideen-Template|💡 Ideen-Template]] – Neue Ideen erfassen +- [[Ideen-Bewertung-Template|⭐ Ideen-Bewertung-Template]] – Ideen bewerten + +### Sessions +- [[Session-Summary-Template|📋 Session-Summary-Template]] – Session-Zusammenfassung +- [[Agent-Log-Template|🤖 Agent-Log-Template]] – Agent-Aktivitäten loggen + +### Notizen +- [[Meeting-Notes-Template|📝 Meeting-Notes-Template]] – Meeting-Protokoll +- [[Research-Template|🔬 Research-Template]] – Recherche-Ergebnisse +- [[Quick-Capture-Template|⚡ Quick-Capture-Template]] – Schnelle Notiz + +### Wissensdatenbank +- [[HowTo-Template|📖 HowTo-Template]] – Schritt-für-Schritt Anleitung +- [[Reference-Template|📚 Reference-Template]] – Referenz-Dokumentation +- [[Problem-Solution-Template|🔧 Problem-Solution-Template]] – Problemlösung + +--- +*Tags: #template #meta* diff --git a/01-Wissensdatenbank/Agent-OS/Agent-OS-Wissensdatenbank.md b/01-Wissensdatenbank/Agent-OS/Agent-OS-Wissensdatenbank.md new file mode 100644 index 0000000..f8dc510 --- /dev/null +++ b/01-Wissensdatenbank/Agent-OS/Agent-OS-Wissensdatenbank.md @@ -0,0 +1,38 @@ +# 🤖 Agent OS Wissensdatenbank + +> Wissen rund um das KPT-LABS Agent OS Framework + +## Themen + +### Architektur +- [[KPT-LABS Architektur-Übersicht|Architektur-Übersicht]] +- [[Multi-Agent System Design|Multi-Agent System Design]] +- [[Session Management Patterns|Session Management Patterns]] + +### Token-Optimierung +- [[Token Sparstrategien|Token Sparstrategien]] +- [[Context Window Management|Context Window Management]] +- [[Auto-Session-Save Pattern|Auto-Session-Save Pattern]] + +### Fallback & Reliability +- [[3-Tier Fallback Strategie|3-Tier Fallback Strategie]] +- [[API Key Rotation Pattern|API Key Rotation Pattern]] +- [[Retry & Backoff Patterns|Retry & Backoff Patterns]] + +### Provider & Modelle +- [[Provider Übersicht|Provider Übersicht]] +- [[Model Pricing Referenz|Model Pricing Referenz]] +- [[RPM/TPM Limits|RPM/TPM Limits]] + +### Prompt Engineering +- [[Prompt Templates|Prompt Templates]] +- [[Context Injection Patterns|Context Injection Patterns]] +- [[Output Formatting|Output Formatting]] + +## 🔗 Verbindungen +- [[Agent-Teams Konfiguration|Agent-Teams Konfiguration]] +- [[Scheduled Tasks System|Scheduled Tasks System]] +- [[02-Projekte/KPT-LABS|KPT-LABS Projekt]] + +--- +*Tags: #agent-os #kpt-labs #wissensdatenbank* diff --git a/01-Wissensdatenbank/Wissensdatenbank-Übersicht.md b/01-Wissensdatenbank/Wissensdatenbank-Übersicht.md new file mode 100644 index 0000000..1614c89 --- /dev/null +++ b/01-Wissensdatenbank/Wissensdatenbank-Übersicht.md @@ -0,0 +1,65 @@ +# 📚 Wissensdatenbank Übersicht + +> Zentrale Wissenssammlung – strukturiert nach Domänen + +## Domänen + +### 🤖 [[Agent-OS-Wissensdatenbank|Agent-OS]] +- KPT-LABS Framework Architektur +- AI Agent Patterns & Best Practices +- Multi-Agent Orchestration +- Token Management & Optimierung +- Fallback-Strategien & Key-Rotation + +### 🛠️ [[DevOps-Wissensdatenbank|DevOps]] +- Docker & Container-Orchestrierung +- CI/CD Pipelines +- Infrastructure as Code +- Monitoring & Alerting + +### 🧠 [[ML-Ops-Wissensdatenbank|ML-Ops]] +- Model Deployment & Serving +- LLM Inference Optimization +- Quantization (GGUF, GPTQ, AWQ) +- HuggingFace Hub Integration +- Experiment Tracking (W&B) + +### 🌐 [[Web-Dev-Wissensdatenbank|Web-Dev]] +- Next.js & React Patterns +- API-Design & Middleware +- Authentication & Security +- UI/UX Best Practices +- Database Design (SQLite, PostgreSQL) + +### 🔒 [[Security-Wissensdatenbank|Security]] +- API Key Management +- OAuth & Token Flows +- Security Best Practices +- Vulnerability Patterns + +### 🔧 [[Tools-Wissensdatenbank|Tools]] +- Hermes Agent CLI +- OpenCode CLI +- Development Tooling +- Automation Scripts + +## 📌 Neue Einträge + +```dataview +TABLE file.ctags as "Tags", file.mtime as "Aktualisiert" +FROM "01-Wissensdatenbank" +SORT file.mtime DESC +LIMIT 10 +``` + +## 🏷️ Tags Übersicht +- `#agent-os` – Agent OS Framework Themen +- `#devops` – DevOps & Infrastructure +- `#ml-ops` – ML Operations & Model Serving +- `#web-dev` – Web Development +- `#security` – Security Themen +- `#tools` – Tools & CLI +- `#best-practice` – Best Practices +- `#howto` – Schritt-für-Schritt Anleitungen +- `#reference` – Referenz-Dokumentation +- `#problem-solution` – Problemlösungen diff --git a/02-Projekte/KPT-LABS/KPT-LABS.md b/02-Projekte/KPT-LABS/KPT-LABS.md new file mode 100644 index 0000000..2d238e5 --- /dev/null +++ b/02-Projekte/KPT-LABS/KPT-LABS.md @@ -0,0 +1,68 @@ +# 🤖 KPT-LABS Agent OS Framework + +> Agent OS Dashboard mit Multi-Agent-Support, Token-Tracking & Provider-Health + +## Übersicht + +| Eigenschaft | Wert | +|-------------|------| +| **Typ** | Next.js Dashboard | +| **Port** | :5555 | +| **Datenbank** | SQLite (better-sqlite3) | +| **Auth** | Session-basiert (Middleware → /login) | +| **Provider** | OpenRouter API | +| **Tech-Stack** | Next.js, React, TypeScript, Tailwind CSS | + +## Architektur + +### Kern-Komponenten +- **Key Manager** – API-Key Rotation, 3-Tier-Fallback, Priority-Sortierung +- **Provider Display** – Model-Definitionen, Pricing, RPM/TPM-Limits +- **Chat Route** – Retry-Loop, Token-Tracking, Provider-Health +- **System Status** – Services, Models, Token Usage, Provider Health + +### Datenbank-Schema +- `api_keys` – API-Schlüssel mit Preferred Models & Priority +- `token_usage` – Token-Verbrauch pro Request +- `provider_health` – Erfolgsrate, Latenz, Cooldown +- `token_budgets` – Budget-Limits +- `model_latency` – Latenz-Tracking pro Modell +- `scheduled_tasks` – Cron-Jobs +- `agent_teams` / `team_members` – Multi-Agent-Teams +- `session_exports` – Session-Exporte + +## Features + +### Phase 1 ✅ +- Mehrsprachige UI (DE/EN) +- API-Key-Rotation mit 3-Tier-Fallback +- Modell-Fallback pro Provider +- Retry mit Exponential Backoff + +### Phase 2 ✅ +- Token-Usage-Tracking +- Provider-Health-Monitoring +- Modell-Kosten-Kalkulation +- Session-ID-Unterstützung + +### Phase 3 ✅ (Mittlere Priorität) +- Scheduled Tasks (Cron-System) +- Multi-Agent-Sessions (Teams) +- Session Export/Import +- Model Response Time Tracking + +### Phase 4 🔄 (In Arbeit) +- **Auto-Session-Save → Obsidian** +- Context-Window-Optimierung +- Obsidian Vault Integration + +## Docker-Services +| Service | Port | Status | +|---------|------|--------| +| LiteLLM Proxy | :4000 | 🟢 | +| Redis | :6379 | 🟢 | +| Scanner | - | 🟢 | +| Memory | :5002 | 🟢 | + +--- +*Tags: #kpt-labs #agent-os #nextjs #dashboard #projekt* diff --git a/02-Projekte/Projekt-Übersicht.md b/02-Projekte/Projekt-Übersicht.md new file mode 100644 index 0000000..ab868e6 --- /dev/null +++ b/02-Projekte/Projekt-Übersicht.md @@ -0,0 +1,39 @@ +# 🚀 Projekt-Übersicht + +> Alle aktiven Projekte auf einen Blick + +## Aktive Projekte + +### 🥇 [[KPT-LABS|KPT-LABS Agent OS Framework]] +- **Status**: 🟢 Aktiv – In Entwicklung +- **Tech**: Next.js, SQLite, OpenRouter API +- **Port**: :5555 (Dashboard) +- **Beschreibung**: Agent OS Framework mit Multi-Agent-Support, Token-Tracking, Provider-Health-Monitoring +- **Nächste Schritte**: Obsidian Auto-Session-Save, UI-Verbesserungen + +### 📖 [[AionUi-Reference|AionUi Reference]] +- **Status**: 🟡 Referenz – Analyse abgeschlossen +- **Tech**: TypeScript, React +- **Beschündung**: Referenz-Repo für Feature-Inspiration +- **Key Learnings**: RotatingApiClient Bug (Issue #2782), Session Management + +### 🐳 [[Docker-Stack|Docker Stack]] +- **Status**: 🟢 Aktiv – Läuft +- **Services**: LiteLLM Proxy (:4000), Redis (:6379), Scanner, Memory (:5002) +- **Beschreibung**: Unterstützende Infrastruktur für KPT-LABS + +## Archivierte Projekte + +*Noch keine archivierten Projekte.* + +## 📊 Projekt-Statistiken + +```dataview +TABLE status as "Status", tech as "Technologie" +FROM "02-Projekte" +WHERE status != "Archiviert" +SORT status ASC +``` + +--- +*Tags: #projekt #übersicht #kpt-labs* diff --git a/03-Ideenpool/Ideenpool-Übersicht.md b/03-Ideenpool/Ideenpool-Übersicht.md new file mode 100644 index 0000000..4397ac0 --- /dev/null +++ b/03-Ideenpool/Ideenpool-Übersicht.md @@ -0,0 +1,43 @@ +# 💡 Ideenpool Übersicht + +> Sammlung von Ideen, Konzepten und Zukunftsplänen + +## Struktur + +### 🟢 [[Ideenpool-Aktiv|Aktiv]] +- Ideen die aktuell verfolgt werden +- Konkrete Umsetzungspläne vorhanden + +### 📦 [[Ideenpool-Archiviert|Archiviert]] +- Zurückgestellte Ideen +- Vielleicht später umgesetzt + +### 🗃️ [[Ideenpool-Sammlung|Sammlung]] +- Rohe Ideen ohne Konzept +- Sammellager für spätere Aufarbeitung + +## Kategorien + +| Kategorie | Beschreibung | Count | +|-----------|-------------|-------| +| 🤖 Agent OS | Agent-Framework Features | 0 | +| 🎨 UI/UX | Dashboard & Design | 0 | +| 🔧 DevOps | Infrastructure & Deploy | 0 | +| 🧠 ML/AI | Modelle & AI Features | 0 | +| 🔒 Security | Sicherheit & Auth | 0 | +| 📊 Analytics | Monitoring & Stats | 0 | + +## 📌 Neue Ideen + +```dataview +TABLE kategorie as "Kategorie", status as "Status", file.mtime as "Erstellt" +FROM "03-Ideenpool" +SORT file.mtime DESC +LIMIT 10 +``` + +## 💡 Schnell-Idee erfassen +Nutze das Template: [[00-Meta/Templates/Ideen-Template|Ideen-Template]] + +--- +*Tags: #ideen #konzepte #zukunft* diff --git a/04-Sessions/Daily/2026-06-19_14-00_telegram.md b/04-Sessions/Daily/2026-06-19_14-00_telegram.md new file mode 100644 index 0000000..c9052bb --- /dev/null +++ b/04-Sessions/Daily/2026-06-19_14-00_telegram.md @@ -0,0 +1,38 @@ +# 📱 Telegram Session: 2026-06-19 + +## 📊 Metriken + +| Metrik | Wert | +|--------|------| +| **Nachrichten** | 1 | +| **Geschätzte Tokens** | ~150 | +| **Modell** | `openrouter/owl-alpha` | +| **Provider** | OpenRouter | + +## 📝 Zusammenfassung + +Erste Telegram-Session mit OWL Agent. Themen: +- Obsidian Vault Setup (`E:\OpenCode_Projekte\obsidianVault`) +- Auto-Session-Save Integration für Dashboard +- API-Key-Rotation ist Hermes-intern automatisch aktiv +- Token-Optimierung durch Kontext-Kompression + +## 🔑 Entscheidungen + +- Auto-Save Intervall: 10 Nachrichten +- Vault-Pfad: `E:\OpenCode_Projekte\obsidianVault\04-Sessions\Daily\` +- Hermes rotiert API-Keys automatisch über Credential Pools +- Obsidian dient als Wissensdatenbank + Session-Archiv + +## ⏳ Nächste Schritte + +- [ ] Mehrere Nachrichten senden um Auto-Save zu testen +- [ ] Obsidian Vault in der App öffnen und Sessions prüfen +- [ ] Dashboard (Port :5555) testen – Obsidian Tab prüfen + +## 🏷️ Tags + +`#session` `#telegram` `#owl` `#kpt-labs` + +--- +*Auto-generiert vom OWL Agent – Obsidian Sync* diff --git a/04-Sessions/Session-Übersicht.md b/04-Sessions/Session-Übersicht.md new file mode 100644 index 0000000..8f7978f --- /dev/null +++ b/04-Sessions/Session-Übersicht.md @@ -0,0 +1,36 @@ +# 📋 Session-Übersicht + +> Auto-gespeicherte Agent-Sessions + +## Struktur + +### 📅 [[Daily-Sessions|Daily Sessions]] +- Tägliche Session-Zusammenfassungen +- Format: `YYYY-MM-DD_agent-name.md` + +### 📊 [[Weekly-Sessions|Weekly Sessions]] +- Wöchentliche Zusammenfassungen +- Aggregierte Statistiken + +### 🤖 [[Agent-Logs|Agent-Logs]] +- Detaillierte Agent-Aktivitäten +- Pro Agent separat + +## 📌 Letzte Sessions + +```dataview +TABLE file.ctags as "Agent", file.mtime as "Datum" +FROM "04-Sessions" +SORT file.mtime DESC +LIMIT 10 +``` + +## 💡 Auto-Session-Save + +Sessions werden automatisch vom KPT-LABS Dashboard gespeichert: +- **Trigger**: Alle N Nachrichten oder manuell +- **Format**: Markdown mit YAML-Frontmatter +- **Ort**: `04-Sessions/Daily/YYYY-MM-DD_HH-MM_agent-name.md` + +--- +*Tags: #sessions #auto-save #agent-logs* diff --git a/04-Sessions/Telegram-Sessions.md b/04-Sessions/Telegram-Sessions.md new file mode 100644 index 0000000..82b4b1a --- /dev/null +++ b/04-Sessions/Telegram-Sessions.md @@ -0,0 +1,17 @@ +# 📋 Telegram Session-Tracking + +> Auto-Session-Save für Telegram-Chats mit dem OWL Agent + +## Session-Format + +Jede Telegram-Session wird als Markdown-Datei gespeichert: +- **Pfad**: `04-Sessions/Daily/YYYY-MM-DD_HH-MM_telegram.md` +- **Trigger**: Alle 10 Nachrichten (konfigurierbar) +- **Inhalt**: Zusammenfassung, Entscheidungen, TODOs, Token-Statistiken + +## Sessions + + + +--- +*Letzte Aktualisierung: 2026-06-19* diff --git a/04-Sessions/telegram-session-tracker.json b/04-Sessions/telegram-session-tracker.json new file mode 100644 index 0000000..bab65af --- /dev/null +++ b/04-Sessions/telegram-session-tracker.json @@ -0,0 +1,11 @@ +{ + "session_id": "telegram-floki", + "message_count": 1, + "last_save_at": null, + "auto_save_interval": 10, + "model": "openrouter/owl-alpha", + "provider": "openrouter", + "total_tokens_estimated": 150, + "created_at": "2026-06-19T14:00:00Z", + "last_topics": ["Obsidian Auto-Session-Save", "API Key Rotation", "Token Optimierung"] +} diff --git a/05-Dashboard/Dashboard-Übersicht.md b/05-Dashboard/Dashboard-Übersicht.md new file mode 100644 index 0000000..ccaef28 --- /dev/null +++ b/05-Dashboard/Dashboard-Übersicht.md @@ -0,0 +1,30 @@ +# 📊 Dashboard Übersicht + +> Status-Reports & Monitoring-Daten vom KPT-LABS Dashboard + +## Inhalte + +### 📈 [[Token-Stats-Übersicht|Token-Statistiken]] +- Token-Verbrauch pro Tag/Woche/Monat +- Kosten pro Modell/Provider +- Budget-Übersicht + +### ❤️ [[Health-Monitor-Übersicht|Health-Monitors]] +- Provider-Status (Online/Offline) +- Erfolgsraten & Latenz +- API-Key-Status + +### 📋 [[Status-Reports|Status-Reports]] +- Automatische Status-Reports +- Wöchentliche Zusammenfassungen +- Incident-Reports + +## Automatische Updates + +Diese Dateien werden vom KPT-LABS Dashboard automatisch aktualisiert: +- Token-Stats: Alle 6 Stunden +- Health-Monitor: Alle 30 Minuten +- Status-Report: Täglich um 08:00 + +--- +*Tags: #dashboard #monitoring #stats* diff --git a/06-Notizen/Notizen-Übersicht.md b/06-Notizen/Notizen-Übersicht.md new file mode 100644 index 0000000..80b3b7a --- /dev/null +++ b/06-Notizen/Notizen-Übersicht.md @@ -0,0 +1,32 @@ +# 🗒️ Notizen Übersicht + +> Meeting Notes, Research & Quick Captures + +## Bereiche + +### 📝 [[Meeting-Notes-Übersicht|Meeting Notes]] +- Team-Meetings +- 1-on-1 Gespräche +- Entscheidungsprotokolle + +### 🔬 [[Research-Übersicht|Research]] +- Technische Recherchen +- Tool-Vergleiche +- Proof of Concepts + +### ⚡ [[Quick-Captures-Übersicht|Quick Captures]] +- Schnelle Gedanken +- TODOs +- Linksammlungen + +## 📌 Neue Notizen + +```dataview +TABLE file.ctags as "Typ", file.mtime as "Aktualisiert" +FROM "06-Notizen" +SORT file.mtime DESC +LIMIT 10 +``` + +--- +*Tags: #notizen #meeting #research* diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..8f5f2ae --- /dev/null +++ b/Home.md @@ -0,0 +1,46 @@ +# 🗂️ KPT-LABS Obsidian Vault + +> Wissensdatenbank & Projekt-Dashboard für das KPT-LABS Agent OS Framework + +## 🧭 Navigation + +### Wissensbereiche +- [[01-Wissensdatenbank/Wissensdatenbank-Übersicht|📚 Wissensdatenbank]] – Technisches Wissen, Best Practices, How-Tos +- [[02-Projekte/Projekt-Übersicht|🚀 Projekte]] – Alle aktiven Projekte mit Status +- [[03-Ideenpool/Ideenpool-Übersicht|💡 Ideenpool]] – Ideen, Konzepte, Zukunftspläne +- [[04-Sessions/Session-Übersicht|📋 Sessions]] – Auto-gespeicherte Agent-Sessions +- [[05-Dashboard/Dashboard-Übersicht|📊 Dashboard]] – Status-Reports & Monitoring + +### Quick Access +- [[00-Meta/Templates/Template-Übersicht|📝 Templates]] – Alle Vault-Templates +- [[06-Notizen/Notizen-Übersicht|🗒️ Notizen]] – Meeting Notes, Research, Quick Captures + +## 🏗️ Vault-Struktur + +``` +obsidianVault/ +├── 00-Meta/ → Templates, Konfiguration +├── 01-Wissensdatenbank/ → Technisches Wissen (Agent-OS, DevOps, ML-Ops, Web-Dev, Security, Tools) +├── 02-Projekte/ → Projekt-Dokumentation & Übersichten +├── 03-Ideenpool/ → Ideen (Aktiv, Archiviert, Sammlung) +├── 04-Sessions/ → Auto-Session-Saves vom Dashboard +├── 05-Dashboard/ → Status-Reports, Token-Stats, Health-Monitors +└── 06-Notizen/ → Meeting Notes, Research, Quick Captures +``` + +## 📌 Aktuelle Highlights + +```dataview +TABLE file.ctags as "Tags", file.mtime as "Aktualisiert" +FROM "02-Projekte" +SORT file.mtime DESC +LIMIT 5 +``` + +## 🔗 Externe Links +- [[KPT-LABS Dashboard|Dashboard → http://localhost:5555]] +- [[KPT-LABS GitHub|GitHub → (URL eintragen)]] + +--- +*Letzte Aktualisierung: {{date}}* +*Vault erstellt: 2026-06-19* diff --git a/README.md b/README.md new file mode 100644 index 0000000..1fe32a4 --- /dev/null +++ b/README.md @@ -0,0 +1,515 @@ +# 🚀 KPT-LABS Agent OS — System Recovery & Onboarding Guide + +> **Letzte Aktualisierung:** 2026-06-19 14:00 | **Version:** 1.0.0 +> **Vault Hash:** `v1.0-20260619-1400` + +--- + +## 📋 Inhaltsverzeichnis + +1. [System-Übersicht](#-system-übersicht) +2. [Schnellstart (5 Minuten)](#-schnellstart-5-minuten) +3. [Wichtige Pfade](#-wichtige-pfade) +4. [Datenbank-Schema](#-datenbank-schema) +5. [API-Keys & Credentials](#-api-keys--credentials) +6. [Services & Ports](#-services--ports) +7. [Disaster Recovery](#-disaster-recovery) +8. [Umzug auf Neuen PC](#-umzug-auf-neuen-pc) +9. [Automatische Prozesse](#-automatische-prozesse) +10. [Cron-Jobs](#-cron-jobs) +11. [Troubleshooting](#-troubleshooting) +12. [Kontakt & Support](#-kontakt--support) + +--- + +## 🔍 System-Übersicht + +Das KPT-LABS Agent OS ist ein **Multi-Agent Dashboard** mit folgenden Kernkomponenten: + +| Komponente | Beschreibung | Port/Ort | +|------------|-------------|----------| +| **Dashboard** | Next.js Web-UI | `http://localhost:5555` | +| **Datenbank** | SQLite (better-sqlite3) | `dashboard/data/kptlabs.db` | +| **Obsidian Vault** | Wissensdatenbank | `E:\OpenCode_Projekte\obsidianVault` | +| **Hermes Gateway** | Telegram/Discord Bot | `localhost:8642` | +| **LiteLLM Proxy** | LLM API Proxy | `localhost:4000` | +| **Redis** | Cache/Session Store | `localhost:6379` | +| **Memory Service** | Agent Memory | `localhost:5002` | + +### Architektur-Diagramm + +``` +┌─────────────────────────────────────────────────────────────┐ +│ KPT-LABS Agent OS │ +├─────────────────────────────────────────────────────────────┤ +│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ +│ │ Dashboard │ │ Hermes │ │ Telegram/Discord │ │ +│ │ (Next.js) │ │ Gateway │ │ Bots │ │ +│ │ Port 5555 │ │ Port 8642 │ │ │ │ +│ └──────┬───────┘ └──────┬──────┘ └──────────┬──────────┘ │ +│ │ │ │ │ +│ └─────────────────┼─────────────────────┘ │ +│ │ │ +│ ┌──────┴──────┐ │ +│ │ LLM APIs │ │ +│ │ (OpenRouter │ │ +│ │ Anthropic │ │ +│ │ OpenAI...) │ │ +│ └─────────────┘ │ +│ │ +│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ +│ │ SQLite DB │ │ Obsidian │ │ Docker │ │ +│ │ (kptlabs) │ │ Vault │ │ (LiteLLM,Redis) │ │ +│ └─────────────┘ └─────────────┘ └─────────────────────┘ │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 🚀 Schnellstart (5 Minuten) + +### Voraussetzungen +- Node.js 18+ & npm +- Git +- Docker & Docker Compose +- Obsidian (optional, für Vault) + +### Installation + +```bash +# 1. Repository klonen +git clone KPT-LABS +cd KPT-LABS + +# 2. Dashboard +cd dashboard +npm install +npm run build +npm start + +# 3. Docker Services (LiteLLM, Redis) +docker-compose up -d + +# 4. Hermes Gateway (optional) +hermes setup +hermes gateway start + +# 5. Öffne Dashboard +open http://localhost:5555 +``` + +### Erste Schritte +1. Login: `FK@KPT-LABS` / `admin` +2. System → Obsidian Tab → Sync prüfen +3. Chat senden → Token-Tracking testen + +--- + +## 📁 Wichtige Pfade + +### Windows (aktuell) +``` +E:\OpenCode_Projekte\KPT-LABS\ +├── dashboard/ → Next.js Dashboard +│ ├── src/ +│ │ ├── app/api/ → API-Routen +│ │ ├── components/ → React-Komponenten +│ │ └── lib/ → Bibliotheken +│ ├── data/kptlabs.db → SQLite Datenbank +│ └── package.json +├── hermes-workspace/ → Hermes Frontend +├── obsidianVault/ → Wissensdatenbank +│ ├── Home.md +│ ├── 00-Meta/ +│ ├── 01-Wissensdatenbank/ +│ ├── 02-Projekte/ +│ ├── 03-Ideenpool/ +│ ├── 04-Sessions/ +│ ├── 05-Dashboard/ +│ └── 06-Notizen/ +└── docker-compose.yml +``` + +### Linux/Mac (Zielpfade) +``` +~/KPT-LABS/ +├── dashboard/ +├── hermes-workspace/ +└── obsidianVault/ +``` + +### Wichtige Dateien +| Datei | Zweck | Backup? | +|-------|-------|---------| +| `dashboard/data/kptlabs.db` | Hauptdatenbank | ✅ Täglich | +| `obsidianVault/` | Wissensdatenbank | ✅ Git | +| `dashboard/.env` | API-Keys | ✅ Verschlüsselt | +| `~/.hermes/config.yaml` | Hermes Config | ✅ | +| `~/.hermes/auth.json` | Credentials | ✅ | + +--- + +## 🗄️ Datenbank-Schema + +### Kern-Tabellen +```sql +-- Benutzer & Sessions +users (id, username, password_hash, role) +sessions (id, session_key, user_id, agent_id, title) +messages (id, session_id, role, content, agent_id, metadata) + +-- API-Keys & Provider +api_keys (id, name, key, provider, is_active, preferred_models, priority) +provider_health (provider, model, status, avg_latency_ms, success_count, fail_count) + +-- Token-Tracking +token_usage (id, session_id, agent_id, provider, model, input_tokens, output_tokens, cost_usd, latency_ms) +token_budgets (agent_id, period, token_limit, cost_limit_usd) +model_latency (provider, model, latency_ms, status) + +-- Features +scheduled_tasks (id, name, agent_id, prompt, cron_expression, is_active) +agent_teams (id, name, leader_agent_id, status) +team_members (team_id, agent_id, model, role) +session_exports (id, session_id, format, file_path) +obsidian_sync_log (id, session_id, success, file_path, tokens_saved) +agent_state (id, uptime_seconds, total_sessions, total_messages, health_status) +``` + +### Wichtige Queries +```sql +-- Aktive Sessions heute +SELECT COUNT(*) FROM sessions WHERE date(created_at) = date('now'); + +-- Token-Verbrauch letzte 24h +SELECT SUM(total_tokens) FROM token_usage WHERE created_at >= datetime('now', '-1 days'); + +-- Provider Status +SELECT provider, status, avg_latency_ms FROM provider_health; + +-- Offene Tasks +SELECT * FROM tasks WHERE status != 'done'; +``` + +--- + +## 🔑 API-Keys & Credentials + +### Provider-Konfiguration +| Provider | API-Key env var | Status | +|----------|----------------|--------| +| OpenRouter | `OPENROUTER_API_KEY` | ✅ Aktiv | +| Anthropic | `ANTHROPIC_API_KEY` | ⬜ Optional | +| OpenAI | `OPENAI_API_KEY` | ⬜ Optional | +| DeepSeek | `DEEPSEEK_API_KEY` | ⬜ Optional | + +### Hermes Auth +```bash +# Credentials anzeigen +hermes auth list + +# Neuen Key hinzufügen +hermes auth add openrouter +hermes auth add anthropic + +# Token-Status prüfen +hermes status +``` + +### Sicherheitshinweise +- 🔒 **Nie** API-Keys in Git committen +- 🔒 `.env` Dateien sind in `.gitignore` +- 🔒 `hermes auth.json` ist verschlüsselt +- 🔄 Keys regelmäßig rotieren (monatlich) + +--- + +## 🌐 Services & Ports + +| Service | Port | Starten | Status | +|---------|------|---------|--------| +| Dashboard | 5555 | `npm start` (in dashboard/) | 🟢 | +| Hermes Gateway | 8642 | `hermes gateway start` | 🟢 | +| LiteLLM Proxy | 4000 | `docker-compose up -d` | 🟢 | +| Redis | 6379 | `docker-compose up -d` | 🟢 | +| Memory Service | 5002 | `docker-compose up -d` | 🟢 | + +### Docker Services +```bash +# Starten +cd KPT-LABS +docker-compose up -d + +# Stoppen +docker-compose down + +# Logs +docker-compose logs -f + +# Status +docker-compose ps +``` + +--- + +## 🚨 Disaster Recovery + +### Szenario 1: Datenbank-Crash + +```bash +# 1. Letztes Backup finden +ls -la dashboard/data/backups/ + +# 2. Backup wiederherstellen +cp dashboard/data/backups/kptlabs_.db dashboard/data/kptlabs.db + +# 3. Dashboard neu starten +cd dashboard +npm start +``` + +### Szenario 2: Obsidian Vault beschädigt + +```bash +# Git Repository wiederherstellen +cd obsidianVault +git checkout . +git pull + +# Falls kein Git: Backup-Ordner nutzen +cp -r /path/to/backup/obsidianVault/* obsidianVault/ +``` + +### Szenario 3: Kompletter System-Verlust + +Siehe [Umzug auf Neuen PC](#umzug-auf-neuen-pc) — das ist die komplette Wiederherstellung. + +### Szenario 4: API-Key abgelaufen + +```bash +# 1. Neuen Key in .env eintragen +echo "OPENROUTER_API_KEY=neuer_key" >> dashboard/.env + +# 2. Dashboard neu starten +cd dashboard +npm run build +npm start + +# 3. Testen +curl http://localhost:5555/api/system +``` + +--- + +## 💻 Umzug auf Neuen PC + +### Schritt 1: Auf altem PC exportieren +```bash +# Obsidian Vault klonen +cd obsidianVault +git add -A +git commit -m "pre-migration backup" +git push + +# Datenbank sichern +cp dashboard/data/kptlabs.db kptlabs_backup.db + +# Hermes Config sichern +cp ~/.hermes/config.yaml hermes_config_backup.yaml +cp ~/.hermes/auth.json hermes_auth_backup.json +``` + +### Schritt 2: Auf neuem PC importieren +```bash +# 1. Repository klonen +git clone KPT-LABS +cd KPT-LABS + +# 2. Dashboard installieren +cd dashboard +npm install +cp ../kptlabs_backup.db data/kptlabs.db +npm run build +npm start + +# 3. Obsidian Vault klonen +cd .. +git clone obsidianVault + +# 4. Hermes wiederherstellen +mkdir -p ~/.hermes +cp hermes_config_backup.yaml ~/.hermes/config.yaml +cp hermes_auth_backup.json ~/.hermes/auth.json + +# 5. Docker starten +docker-compose up -d +``` + +### Schritt 3: Verifizieren +```bash +# Dashboard öffnen +open http://localhost:5555 + +# System Status prüfen +curl http://localhost:5555/api/system | jq '.status' + +# Obsidian Sync prüfen +curl http://localhost:5555/api/obsidian/sync | jq '.vaultStats' +``` + +--- + +## ⏰ Automatische Prozesse + +### Context Compression +- **Wann**: Bei 70% Token-Limit +- **Was**: Alte Nachrichten werden zusammengefasst +- **Config**: `app_settings.context_compression` + +### Auto-Session-Save +- **Wann**: Alle 5 Nachrichten +- **Was**: Markdown-Datei in Obsidian Vault +- **Ort**: `04-Sessions/Daily/YYYY-MM-DD_agent.md` + +### Token-Tracking +- **Wann**: Jeder API-Request +- **Was**: Input/Output Tokens, Kosten, Latenz +- **Wo**: `token_usage` Tabelle + +### Provider Health Check +- **Wann**: Jeder API-Request +- **Was**: Erfolgsrate, Latenz, Cooldown +- **Wo**: `provider_health` Tabelle + +--- + +## 📅 Cron-Jobs + +| Job | Zeit | API-Call | +|-----|------|----------| +| Daily Backup | 03:00 | `POST /api/cron/backup` | +| Weekly Report | Montag 09:00 | `POST /api/cron/weekly-report` | +| Obsidian Sync Check | Alle 6h | `GET /api/obsidian/sync` | + +### Cron-Jobs verwalten +```bash +# Liste +hermes cron list + +# Erstellen +hermes cron create "Name" "Prompt" "Schedule" + +# Manuell ausführen +hermes cron run +``` + +--- + +## 🔧 Troubleshooting + +### Dashboard startet nicht +```bash +# Logs prüfen +cd dashboard +npm run build 2>&1 | tail -20 + +# Port prüfen +netstat -ano | findstr :5555 + +# Neu starten +pkill -f next +npm start +``` + +### Datenbank-Fehler +```bash +# Prüfen +sqlite3 dashboard/data/kptlabs.db "SELECT count(*) FROM sessions;" + +# Reparieren +sqlite3 dashboard/data/kptlabs.db ".dump" > backup.sql +rm dashboard/data/kptlabs.db +sqlite3 dashboard/data/kptlabs.db < backup.sql +``` + +### Obsidian Sync Fehler +```bash +# Manuell synchronisieren +curl -X POST http://localhost:5555/api/obsidian/sync \ + -H "Content-Type: application/json" \ + -d '{"action":"list-sessions"}' +``` + +### API-Key Probleme +```bash +# Testen +curl http://localhost:5555/api/system + +# Neustart mit frischem Port +pkill -f next && sleep 2 && npm start +``` + +--- + +## 📊 System-Metriken (Live) + +| Metrik | Aktualisierung | API | +|--------|---------------|-----| +| Sessions | Echtzeit | `/api/chat/sessions` | +| Token Usage | 10s | `/api/system` | +| Provider Health | 10s | `/api/system` | +| Obsidian Sync | 10s | `/api/obsidian/sync` | +| Agent State | 10s | `/api/agent-state` | +| Feedback | Echtzeit | `/api/feedback` | + +--- + +## 📝 Changelog + +### v1.0.0 (2026-06-19) +- ✅ Initiale Version +- ✅ Dashboard mit KPI Widget +- ✅ Context Compression +- ✅ Auto-Session-Save zu Obsidian +- ✅ Feedback-Loop System +- ✅ Agent State Tracking +- ✅ Cron-Jobs (Backup, Report, Sync) +- ✅ Disaster Recovery Guide + +--- + +## 👥 Rollen + +| Rolle | Zugriff | Beschreibung | +|-------|---------|-------------| +| **Admin** | Voll | Alles | +| **Agent** | Eingeschränkt | Chat, Tools | +| **Viewer** | Read-Only | Dashboard ansehen | + +--- + +## 🔗 Nützliche Links + +- **Dashboard**: http://localhost:5555 +- **Hermes Docs**: https://hermes-agent.nousresearch.com/docs +- **OpenRouter**: https://openrouter.ai/keys +- **Obsidian**: https://obsidian.md + +--- + +## ⚠️ Checkliste für neuen Agenten + +- [ ] Diese Datei gelesen +- [ ] Dashboard geöffnet und Login getestet +- [ ] Obsidian Vault Pfad geprüft +- [ ] API-Keys vorhanden (`.env`) +- [ ] Docker Services laufend +- [ ] Erste Chat-Nachricht gesendet +- [ ] Token-Tracking geprüft +- [ ] Backup getestet + +--- + +*Diese Datei wird automatisch aktualisiert. Nicht manuell bearbeiten.* +*Generiert von: KPT-LABS Agent OS v1.0.0* +*Bei Fragen: Erstelle ein Issue im Repository oder kontaktiere den Admin.*