diff --git a/poweron/Instanzen/README.md b/poweron/Instanzen/README.md index 8fae86f..763c651 100644 --- a/poweron/Instanzen/README.md +++ b/poweron/Instanzen/README.md @@ -1 +1,2 @@ Dieses Verzeichnis ist für die verschiedenen Instanzenübersichten. Zum Bearbeiten .drawio-Datei herunterladen und auch https://draw.io bearbeiten. Dann als .svg-Datei exportieren mit dem Namen "Instanzenübersicht_YYYYMMTT.svg", wobei das aktuelle Datum im Titel benutzt werden soll. So hat man eine Sammlung der verschiedenen Versionen. +Wo sehe ich, welche Instanz welche Version hat? \ No newline at end of file diff --git a/poweron/status.html b/poweron/status.html new file mode 100644 index 0000000..51f15cb --- /dev/null +++ b/poweron/status.html @@ -0,0 +1,717 @@ + + + + + + PowerOn AI Platform - Status Update + + + +
+
+

🚀 PowerOn AI Platform

+
Status Update - 10 Minuten Übersicht
+
+
+
+
+ 90% Fertigstellung - System funktionsfähig, finale Testphase
+ Die letzten 10% beanspruchen 4-6 Wochen +
+
+ +
+ +
+ + + +
+ + +
+
+

🎯 Executive Summary

+

Das methodenbasierte AI-Agenten-Chat-System ist zu 90% fertiggestellt und befindet sich in der finalen Testphase. Die Kernfunktionalität ist implementiert, UI stabilisiert und alle Methoden sind funktionsfähig. Das System ist technisch bereit - wir optimieren nur noch die Stabilität und Performance für den Produktiveinsatz.

+
+ +
+
+
+
+

Backend (Gateway)

+
+
+ 100% abgeschlossen
+ • 8 spezialisierte Methoden implementiert
+ • Workflow-Management mit Task-Orchestrierung
+ • ServiceCenter für dynamische Methoden-Entdeckung
+ • Vollständige API mit allen Routen
+ • Multi-Provider AI-Integration +
+
+ +
+
+
+

Frontend

+
+
+ 95% abgeschlossen
+ • JavaScript-Frontend: Pilot-Version (95% fertig)
+ • React-Frontend: Laufend nachgezogen
+ • 11 spezialisierte Module
+ • Workflow-UI (1.700+ Zeilen)
+ • Responsive Design
+ • MSFT/Google OAuth Integration +
+
+ +
+
+
🔄
+

Workflow-Testing

+
+
+ 80% abgeschlossen
+ • Task-Erstellung ✅
+ • Action-Execution ✅
+ • IN BEARBEITUNG: End-to-End Workflows
+ • AUSSTEHEND: Performance-Tests
+
+ Kernthemen zu lösen:
+ • Reibungsloser Handover von Dokumenten zwischen Schritten
+ • Stabilität der dynamischen Methoden (KI-gesteuert) +
+
+ +
+
+
+

Go-Live Vorbereitung

+
+
+ 30% abgeschlossen
+ • Sicherheitsvalidierung
+ • Performance-Optimierung
+ • Dokumentation
+ • Deployment-Pipeline +
+
+
+ +
+

📅 Verbleibende Schritte zum Go-Live (6 Wochen)

+ +
+
+
+
Woche 1-2 (Kritisch)
+
+ 1. Workflow-Testing abschließen - End-to-End-Tests vervollständigen
+ 2. Frontend-Finish - State Machine, Prompt in laufenden Chat, Multiple User Connections Microsoft/Google robust +
+
+
+ +
+
+
+
Woche 3
+
+ 3. Sicherheitsvalidierung - Input Validation, Authentication
+ 4. Performance-Optimierung
+ 5. Dokumentation - API-Docs, User Guide +
+
+
+ +
+
+
+
Woche 4
+
+ 6. End-to-End Integration Tests - Vollständige Workflow-Ketten
+ 7. Performance & Stabilität - Produktions-System stabilisieren +
+
+
+ +
+
+
+
Woche 5-6 (User Tests im ValueOn Team)
+
+ 8. Test "Bewerbungsdossiers prüfen" und Chatbot "Produktedaten"
+ 9. Go-Live +
+
+
+
+ +
+

