AI Pipeline Overview
AI Suite to 149 plików, ~22.6k LOC - największy moduł w Vista.
AI Suite Architecture
Dział zatytułowany „AI Suite Architecture”graph TB subgraph Frontend["AI Suite Frontend (149 files, 22.6k LOC)"] subgraph Engine["Engine Layer"] AIChatContext[AIChatContext] AIChatProvider[AIChatProvider] AssistantHostManager[AssistantHostManager] end
subgraph Hosts["Host Components"] FloatingHost[AIFloatingHost<br/>Orb + Panel] SystemHost[AISystemHost<br/>Full-page] SpecialistHost[AISpecialistHost<br/>Visit context] end
subgraph Hooks["Core Hooks"] useStreamingManager[useStreamingManager<br/>977 LOC] useUnifiedAI[useUnifiedAI<br/>439 LOC] useChatHistory[useChatHistory<br/>318 LOC] useChatSending[useChatSending<br/>380 LOC] end
subgraph UI["UI Components"] InputArea[InputArea<br/>655 LOC] ChatCanvas[AIChatCanvas<br/>1,078 LOC] FloatingOrb[AIFloatingOrb<br/>570 LOC] MessageList[FloatingMessageList] end
subgraph Agents["AI Agents"] NotesAgent[Notes Agent] SuggestionsAgent[Suggestions Agent] VoiceAgent[Voice Agent] end end
subgraph Backend["Rust Backend (40 commands)"] UnifiedAI[unified_ai module] SOAP[soap_generation.rs<br/>24,961 LOC] Chat[chat/service.rs] VectorMemory[vector_memory/] Diagnostics[diagnostics.rs<br/>28,669 LOC] end
Engine --> Hosts Hooks --> Engine UI --> Hooks Agents --> Hooks Hooks --> UnifiedAIAI Rust Commands (40 total)
Dział zatytułowany „AI Rust Commands (40 total)”| Category | Commands |
|---|---|
| Chat | unified_ai_chat, unified_ai_chat_stream, unified_ai_poll_response |
| SOAP | start_soap_generation, get_soap_generation_status, unified_ai_generate_soap |
| Suggestions | unified_ai_generate_suggestions, unified_ai_generate_tasks, unified_ai_generate_differential |
| Memory | get_vista_memory, save_vista_memory, ai_context_vault_* |
| Sessions | ai_chat_session_save, ai_chat_sessions_list, ai_chat_session_load |
| Diagnostics | diagnostics_ai_config, diagnostics_ai_curl, unified_ai_health_check |
Command Distribution
Dział zatytułowany „Command Distribution”pie showData title "Tauri Commands by Module (197 active)" "Visits" : 25 "AI Suite" : 40 "Audio" : 16 "Patients" : 15 "Auth" : 18 "Tasks" : 9 "Calendar" : 10 "Settings" : 12 "Analytics" : 12 "Dictionary" : 7 "Clinical Notes" : 5 "Other" : 28AI Streaming Sequence
Dział zatytułowany „AI Streaming Sequence”sequenceDiagram participant UI as ChatPanel participant Hook as useStreamingManager participant Tauri as Tauri Events participant Rust as unified_ai_chat_stream
UI->>Hook: sendMessage(text) Hook->>Rust: invoke('unified_ai_chat_stream', {requestId}) Hook->>Tauri: listen('ai-stream-token:' + requestId) Hook->>Tauri: listen('ai-stream-complete:' + requestId) Hook->>Tauri: listen('ai-stream-error:' + requestId)
loop Token streaming Rust->>Tauri: emit('ai-stream-token:' + requestId, token) Tauri-->>Hook: onToken(token) Hook->>UI: appendToken(token) end
alt Success Rust->>Tauri: emit('ai-stream-complete:' + requestId) Tauri-->>Hook: onComplete() Hook->>UI: finishMessage() else Error Rust->>Tauri: emit('ai-stream-error:' + requestId, error) Tauri-->>Hook: onError(error) Hook->>UI: showError() end
Hook->>Tauri: unlisten(all listeners)Unified AI - Provider Failover
Dział zatytułowany „Unified AI - Provider Failover”Vista implementuje zaawansowany system AI z automatycznym failover:
sequenceDiagram participant UI as Frontend UI participant UAI as Unified AI Client participant SR as Service Resolver participant LIB as LibraxisAI Cloud participant MLX as Local MLX participant OAI as OpenAI API
UI->>UAI: AI Request (transcribe/chat/generate) UAI->>SR: Resolve Provider Chain
Note over SR: Provider Priority:<br/>1. LibraxisAI<br/>2. Local MLX<br/>3. OpenAI
SR->>LIB: Try Primary (LibraxisAI) alt LibraxisAI Success LIB->>SR: Response + Metrics SR->>UAI: Success UAI->>UI: Result else LibraxisAI Failure SR->>MLX: Try Secondary (MLX) alt MLX Success MLX->>SR: Response SR->>UAI: Success UAI->>UI: Result else MLX Failure SR->>OAI: Try Tertiary (OpenAI) OAI->>SR: Response SR->>UAI: Success UAI->>UI: Result end endSOAP Generation Pipeline
Dział zatytułowany „SOAP Generation Pipeline”Audio Recording ↓Speech-to-Text (Whisper) ↓Medical Context Analysis (LLM) ↓SOAP Structure Generation ↓Human Review & Approval