diff --git a/README.md b/README.md index dcb78f5..b79f444 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ ## ✨ Features ### 🎭 Role System (Neu!) -- **8 Unique Characters**: DumboSQL, SnakePy, KungfuTaube, etc. -- **Role-Based Chat**: Dedizierte Chat-Interfaces für jede Rolle. -- **Syntax Highlighting**: Code-Blöcke werden automatisch hervorgehoben. +- **15 Unique Characters**: Von **DeepBit** (System Octopus) über **Prof. Eule** bis **Schraubaer**. +- **Role-Based Chat**: Dedizierte Chat-Interfaces für jede Rolle mit individueller Persona. +- **Memory & RAG**: Rollen haben Zugriff auf das "Nullfeld" (Wissensdatenbank) und erinnern sich an Kontext. - **Mock Code Execution**: Simulierte Code-Ausführung für Python/PHP. - **History Export**: Chat-Verläufe als JSON exportieren. @@ -17,58 +17,83 @@ - **Group-Based Access**: Unterschiedliche Ansichten für Home, Demo und Admin. ### 🤖 RAG & Core -- **Document Auto-Indexing**: Markdown-Dateien werden automatisch indexiert. -- **Semantic Search**: Durchsuche Dokumentation via Embeddings. -- **Multi-Provider**: OpenAI, Anthropic Claude, OpenRouter. +- **Document Auto-Indexing**: Markdown-Dateien werden automatisch in **Qdrant** indexiert. +- **Deep Memory**: Semantische Suche ermöglicht komplexes Kontext-Verständnis (z.B. "Was ist das Nullfeld?"). +- **Multi-Provider**: Support für OpenAI, Anthropic Claude, Google Gemini und OpenRouter. ## 🚀 Quick Start Das System läuft vollständig in Docker. -### 1. Starten -```bash -./start.sh -``` -*Startet alle Container (App, DB, Qdrant).* +### 1. Setup & Start +Der `setup.sh` Script kümmert sich um alles (Environment, Docker Build, Start): -### 2. Setup (Einmalig) ```bash -python3 setup_demo_user.py +./setup.sh ``` -*Richtet den Demo-User mit korrekter Gruppe und Theme ein.* -### 3. Loslegen -Öffne **[http://localhost:8000](http://localhost:8000)** +### 2. Loslegen + +Nach dem Start sind folgende Services erreichbar: + +- **Web App**: [http://localhost:8000](http://localhost:8000) +- **Qdrant UI**: [http://localhost:6333/dashboard](http://localhost:6333/dashboard) **Login Credentials:** -- **User**: `demo@crumb.local` -- **Pass**: `demo123` + +| User | Email | Password | Rolle | +|------|-------|----------|-------| +| **Admin** | `admin@crumb.local` | `admin123` | Vollzugriff, Terminal, RAG Config | +| **Demo** | `demo@crumb.local` | `demo123` | Chat, Rollen, Suche | + +--- + +## 🧪 Testing + +Das Projekt enthält eine umfangreiche Test-Suite, gesteuert über `test.sh`. + +```bash +./test.sh +``` + +**Optionen:** +1. **Quick Test**: Health-Checks und API-Erreichbarkeit. +2. **Integration Test**: Der volle Flow: + - Erstellt Kind & Tagebucheintrag (Python auf Host) + - Indiziert den Eintrag via FastAPI in Qdrant + - Prüft semantische Suche und RAG-Antworten + - *Requires: Python 3 in lokaler Umgebung (wird via `.venv` automatisch eingerichtet)* --- ## 📂 Project Structure -- `crumbforest_config.json` - Zentrale Konfiguration für Rollen & Themes. -- `app/routers/crumbforest_roles.py` - Backend Logik für das Rollensystem. -- `app/templates/crumbforest/` - Frontend Templates (Dashboard, Chat). -- `docs/` - Dokumentation und RAG-Quellen. +- `crumbforest_config.json` - Zentrale Konfiguration für alle 15 Rollen & Themes. +- `app/routers/` - FastAPI Endpoints (Auth, Chat, RAG). +- `app/services/` - Business Logic (RAG Service, Provider Factory). +- `compose/` - Docker Configuration (`docker-compose.yml`, `.env`). +- `docs/` - Dokumentation und RAG-Quellen (Markdowns). +- `tests/` - Python Integration Tests. ## 🔧 Configuration -Die Konfiguration erfolgt über `.env` (Secrets) und `crumbforest_config.json` (Logik). +Die Konfiguration erfolgt über zwei Ebenen: + +1. **Secrets (`compose/.env`)**: API Keys, Passwörter, Hostnames. +2. **App Config (`crumbforest_config.json`)**: Rollen-Definitionen, Prompts, UI-Themes. **Wichtige Env-Vars:** ```bash OPENROUTER_API_KEY=sk-or-... -APP_SECRET=... -MARIADB_PASSWORD=... +MARIADB_ROOT_PASSWORD=... +# Ports werden in docker-compose.yml verwaltet (App: 8000, DB: 3306, Qdrant: 6333) ``` ## 📖 Dokumentation -- **[walkthrough.md](walkthrough.md)** - Detaillierte Tour durch das neue System. +- **[walkthrough.md](walkthrough.md)** - Detaillierte Tour durch die letzten Änderungen. - **[DATA_PRIVACY_LOCATION.md](DATA_PRIVACY_LOCATION.md)** - Datenschutz-Infos. -- **[QUICKSTART.md](QUICKSTART.md)** - (Legacy) RAG API Beispiele. +- **[test.sh](test.sh)** - Das zentrale Test-Script. ## 🦉 Happy Coding! @@ -76,4 +101,3 @@ MARIADB_PASSWORD=... **Lizenz**: MIT License **Kontakt**: OZM / Crumb B. -