🎯 Go-Live-Kriterien

+
+
+
+ Alle Methoden funktionsfähig +
+
+
+ Workflow-Engine stabil +
+
+
+ Frontend-Integration abgeschlossen +
+
+
!
+ Workflow-Tests erfolgreich +
+
+
!
+ Sicherheitsvalidierung bestanden +
+
+
!
+ Performance-Kriterien erfüllt +
+
+
+ +
+

⏱️ Zeitplan (6 Wochen)

+
    +
  • Woche 1-2: Workflow-Testing & Frontend-Finish (State Machine, Chat, Connections)
  • +
  • Woche 3: Sicherheit, Performance & Dokumentation
  • +
  • Woche 4: Finale Tests & Produktions-System stabilisieren
  • +
  • Woche 5-6: User Tests im ValueOn Team & Go-Live
  • +
  • Go-Live aktuelle Prognose: Ende September 2025
  • +
+
+
+ + +
+
+

🔍 Technische Details

+

Detaillierte Übersicht über die implementierten Komponenten und deren Funktionalität.

+
+ +
+

🔄 Chat-Workflow Ablauf

+
+
1
+
+
User Input & Prompt
+
Benutzer gibt Anfrage ein, wählt Agenten und lädt Dokumente hoch
+
+
+
+
2
+
+
Task Plan Generation
+
AI erstellt strukturierten Arbeitsplan mit spezifischen Tasks
+
+
+
+
3
+
+
Document Extraction
+
Automatische Extraktion und Chunking von Dokumenten (PDF, Office, etc.)
+
+
+
+
4
+
+
Action Execution
+
Spezialisierte Methoden führen Tasks aus (Web, SharePoint, AI, etc.)
+
+
+
+
5
+
+
Document Generation
+
Erstellung neuer Dokumente basierend auf den Ergebnissen
+
+
+
+
6
+
+
Result Aggregation
+
Zusammenführung aller Ergebnisse und Handover zwischen Schritten
+
+
+
+ +
+

🏗️ ServiceCenter Übersicht

+

Das ServiceCenter ist die zentrale Komponente für die dynamische Methoden-Entdeckung und -Ausführung:

+
    +
  • Dynamische Methoden-Entdeckung: Reflection-basierte Erkennung aller verfügbaren Services
  • +
  • Einheitliche Schnittstelle: Standardisierte API für alle Methoden
  • +
  • Dokumenten-Management: Zentrale Verwaltung von Uploads, Extraktion und Chunking
  • +
  • AI-Call-Interface: Integration mit verschiedenen AI-Providern (OpenAI, Anthropic, lokale Modelle)
  • +
  • Task-Orchestrierung: Koordination der Ausführung von komplexen Workflows
  • +
+
+ +
+

⚙️ Verfügbare Methoden & Actions

+
+
+

🌐 Web-Recherche

+
    +
  • Web-Scraping
  • +
  • Suchmaschinen-Integration
  • +
  • Content-Extraktion
  • +
+
+
+

📁 SharePoint

+
    +
  • Dokumenten-Management
  • +
  • Suche & Indexierung
  • +
  • Schreib-Operationen
  • +
+
+
+

📧 Outlook

+
    +
  • E-Mail-Verwaltung
  • +
  • Ordner-Management
  • +
  • Kalender-Integration
  • +
+
+
+

📄 Dokumente

+
    +
  • PDF, Office, Bilder
  • +
  • AI-basierte Extraktion
  • +
  • Intelligentes Chunking
  • +
+
+
+

🤖 AI-Integration

+
    +
  • Multi-Provider Support
  • +
  • Prompt-Engineering
  • +
  • Kontext-basierte Antworten
  • +
+
+
+

📊 Excel-Verarbeitung

+
    +
  • Datenanalyse
  • +
  • Visualisierung
  • +
  • Berichterstattung
  • +
+
+
+
+
+ + +
+
+

🚀 Zukünftige Entwicklungen

+

