wiki/poweron/appdoc/doc_user_applikation.md
2025-09-22 00:39:23 +02:00

382 lines
No EOL
13 KiB
Markdown

# PowerOn AI Platform - Dokumentation
## Inhaltsverzeichnis
1. [Übersicht](#übersicht)
2. [Architektur](#architektur)
3. [Kernmodule](#kernmodule)
4. [Benutzeroberfläche](#benutzeroberfläche)
5. [Datenmodell](#datenmodell)
6. [Multi-Agent Workflow-System](#multi-agent-workflow-system)
7. [Externe Connectors](#externe-connectors)
8. [Installation und Konfiguration](#installation-und-konfiguration)
9. [API-Endpunkte](#api-endpunkte)
10. [Sicherheitskonzept](#sicherheitskonzept)
## Übersicht
Die PowerOn AI Platform ist eine umfassende Anwendung zur Verwaltung und Durchführung von Multi-Agent-Workflows für komplexe Datenanalyse- und Verarbeitungsaufgaben. Die Plattform ermöglicht die Nutzung von verschiedenen AI-Modellen, Web-Scraping und Datenverarbeitung innerhalb einer benutzerfreundlichen Oberfläche.
### Hauptfunktionen
- **Multi-Agent-Workflows**: Koordination verschiedener spezialisierter AI-Agenten für komplexe Aufgaben
- **Web-Scraping**: Integration von Online-Recherche in Workflows
- **Dokumentenverarbeitung**: Analyse und Verarbeitung von Dokumenten und Bildern
- **Workspace-Management**: Organisation von Projekten in Workspaces
- **Benutzerverwaltung**: Mehrstufiges Benutzermanagement mit Mandantenstruktur
- **Modernes Frontend**: Responsive Benutzeroberfläche mit dynamischen Komponenten
## Architektur
Die PowerOn AI Platform ist als modulare Webanwendung mit einer klaren Trennung zwischen Frontend und Backend konzipiert.
### Backend
Das Backend basiert auf FastAPI (Python) und bietet folgende Komponenten:
- **Gateway-Interface**: Zentrale Komponente für Authentifizierung und Mandantenverwaltung
- **LucyDOM-Interface**: Datenbank-Interface für Workspaces, Agenten, Files und Prompts
- **Agent-Service**: Orchestrierung und Ausführung von Multi-Agent-Workflows
- **Connector-Module**: Integration mit externen Diensten (OpenAI, Anthropic, Web-Scraping)
- **JSON-Datenbank**: Lokale Datenspeicherung für Entwicklung und Deployment
### Frontend
Das Frontend wurde mit modernem JavaScript entwickelt:
- **Modularer Aufbau**: Klar strukturierte JS-Module mit ES6-Import/Export
- **Responsive Design**: Anpassungsfähige UI für verschiedene Bildschirmgrössen
- **Dynamische Komponenten**: Flexible UI-Elemente für verschiedene Anwendungsfälle
- **REST-API Integration**: Kommunikation mit dem Backend über standardisierte API-Aufrufe
## Kernmodule
### Gateway-Interface
Das Gateway-Interface (`gateway_interface.py`) ist verantwortlich für:
- Benutzerauthentifizierung und -autorisierung
- Mandantenverwaltung (Multi-Tenant-Architektur)
- Basisinitialisierung der Datenbank
### LucyDOM-Interface
Das LucyDOM-Interface (`lucydom_interface.py`) verwaltet:
- Workspaces und deren Inhalte
- Agenten und deren Konfiguration
- Dateiverwaltung und -zuordnung
- Prompts und Templates
### Agent-Service
Der Agent-Service (`agentservice_interface.py`) orchestriert:
- Ausführung von Multi-Agent-Workflows
- Koordination spezialisierter Agenten über einen Moderator
- Verarbeitung von Dateien und Prompts
- Sammlung und Speicherung von Workflow-Ergebnissen
- Interaktion mit dem Benutzer während eines Workflows
### Connector-Module
Verschiedene Connectors verbinden die Plattform mit externen Diensten:
- **AI-Chat-Connectors**: Integration mit OpenAI/Anthropic für die Agentenverarbeitung
- **Web-Scraping-Connector**: Durchführung von Online-Recherchen
- **DB-Connector**: JSON-basierte Datenspeicherung
## Benutzeroberfläche
Die Benutzeroberfläche ist modular aufgebaut und bietet verschiedene funktionale Bereiche:
### Navigation
- Hierarchische Menüstruktur mit Modulen und Untermenüs
- Workspace-Auswahl und -Verwaltung
- Benutzer- und Mandantenkontextverwaltung
### Module
#### Workspaces
- Erstellung und Verwaltung von Arbeitsbereichen
- Zentrale Organisation für Agenten, Dateien und Prompts
#### Agenten
- Verwaltung verschiedener spezialisierter Agenten
- Konfiguration von Agentenfähigkeiten und -beschreibungen
- Standardagenten: Initialisierung, Organisator, Entwickler, Webscraper, Datenanalyst, Textgenerator, Visualisierer
#### Dateien
- Upload und Verwaltung von Dokumenten und Bildern
- Integration in Workflows für Datenverarbeitung
#### Prompts
- Erstellung und Verwaltung von Template-Prompts
- Wiederverwendung in verschiedenen Workflows
#### Workflow
Das Workflow-Modul ist das Herzstück der Anwendung und ermöglicht:
- Auswahl von Agenten für spezifische Aufgaben
- Eingabe von Prompts und Anweisungen
- Auswahl relevanter Dateien für die Verarbeitung
- Echtzeit-Überwachung des Workflow-Fortschritts
- Interaktion mit dem Workflow während der Ausführung
- Anzeige und Speicherung von Ergebnissen
### Admin-Module
#### Mandantenverwaltung
- Erstellung und Konfiguration von Mandanten (nur für SysAdmin)
- Zuweisung von Standardressourcen für neue Mandanten
#### Benutzerverwaltung
- Erstellung und Verwaltung von Benutzern
- Rechteverwaltung mit drei Stufen: Benutzer, Admin, SysAdmin
## Datenmodell
Die PowerOn AI Platform verwendet ein strukturiertes Datenmodell:
### Mandanten (Mandates)
- **id**: Eindeutige ID
- **name**: Name des Mandanten
- **language**: Standardsprache
- **disabled**: Flag für deaktivierte Mandanten
- **contact_email**: Kontakt-E-Mail
### Benutzer (Users)
- **id**: Eindeutige ID
- **mandate_id**: Zugehöriger Mandant
- **username**: Eindeutiger Benutzername
- **hashed_password**: Gehashtes Passwort (Argon2)
- **email**: E-Mail-Adresse
- **full_name**: Vollständiger Name
- **disabled**: Flag für deaktivierte Benutzer
- **language**: Bevorzugte Sprache
- **privilege**: Berechtigungsstufe (user, admin, sysadmin)
### Workspaces
- **id**: Eindeutige ID
- **mandate_id**: Zugehöriger Mandant
- **user_id**: Ersteller des Workspace
- **name**: Name des Workspace
- **created_at**: Erstellungszeitpunkt
### Agenten (Agents)
- **id**: Eindeutige ID
- **mandate_id**: Zugehöriger Mandant
- **user_id**: Ersteller des Agenten
- **name**: Name des Agenten
- **type**: Typ des Agenten (initialisierung, organisator, entwickler, scraper, usw.)
- **workspace_id**: Zugehöriger Workspace
- **capabilities**: Fähigkeiten des Agenten
- **description**: Beschreibung des Agenten
- **instructions**: Anweisungen für den Agenten
### Dateien (Files)
- **id**: Eindeutige ID
- **mandate_id**: Zugehöriger Mandant
- **user_id**: Hochladender Benutzer
- **name**: Dateiname
- **type**: Dateityp (document, image, usw.)
- **content_type**: MIME-Typ
- **size**: Dateigrösse
- **path**: Speicherort der Datei
- **upload_date**: Hochladezeitpunkt
### Prompts
- **id**: Eindeutige ID
- **mandate_id**: Zugehöriger Mandant
- **user_id**: Ersteller des Prompts
- **content**: Prompt-Text
- **workspace_id**: Zugehöriger Workspace
- **created_at**: Erstellungszeitpunkt
- **name**: Name des Prompts
### Workflows
- **id**: Eindeutige ID (uuid)
- **mandate_id**: Zugehöriger Mandant
- **user_id**: Ausführender Benutzer
- **status**: Status (running, completed, failed, stopped)
- **progress**: Fortschritt (0.0-1.0)
- **started_at**: Startzeitpunkt
- **completed_at**: Abschlusszeitpunkt
- **agent_statuses**: Status der einzelnen Agenten
- **logs**: Ausführungsprotokolle
- **results**: Ergebnisse der Agenten
- **data_stats**: Statistiken zur Datenübertragung
- **chat_history**: Chat-Verlauf zwischen Agenten
## Multi-Agent Workflow-System
Das Multi-Agent-System ist das zentrale Element der PowerOn AI Platform und ermöglicht die Zusammenarbeit verschiedener spezialisierter Agenten.
### Workflow-Ablauf
1. **Initialisierung**: Nutzer wählt Agenten, Files und gibt einen Prompt ein
2. **Moderator-Phase**: Moderator koordiniert den Einsatz verschiedener Agenten
3. **Agentenausführung**: Spezifische Agenten führen ihre Aufgaben aus
4. **Benutzerinteraktion**: Bei Bedarf kann der Benutzer in den Workflow eingreifen
5. **Ergebnissammlung**: Ergebnisse werden aggregiert und gespeichert
### Verfügbare Standardagenten
Die Plattform bietet folgende vordefinierte Agentenrollen:
1. **Initialisierung**: Analysiert Anfragen, plant Aufgaben und beantwortet einfache Fragen
2. **Organisator**: Koordiniert komplexe Anfragen und erstellt strukturierte Arbeitspläne
3. **Entwickler**: Erstellt Programmcode und technische Implementierungen
4. **Webscraper**: Führt Web-Recherchen durch und bereitet Informationen auf
5. **Datenanalyst**: Analysiert Daten, identifiziert Muster und erstellt Berichte
6. **Textgenerator**: Erstellt qualitativ hochwertige Texte in verschiedenen Formaten
7. **Visualisierer**: Erstellt Datenvisualisierungen und visuelle Darstellungen
### User Agent
Ein besonderer Agententyp ist der "User Agent", der Benutzerinteraktionen während eines laufenden Workflows ermöglicht:
- Beantwortung von Fragen des Moderators oder anderer Agenten
- Bereitstellung zusätzlicher Dateien während der Ausführung
- Bestätigung von Ergebnissen oder Anforderung weiterer Analysen
## Externe Connectors
Die Plattform integriert verschiedene externe Dienste:
### AI-Chat-Connectors
- **OpenAI-Connector**: Integration mit OpenAI-API (Standard)
- **Anthropic-Connector**: Alternative Integration mit Anthropic's Claude-Modellen
Diese Connectors bieten:
- Verarbeitung von Text-Prompts
- Verarbeitung von Bildern und multimodalen Inhalten
- Anpassbare Parameter (temperature, max_tokens)
### Web-Scraping-Connector
Der Web-Scraping-Connector ermöglicht:
- Suche nach relevanten Websites basierend auf Keywords
- Extraktion von Inhalten aus Webseiten
- Bewertung und Strukturierung von Online-Informationen
### JSON-DB-Connector
Der JSON-Datenbank-Connector bietet:
- Persistente Datenspeicherung in JSON-Dateien
- Unterstützung für Multi-Tenant-Architektur
- Kontextbasierte Datenfilterung
## Installation und Konfiguration
### Systemanforderungen
- Python 3.8+ für das Backend
- Moderne Browser für das Frontend
- Ausreichend Speicherplatz für Dateiuploads und Datenbank
### Konfiguration
Die Konfiguration erfolgt über eine `config.ini`-Datei mit folgenden Sektionen:
- **Connector_AiOpenai**: API-Schlüssel und Parameter für OpenAI
- **Connector_AiWebscraping**: Parameter für Web-Scraping (Timeout, User-Agent, etc.)
- **Module_AgentserviceInterface**: Parameter für den Agent-Service
## API-Endpunkte
Die PowerOn AI Platform bietet eine umfassende REST-API:
### Authentifizierung
- **POST /api/token**: Login und Token-Generierung
### Benutzer
- **GET /api/user/me**: Informationen zum aktuellen Benutzer
- **GET /api/user**: Liste aller Benutzer (Admin)
- **POST /api/user**: Neuen Benutzer erstellen
- **PUT /api/user/{id}**: Benutzer aktualisieren
- **DELETE /api/user/{id}**: Benutzer löschen
### Mandanten
- **GET /api/mandates**: Liste aller Mandanten (SysAdmin)
- **POST /api/mandates**: Neuen Mandanten erstellen
- **PUT /api/mandates/{id}**: Mandant aktualisieren
- **DELETE /api/mandates/{id}**: Mandant löschen
### Workspaces
- **GET /api/workspaces**: Liste aller Workspaces
- **POST /api/workspaces**: Neuen Workspace erstellen
- **PUT /api/workspaces/{id}**: Workspace aktualisieren
- **DELETE /api/workspaces/{id}**: Workspace löschen
### Agenten
- **GET /api/agents**: Liste aller Agenten
- **POST /api/agents**: Neuen Agenten erstellen
- **PUT /api/agents/{id}**: Agenten aktualisieren
- **DELETE /api/agents/{id}**: Agenten löschen
### Dateien
- **GET /api/files**: Liste aller Dateien
- **POST /api/files/upload**: Datei hochladen
- **GET /api/files/{id}/download**: Datei herunterladen
- **DELETE /api/files/{id}**: Datei löschen
### Prompts
- **GET /api/prompts**: Liste aller Prompts
- **POST /api/prompts**: Neuen Prompt erstellen
- **PUT /api/prompts/{id}**: Prompt aktualisieren
- **DELETE /api/prompts/{id}**: Prompt löschen
### Workflows
- **POST /api/workflows/run**: Workflow starten
- **GET /api/workflows/{id}/status**: Workflow-Status abfragen
- **GET /api/workflows/{id}/logs**: Workflow-Logs abrufen
- **GET /api/workflows/{id}/results**: Workflow-Ergebnisse abrufen
- **POST /api/workflows/{id}/stop**: Workflow stoppen
- **POST /api/workflows/{id}/user-input**: Benutzereingabe senden
## Sicherheitskonzept
Die PowerOn AI Platform implementiert mehrere Sicherheitsebenen:
### Authentifizierung
- **Token-basierte Authentifizierung**: JWT-Tokens für API-Zugriff
- **Sichere Passworthashes**: Argon2-Algorithmus für Passwort-Hashing
- **Automatische Tokenaktualisierung**: Token-Aktualisierung bei Ablauf
### Autorisierung
- **Rollenbasierte Zugriffskontrolle**:
- **User**: Standardbenutzer mit Zugriff auf eigene Ressourcen
- **Admin**: Verwaltung von Benutzern und Ressourcen im eigenen Mandanten
- **SysAdmin**: Vollständige Systemverwaltung und Mandantenverwaltung
### Mandantenisolierung
- **Strikte Datentrennung**: Jeder Mandant hat nur Zugriff auf eigene Daten
- **Kontextbasierte Filterung**: Automatische Filterung von Abfrageergebnissen basierend auf Mandantenzugehörigkeit