Auรergewรถhnlich produktiver Tag (und Nacht!) mit 74 Commits und mehreren groรen neuen Features. Die wichtigsten Errungenschaften:
- SkillTree App - Gamified Skill Tracking mit XP-System (MVP complete)
- Questions App - AI-powered Research Assistant mit mana-search Integration
- Matrix Client Phase 2 - File Upload, Message Actions, Room Management
- mana-search Microservice - SearXNG Meta-Search + Content Extraction
- @manacore/bot-services - Shared Business Logic Package
- matrix-mana-bot - Unified Gateway Bot fรผr alle Features
- 4 neue Matrix Bots - Todo, NutriPhi, Zitare, Clock
- OIDC Provider - Matrix SSO via mana-core-auth
- VictoriaMetrics - Monitoring Upgrade mit DuckDB Analytics
- App Cleanup - Demo Mode fรผr Calendar, Todo, Contacts
SkillTree App
Komplett neue gamifizierte Skill-Tracking App - wie ein RPG Skill Tree fรผr das echte Leben.
Web App (SvelteKit)
apps/skilltree/apps/web/
โโโ src/lib/
โ โโโ components/
โ โ โโโ SkillCard.svelte # Skill mit XP-Balken
โ โ โโโ AddSkillModal.svelte # Neuen Skill erstellen
โ โ โโโ AddActivityModal.svelte # XP verdienen
โ โ โโโ EditSkillModal.svelte # Skill bearbeiten
โ โ โโโ LevelUpCelebration.svelte # Animation bei Level-Up
โ โ โโโ SkillTreeView.svelte # Graph-Visualisierung
โ โ โโโ TemplateSelector.svelte # Skill-Vorlagen
โ โโโ services/skillDb.ts # IndexedDB Storage
โ โโโ stores/skills.svelte.ts # Svelte 5 Runes Store
Features:
| Feature | Beschreibung |
|---|---|
| 6 Skill-Branches | Intellect, Body, Creativity, Social, Practical, Mindset |
| XP-System | 6 Level mit steigenden XP-Anforderungen (100 โ 10.000) |
| Level-Up Celebration | Animation + Sound bei Levelaufstieg |
| Tree View | Graph-Visualisierung mit Skill-Abhรคngigkeiten |
| Templates | Vorgefertigte Skill-Sets zum Schnellstart |
| Offline-First | IndexedDB, kein Backend nรถtig |
Backend (NestJS)
apps/skilltree/apps/backend/
โโโ src/
โ โโโ db/schema/
โ โ โโโ skills.schema.ts # Skills mit XP/Level
โ โ โโโ activities.schema.ts # XP-Aktivitรคten
โ โ โโโ user-stats.schema.ts # Aggregierte Stats
โ โโโ skill/skill.service.ts # CRUD + XP-Berechnung
โ โโโ activity/activity.service.ts # Activity-Logging
API Endpoints:
| Endpoint | Beschreibung |
|---|---|
GET /skills | Alle Skills eines Users |
POST /skills | Neuen Skill erstellen |
POST /skills/:id/xp | XP hinzufรผgen |
GET /activities | Activity-Feed |
Docker Deployment
- Backend: Port 3024
- Web: Port 5195
- CI/CD Jobs in GitHub Actions hinzugefรผgt
Questions App
AI-gestรผtzter Research Assistant fรผr tiefgehende Fragen-Recherche.
Architektur
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Questions โโโโโ>โ Backend โโโโโ>โ mana-search โ
โ Web App โ โ (NestJS) โ โ (SearXNG) โ
โ Port 5111 โ โ Port 3111 โ โ Port 3021 โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
Backend (NestJS)
apps/questions/apps/backend/
โโโ src/
โ โโโ db/schema/
โ โ โโโ questions.schema.ts # Fragen mit Status, Tags
โ โ โโโ collections.schema.ts # Fragen-Ordner
โ โ โโโ research.schema.ts # Recherche-Ergebnisse
โ โ โโโ sources.schema.ts # Extrahierte Quellen
โ โ โโโ answers.schema.ts # AI-Antworten
โ โโโ research/
โ โ โโโ mana-search.client.ts # mana-search Integration
โ โ โโโ research.service.ts # Recherche-Orchestrierung
โ โโโ question/question.service.ts
Research Depths:
| Tiefe | Quellen | Beschreibung |
|---|---|---|
quick | 5 | Schnelle รbersicht |
standard | 15 | Ausgewogene Recherche |
deep | 30 | Tiefgehende Analyse |
Web App (SvelteKit)
apps/questions/apps/web/
โโโ src/
โ โโโ lib/
โ โ โโโ api/ # API Clients
โ โ โโโ stores/
โ โ โ โโโ auth.svelte.ts # Auth Store
โ โ โ โโโ questions.svelte.ts
โ โ โ โโโ collections.svelte.ts
โ โ โโโ components/
โ โ โโโ CollectionModal.svelte
โ โ โโโ ErrorAlert.svelte
โ โ โโโ skeletons/ # Loading States
โ โโโ routes/
โ โโโ (app)/
โ โ โโโ new/ # Neue Frage erstellen
โ โ โโโ question/[id]/ # Fragen-Detail
โ โ โโโ collections/ # Collections-Verwaltung
โ โ โโโ settings/ # Einstellungen
โ โโโ (auth)/
โ โโโ forgot-password/ # Password Recovery
UI Features:
- Filter nach Status, Collection, Suchtext
- Skeleton Loading States
- Error Handling mit Retry
- Dark Mode Support
- Responsive Design
mana-search Microservice
Zentraler Such-Service fรผr alle ManaCore Apps.
Architektur
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ mana-search (Port 3021) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Search Module โ โ Extract Module โ โ Cache โ โ
โ โ (SearXNG) โ โ (Readability) โ โ (Redis) โ โ
โ โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ โโโโโโโโฌโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SearXNG Container โ โ
โ โ (40+ Search Engines: Google, โ โ
โ โ Bing, DuckDuckGo, Wikipedia, โ โ
โ โ arXiv, GitHub, StackOverflow...) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
API Endpoints
| Endpoint | Beschreibung |
|---|---|
POST /api/v1/search | Web-Suche mit Kategorien/Engines |
POST /api/v1/extract | Content-Extraktion von URLs |
POST /api/v1/extract/bulk | Bulk-Extraktion |
GET /health | Health Check |
GET /metrics | Prometheus Metrics |
Search Categories
| Kategorie | Engines |
|---|---|
general | Google, Bing, DuckDuckGo |
news | Google News, Bing News |
science | arXiv, PubMed, Semantic Scholar |
it | GitHub, StackOverflow, MDN |
images | Google Images, Bing Images |
videos | YouTube, Vimeo |
Content Extraction
- Readability-basierte Extraktion
- Markdown-Konvertierung
- Metadata-Extraktion (Titel, Autor, Datum)
- Redis-Caching fรผr Performance
Matrix Client Phase 2
Signifikante Erweiterung des SvelteKit Matrix Clients.
Neue Features
apps/matrix/apps/web/src/lib/
โโโ components/chat/
โ โโโ CreateRoomDialog.svelte # Raum erstellen
โ โโโ RoomSettingsPanel.svelte # Raum-Einstellungen
โ โโโ Message.svelte # + Reply, Edit, Delete
โ โโโ MessageInput.svelte # + File Upload
โโโ matrix/
โ โโโ store.svelte.ts # + Media, Reactions
File Upload & Media:
| Feature | Beschreibung |
|---|---|
| Bild-Upload | Mit Thumbnail-Preview |
| Video-Upload | Streaming-Support |
| Audio-Upload | Voice Messages |
| File-Download | Fรผr alle Dateitypen |
Message Actions:
| Action | Beschreibung |
|---|---|
| Reply | Mit Quote-Preview |
| Edit | Eigene Nachrichten bearbeiten |
| Delete | Nachrichten redaktieren |
| React | Emoji-Reaktionen |
Room Management:
| Feature | Beschreibung |
|---|---|
| Create Room | DM oder Gruppe |
| User Search | Zum Einladen |
| Settings Panel | Mit Member-Liste |
| Leave Room | Raum verlassen |
Bot Gateway Architecture
@manacore/bot-services
Neues Shared Package mit transport-agnostischer Business Logic:
packages/bot-services/
โโโ src/
โ โโโ todo/
โ โ โโโ todo.service.ts # Task CRUD, Parsing
โ โ โโโ todo.module.ts # NestJS Module
โ โ โโโ types.ts
โ โโโ calendar/
โ โ โโโ calendar.service.ts # Events, Reminders
โ โ โโโ ...
โ โโโ ai/
โ โ โโโ ai.service.ts # Ollama Integration
โ โ โโโ ...
โ โโโ clock/
โ โ โโโ clock.service.ts # Timer, Alarm, World Clock
โ โโโ shared/
โ โโโ storage.ts # File/Memory Provider
โ โโโ utils.ts # Date Parsing (German)
Vorteile:
- Kein Matrix-Code in Services
- Testbar ohne Matrix-Verbindung
- Pluggable Storage (File, Memory, Database)
- Wiederverwendbar in Gateway und Einzelbots
matrix-mana-bot (Gateway)
Unified Bot, der alle Features vereint:
services/matrix-mana-bot/
โโโ src/
โ โโโ bot/
โ โ โโโ matrix.service.ts # Matrix-Verbindung
โ โ โโโ command-router.service.ts # Command Routing
โ โโโ handlers/
โ โ โโโ ai.handler.ts # !model, !all, chat
โ โ โโโ todo.handler.ts # !todo, !list, !done
โ โ โโโ calendar.handler.ts # !cal, !event
โ โ โโโ clock.handler.ts # !timer, !alarm
โ โโโ orchestration/
โ โโโ orchestration.service.ts # Cross-Feature AI
Cross-Feature Commands:
| Command | Beschreibung |
|---|---|
!summary | AI-generierte Tages-Zusammenfassung |
!ai-todo | Todos aus Text extrahieren |
Neue Matrix Bots
matrix-todo-bot
Task-Management via Matrix:
| Command | Beschreibung |
|---|---|
!todo | Neuer Task (mit Prio, Datum, Projekt) |
!list | Alle Tasks anzeigen |
!today | Heutige Tasks |
!done [n] | Task als erledigt markieren |
Syntax: !todo Einkaufen !p1 @morgen #haushalt
matrix-nutriphi-bot
Ernรคhrungs-Tracking via Matrix:
| Command | Beschreibung |
|---|---|
!meal | Mahlzeit loggen |
!today | Heutige Nรคhrwerte |
!goals | Tagesziele anzeigen/setzen |
Voice Transcription via mana-stt fรผr Sprachnachrichten.
matrix-zitare-bot
Tรคgliche Inspirations-Zitate:
| Command | Beschreibung |
|---|---|
!quote | Zufรคlliges Zitat |
!daily | Tรคgliches Zitat aktivieren |
!search | Zitate suchen |
matrix-clock-bot
Timer und Alarme:
| Command | Beschreibung |
|---|---|
!timer 25m | Pomodoro-Timer |
!alarm 7:00 | Wecker stellen |
!time tokyo | Weltzeit |
OIDC Provider
Matrix SSO Integration รผber mana-core-auth:
services/mana-core-auth/
โโโ src/
โ โโโ oidc/
โ โโโ oidc.controller.ts # /oidc/* Endpoints
โ โโโ oidc-routes.ts # Route Mapping
OIDC Endpoints:
| Endpoint | Beschreibung |
|---|---|
/.well-known/openid-configuration | Discovery |
/oidc/jwks | Public Keys |
/oidc/authorize | Authorization |
/oidc/token | Token Exchange |
/oidc/userinfo | User Info |
Synapse Config:
oidc_providers:
- idp_id: manacore
idp_name: 'ManaCore'
issuer: 'https://auth.mana.how'
client_id: 'synapse'
client_secret: '...'
Monitoring Upgrade
VictoriaMetrics + DuckDB
Upgrade der Monitoring-Infrastruktur:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Monitoring Stack โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ VictoriaMetrics โ โ Grafana โ โ DuckDB โ โ
โ โ (Time Series) โ โ (Visualization) โ โ (Analytics) โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Vorteile:
| Aspekt | Prometheus | VictoriaMetrics |
|---|---|---|
| Memory | Hoch | 10x weniger |
| Disk | Hoch | 7x weniger |
| Query Speed | Gut | Besser |
DuckDB Analytics:
- SQL-basierte Analyse
- Parquet Export
- Historical Trends
App Cleanup: Demo Mode
Einheitliche Implementierung von Demo Mode fรผr alle Apps:
Entfernte Features
| App | Entfernt |
|---|---|
| Calendar | Statistics, Heatmap, Network View, Session Events |
| Todo | Statistics, Network View, Session Tasks |
| Contacts | Statistics, Network View, Session Storage |
Demo Mode Pattern
// stores/demo.svelte.ts
export const demoStore = createDemoStore();
// Automatische Demo-Daten beim Start
if (!isAuthenticated) {
demoStore.loadDemoData();
}
Vorteile:
- Einfacherer Code
- Bessere Demo-Experience
- Konsistentes Verhalten
- Production-Ready ohne Session Storage
Weitere Features
Calendar: Google/Apple Sync
apps/calendar/apps/web/src/lib/services/
โโโ calendar-sync/
โ โโโ google-calendar.ts # Google Calendar API
โ โโโ apple-calendar.ts # Apple Calendar API (planned)
โ โโโ sync-manager.ts # Bidirektionale Sync
NutriPhi: Production Ready
- 99 neue Tests (Backend, Web, Shared)
- Error Handling mit deutschen Meldungen
- Loading States und Retry-Buttons
- Settings-Seite mit Tageszielen
Todo: Production Deployment
- deploy:landing:todo Script
- Cloudflare Pages Integration
- Localhost Fallbacks entfernt
Bugfixes
Auth
| Fix | Beschreibung |
|---|---|
| Password Reset | Email Link Handler implementiert |
| OIDC Routes | Korrektes Mapping fรผr Better Auth |
| JWKS Route | Korrekte Pfad-Konfiguration |
| DuckDB | node:20-slim fรผr glibc Kompatibilitรคt |
Matrix
| Fix | Beschreibung |
|---|---|
| Session Lifetime | >= Refresh Token Lifetime |
| Synapse Mounts | Separate Config und Data |
| E2E Warnings | In Element ausgeblendet |
| Env Vars | Hardcoded DB Password (YAML Issue) |
Docker
| Fix | Beschreibung |
|---|---|
| matrix-bot-sdk | Update auf v0.7 API |
| crypto-nodejs | Excluded (Alpine-Fehler) |
| โignore-scripts | Fรผr NPM Builds |
Neue Services
| Service | Port | Typ | Beschreibung |
|---|---|---|---|
| skilltree-backend | 3024 | NestJS | Skill-Tracking API |
| skilltree-web | 5195 | SvelteKit | Skill-Tracking UI |
| questions-backend | 3111 | NestJS | Research Assistant API |
| questions-web | 5111 | SvelteKit | Research Assistant UI |
| mana-search | 3021 | NestJS | Such-Microservice |
| matrix-mana-bot | 3310 | NestJS | Gateway Bot |
| matrix-todo-bot | 3315 | NestJS | Todo Bot |
| matrix-nutriphi-bot | 3316 | NestJS | Nutrition Bot |
| matrix-zitare-bot | 3317 | NestJS | Quotes Bot |
| matrix-clock-bot | 3318 | NestJS | Timer Bot |
Zusammenfassung
| Bereich | Commits | Highlights |
|---|---|---|
| SkillTree | 4 | MVP complete, Backend + Web |
| Questions | 3 | Backend + Web, mana-search Integration |
| Matrix Client | 1 | Phase 2 Features |
| mana-search | 3 | SearXNG, Extraction, Cache |
| Bot Services | 2 | Shared Package + Gateway |
| Matrix Bots | 8 | Todo, NutriPhi, Zitare, Clock |
| OIDC | 6 | Matrix SSO Provider |
| App Cleanup | 8 | Demo Mode, Feature Removal |
| Monitoring | 2 | VictoriaMetrics, DuckDB |
| NutriPhi | 2 | Tests, Production Ready |
| Telegram Bots | 1 | NutriPhi, Todo, Zitare |
| Bugfixes | 15+ | Auth, Matrix, Docker |
| Documentation | 5 | Monitoring, Services, DevLogs |
Nรคchste Schritte
- SkillTree deployen auf Mac Mini
- Questions App testen mit echten Recherchen
- Matrix Bots refactoren um bot-services zu nutzen
- E2EE Support fรผr Matrix Client
- Mobile Apps fรผr SkillTree und Questions
- mana-search mit mehr Engines erweitern
- Gateway Bot produktiv deployen