Roadmap für die nächsten Entwicklungsphasen nach dem Go-Live.

+
+ +
+
+
+
🔮
+

Workflow Manager

+
+
+ Phase 2 (Q4 2025)
+ • Workflow Modellierung
+ • Visueller Workflow-Designer
+ • Template-Bibliothek +
+
+ +
+
+
🔗
+

Kunden-Integration

+
+
+ Phase 3 (Q1 2026)
+ • Voice Integration mit SPITCH
+ • Nahtlose Integration in Kundensysteme
+ • My-Connectors für ERP/CRM
+ • Business Intelligence Tools +
+
+ +
+
+
+

Automatisierung

+
+
+ Phase 4 (Q2 2026)
+ • Automatisierte Workflows mit Triggers
+ • Event Handler Integration
+ • Scheduled Tasks
+ • Proaktive Benachrichtigungen +
+
+ +
+
+
🌍
+

Skalierung

+
+
+ Phase 5 (Q3+4 2026)
+ • Multi-Tenant Architektur
+ • Internationale Expansion
+ • Agenten-Marktplatz
+ • Branchenspezifische Lösungen +
+
+
+ +
+

🎯 My-Connectors Vision

+

Die My-Connectors werden es Kunden ermöglichen, PowerOn nahtlos in ihre bestehenden Systeme zu integrieren:

+
    +
  • ERP/CRM Integration: Direkte Verbindung zu SAP, Salesforce, Microsoft Dynamics
  • +
  • Cloud-Services: Integration mit AWS, Azure, Google Cloud
  • +
  • Datenbanken: Verbindung zu SQL, NoSQL, Graph-Datenbanken
  • +
  • API-Management: Einheitliche Schnittstelle für alle externen Systeme
  • +
  • Custom Connectors: Kundenspezifische Integrationen über SDK
  • +
+
+
+
+ + +
+ + + + diff --git a/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf b/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf new file mode 100644 index 0000000..52d1d4b Binary files /dev/null and b/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf differ diff --git a/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf b/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf new file mode 100644 index 0000000..de94668 Binary files /dev/null and b/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf differ diff --git a/spitch/spitch_integration_specification.html b/spitch/spitch_integration_specification.html new file mode 100644 index 0000000..0f3b17f --- /dev/null +++ b/spitch/spitch_integration_specification.html @@ -0,0 +1,863 @@ + + + + + + Spitch.ch Integration Technical Specification - PowerOn Platform + + + + +
+

Spitch.ch Integration Technical Specification

+

PowerOn Platform | Version 1.0 | Date: August 2025

+ +
+

📋 Executive Summary

+

Technical specification for integrating spitch.ch telephone service into PowerOn platform. Enables external customers to call companies via phone, interact with AI using mandate-specific data, and stores call transcripts in PowerOn database.

+
+ +

1. Project Overview

+ +

1.1 Integration Scope

+ + +

1.2 Service Logic Summary

+ +

PowerOn Side:

+ + +

Spitch.ch Side:

+ + +

1.3 Product Manager View - Customer Journey

+
+

🎯 Streamlined Customer Journey (Confirmed by Spitch PM Vadim)

+
    +
  1. Customer Registration: Customer registers with PowerOn for telephone service with company profile
  2. +
  3. Initial Setup: Initially manual, final workflow-driven where customer drops documents into the box and provides links and text fragments
  4. +
  5. Integration: This becomes another connector like Outlook or SharePoint
  6. +
  7. Profile Transfer: PowerOn sends new customer profile to Spitch
  8. +
  9. Technical Setup: Spitch initializes customer and creates technical SIP number
  10. +
  11. Call Forwarding: Customer sets up call forwarding to the technical number (can remove anytime if issues arise - ensuring BCM safety)
  12. +
  13. Document Generation: PowerOn AI generates documents for Spitch (already active, document content extraction engine)
  14. +
  15. Ready State: Customer can switch their phone number to the technical number (SIP) anytime, saving telephony costs
  16. +
+
+ +

1.4 Data Synchronization Approach

+
+

🔄 Data Flow Strategy (Confirmed by Spitch PM Vadim)

+ +
+ +

2. System Architecture Overview

+ +
+ graph TB + subgraph "External Services" + SP[spitch.ch Service] + AI[AI Conversation Engine] + end + + subgraph "PowerOn Platform" + subgraph "API Layer" + SR[Spitch Router] + MR[Mandate Router] + UR[User Router] + AR[Auth Router] + end + + subgraph "Business Logic" + SM[Spitch Manager] + MM[Mandate Manager] + UM[User Manager] + AM[Auth Manager] + end + + subgraph "Data Layer" + DB[(JSON Database)] + CD[Customer Data] + CT[Call Transcripts] + MD[Mandates] + US[Users] + end + + subgraph "Frontend" + UI[User Interface] + MM_UI[Mandate Management] + UM_UI[User Management] + CT_UI[Call Transcripts] + end + end + + SP --> SR + AI --> SR + SR --> SM + SM --> DB + MM --> DB + UM --> DB + AM --> DB + UI --> MM_UI + UI --> UM_UI + UI --> CT_UI +
+ +

3. Data Models

+ +

3.1 Enhanced Mandate Model

+
+class Mandate(BaseModel, ModelMixin): + id: str = Field(default_factory=lambda: str(uuid.uuid4())) + name: str = Field(description="Name of the mandate") + language: str = Field(default="en", description="Default language") + enabled: bool = Field(default=True, description="Mandate status") + spitch_enabled: bool = Field(default=False, description="Spitch service enabled") + spitch_config: Optional[Dict[str, Any]] = Field(default=None, description="Spitch configuration") + created_at: datetime = Field(default_factory=datetime.now) + modified_at: datetime = Field(default_factory=datetime.now) + created_by: str = Field(default="") + modified_by: str = Field(default="") +
+ +

3.2 Spitch Customer Data Model

+
+class SpitchCustomerData(BaseModel, ModelMixin): + id: str = Field(default_factory=lambda: str(uuid.uuid4())) + mandateId: str = Field(description="Associated mandate ID") + customer_general: Dict[str, Any] = Field(description="General customer information") + customer_staff: List[Dict[str, Any]] = Field(description="Staff information") + customer_service: List[Dict[str, Any]] = Field(description="Service information") + customer_faq: List[Dict[str, Any]] = Field(description="FAQ data") + mandates: List[Dict[str, Any]] = Field(description="List of customer mandates with data about main topics") + contacts: List[Dict[str, Any]] = Field(description="List of contacts with phone numbers and references to mandates") + last_updated: datetime = Field(default_factory=datetime.now) + created_by: str = Field(description="User ID who created the data") + modified_by: str = Field(description="User ID who last modified the data") +
+ +

3.3 Call Transcript Model

+
+class CallTranscript(BaseModel, ModelMixin): + id: str = Field(default_factory=lambda: str(uuid.uuid4())) + mandateId: str = Field(description="Associated mandate ID") + start_datetime: datetime = Field(description="Call start time") + finish_datetime: datetime = Field(description="Call end time") + caller_phone: str = Field(description="Caller's phone number") + recipient_phone: str = Field(description="Recipient's phone number") + transcript_text: str = Field(description="Call transcript content") + subject: str = Field(description="Call subject/topic") + tags: List[str] = Field(default_factory=list, description="Call tags") + spitch_call_id: str = Field(description="External spitch call identifier") + created_at: datetime = Field(default_factory=datetime.now) + created_by: str = Field(default="") +
+ +

3.4 Data Flow Diagram

+
+ sequenceDiagram + participant S as spitch.ch + participant P as PowerOn API + participant D as Database + participant F as Frontend + + Note over S,D: Customer Data Retrieval + S->>P: GET /api/spitch/customer-data/{mandateId} + P->>D: Query customer data + D->>P: Return customer data + P->>S: Customer data response + + Note over S,D: Call Transcript Storage + S->>P: POST /api/spitch/transcript + P->>D: Store call transcript + D->>P: Confirmation + P->>S: Success response + + Note over F,D: Frontend Management + F->>P: GET /api/mandates + P->>D: Query mandates + D->>P: Return mandates + P->>F: Mandates data + F->>P: GET /api/users + P->>D: Query users + D->>P: Return users + P->>F: Users data +
+ +

4. Pilot Customer Data

+ +

4.1 Initial Pilot Customers

+
+

Pilot Customer 1: ValueOn AG

+ + +

Pilot Customer 2: PamoCreate AG

+ +
+ +

4.2 Pilot Customer Setup Requirements

+ + +

5. Spitch.ch Service Perspective

+ +

5.1 Data Received from PowerOn per Customer/Mandate

+
+{ + "mandateId": "uuid-string", + "customer_general": { + "company_name": "Company Name", + "industry": "Industry Type", + "contact_info": { + "email": "contact@company.com", + "phone": "+41 123 456 789", + "address": "Company Address" + }, + "business_hours": "9:00-17:00", + "timezone": "Europe/Zurich" + }, + "customer_staff": [ + { + "name": "Staff Member Name", + "role": "Position/Role", + "department": "Department", + "contact": "+41 123 456 789", + "expertise": ["Area 1", "Area 2"] + } + ], + "customer_service": [ + { + "service_name": "Service Name", + "description": "Service Description", + "pricing": "Price Information", + "availability": "Availability Details", + "requirements": ["Requirement 1", "Requirement 2"] + } + ], + "customer_faq": [ + { + "question": "Frequently Asked Question", + "answer": "Standard Answer", + "category": "Question Category", + "keywords": ["keyword1", "keyword2"] + } + ], + "mandates": [ + { + "mandate_id": "uuid-string", + "name": "Mandate Name", + "main_topics": ["Topic 1", "Topic 2", "Topic 3"], + "description": "Mandate description", + "status": "active", + "priority": "high" + } + ], + "contacts": [ + { + "name": "Contact Person Name", + "phone_number": "+41 123 456 789", + "email": "contact@company.com", + "role": "Contact Role", + "mandate_references": ["uuid-string-1", "uuid-string-2"], + "is_primary": true + } + ] +} +
+ +

5.2 Data Delivered to PowerOn per Call

+
+{ + "mandateId": "uuid-string", + "start_datetime": "2025-01-15T10:30:00Z", + "finish_datetime": "2025-01-15T10:45:00Z", + "caller_phone": "+41 987 654 321", + "recipient_phone": "+41 123 456 789", + "transcript_text": "Full conversation transcript...", + "subject": "Service Inquiry", + "tags": ["service", "inquiry", "new-customer"], + "spitch_call_id": "spitch-call-uuid-123" +} +
+ +

5.3 Call Processing Workflow

+
    +
  1. Customer calls spitch.ch service
  2. +
  3. spitch.ch identifies mandate based on phone number
  4. +
  5. spitch.ch requests customer data from PowerOn API
  6. +
  7. AI uses customer data for personalized conversation
  8. +
  9. Call concludes, transcript generated
  10. +
  11. spitch.ch sends transcript to PowerOn for storage
  12. +
+ +

6. API Endpoints

+ +

6.1 Spitch Router Endpoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EndpointMethodDescriptionAuthenticationRate Limit
/api/spitch/customer-data/{mandateId}GETRetrieve customer data for a specific mandateAPI Key100/minute
/api/spitch/customer-data/{mandateId}?since={date}GETRetrieve changed customer data since specific dateAPI Key100/minute
/api/spitch/transcriptPOSTStore call transcript for a mandateAPI Key50/minute
+ +

6.2 Enhanced Mandate Endpoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EndpointMethodDescriptionAuthentication
/api/mandates/{mandateId}/spitch-configPUTUpdate spitch configuration for mandateJWT (Admin/SysAdmin)
/api/mandates/{mandateId}/customer-dataGETGet customer data for mandateJWT
/api/mandates/{mandateId}/customer-dataPUTUpdate customer data for mandateJWT (Admin/SysAdmin)
+ +

7. Security Implementation

+ +

7.1 API Key Authentication

+
+# New security middleware for spitch endpoints +class SpitchAPIKeyAuth: + def __init__(self, api_keys: List[str]): + self.api_keys = set(api_keys) + + async def __call__(self, request: Request): + api_key = request.headers.get("X-API-Key") + if not api_key or api_key not in self.api_keys: + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail="Invalid API key" + ) + return api_key +
+ +

7.2 Rate Limiting

+ + +

7.3 Mandate Isolation

+ + +

8. Frontend Implementation

+ +

8.1 Enhanced Mandate Management UI

+
+ graph LR + subgraph "Mandate Management" + ML[Mandate List] + MF[Mandate Form] + SC[Spitch Config] + CD[Customer Data] + end + + subgraph "User Management" + UL[User List] + UF[User Form] + UP[User Permissions] + CP[Call Permissions] + end + + subgraph "Call Transcripts" + CTL[Transcript List] + CTF[Transcript Filter] + CTV[Transcript View] + CTA[Transcript Analytics] + end + + ML --> MF + MF --> SC + MF --> CD + UL --> UF + UF --> UP + UP --> CP + CTL --> CTF + CTF --> CTV + CTV --> CTA +
+ +

8.2 New UI Components

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ComponentFileDescriptionDependencies
SpitchConfigPaneljs/modules/spitchConfig.jsMandate spitch configuration managementformGeneric.js, apiCalls.js
CustomerDataManagerjs/modules/customerData.jsCustomer data CRUD operationsformGeneric.js, apiCalls.js
CallTranscriptsViewjs/modules/callTranscripts.jsCall transcript display and filteringformGeneric.js, apiCalls.js
UserCallPermissionsjs/modules/userCallPermissions.jsUser permissions for call data accessformGeneric.js, apiCalls.js
+ +

9. Implementation Sprints

+ +
+

Sprint 1: Backend Foundation (2 weeks)

+ +

Package Price: 18,000 CHF

+ +

Sprint 2: Core API Implementation (2 weeks)

+ +

Package Price: 20,000 CHF

+ +

Sprint 3: Frontend Development (2 weeks)

+ +

Package Price: 22,000 CHF

+ +

Sprint 4: Testing & Integration (2 weeks)

+ +

Package Price: 20,000 CHF

+
+ +

10. Project Pricing

+ +
+

Sprint Package Pricing

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SprintDurationPackage Price (CHF)Description
Sprint 12 weeks18,000Backend Foundation
Sprint 22 weeks20,000Core API Implementation
Sprint 32 weeks22,000Frontend Development
Sprint 42 weeks20,000Testing & Integration
Total Project8 weeks80,000Complete Integration
+ +

Investment Schedule

+ + +

Project Scope

+ +
+ +

11. Risk Assessment

+ +

11.1 Technical Risks

+ + +

11.2 Mitigation Strategies

+ + +

12. Success Metrics

+ +

12.1 Technical Metrics

+ + +

12.2 Business Metrics

+ + +

13. Conclusion

+ +

The spitch.ch integration extends PowerOn platform capabilities for external telephone service integration while maintaining existing security and mandate isolation principles. Implementation follows established patterns and leverages existing infrastructure for maintainability and scalability.

+ +

Total project cost: CHF 80,000 for complete integration delivered in 8 weeks across 4 sprints.

+ +

14. Project Status & Next Steps

+ +
+

📞 Final Q&A Session Results (Spitch PM Vadim)

+

Status: All questions clarified and requirements confirmed. Project is ready to proceed.

+
+ +

14.1 Confirmed Requirements

+ + +

14.2 Next Steps Timeline

+
+
    +
  1. This Week: Spitch team calculates costs and timeline
  2. +
  3. Next Week: Vadim informs Alexey for implementation decision
  4. +
  5. Following Week: Call with Dominic and Alexey for launch approval
  6. +
+
+ +

14.3 Key Benefits Confirmed

+ + +
+

📞 Next Steps

+
    +
  1. Review technical specification
  2. +
  3. Establish development timeline
  4. +
  5. Begin Phase 1 implementation
  6. +
  7. Schedule progress reviews
  8. +
  9. Plan implementation deployment
  10. +
+
+ +
+

+ Document Version: 1.1 | Last Updated: August 2025 | PowerOn Platform Team +

+
+ + + +