371 lines
23 KiB
Markdown
371 lines
23 KiB
Markdown
# FusionAGI Interface Architecture Diagram
|
|
|
|
## Complete System Architecture (Mermaid)
|
|
|
|
*Below: ASCII version for terminals. This Mermaid diagram renders in GitHub/GitLab and many Markdown viewers.*
|
|
|
|
```mermaid
|
|
flowchart TB
|
|
subgraph admin [Administrator Layer]
|
|
ACP[Admin Control Panel]
|
|
ACP --> VL[Voice Library]
|
|
ACP --> CT[Conversation Tuning]
|
|
ACP --> AC[Agent Config]
|
|
ACP --> SM[System Monitoring]
|
|
ACP --> GP[Governance & Policy]
|
|
ACP --> MAA[MAA Control]
|
|
ACP --> CE[Config Export/Import]
|
|
ACP --> AL[Audit Log]
|
|
end
|
|
|
|
subgraph core [FusionAGI Core]
|
|
Orch[Orchestrator]
|
|
Agents[Agents]
|
|
Memory[Memory]
|
|
Tools[Tools]
|
|
Reasoning[Reasoning]
|
|
Planning[Planning]
|
|
Gov[Governance]
|
|
SI[Self-Improvement]
|
|
end
|
|
|
|
subgraph ui [User Interface Layer]
|
|
MMUI[Multi-Modal UI]
|
|
MMUI --> Text[Text]
|
|
MMUI --> Voice[Voice]
|
|
MMUI --> Visual[Visual]
|
|
MMUI --> Haptic[Haptic]
|
|
MMUI --> Gesture[Gesture]
|
|
MMUI --> Bio[Biometric]
|
|
end
|
|
|
|
admin --> core
|
|
core --> ui
|
|
```
|
|
|
|
## Complete System Architecture (ASCII)
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ ADMINISTRATOR LAYER │
|
|
│ │
|
|
│ ┌────────────────────────────────────────────────────────────────────────┐ │
|
|
│ │ Admin Control Panel │ │
|
|
│ │ │ │
|
|
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
|
|
│ │ │ Voice │ │Conversation │ │ Agent │ │ System │ │ │
|
|
│ │ │ Library │ │ Tuning │ │ Config │ │ Monitoring │ │ │
|
|
│ │ │ │ │ │ │ │ │ │ │ │
|
|
│ │ │ • Add/Edit │ │ • Styles │ │ • Enable/ │ │ • Status │ │ │
|
|
│ │ │ • Voices │ │ • Formality │ │ Disable │ │ • Metrics │ │ │
|
|
│ │ │ • Providers │ │ • Empathy │ │ • Limits │ │ • Tasks │ │ │
|
|
│ │ │ • Default │ │ • Technical │ │ • Retry │ │ • Agents │ │ │
|
|
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
|
|
│ │ │ │
|
|
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
|
|
│ │ │ Governance │ │ MAA │ │ Config │ │ Audit │ │ │
|
|
│ │ │ & Policy │ │ Control │ │ Export/ │ │ Log │ │ │
|
|
│ │ │ │ │ │ │ Import │ │ │ │ │
|
|
│ │ │ • Policies │ │ • MPC Mgmt │ │ • Backup │ │ • Actions │ │ │
|
|
│ │ │ • Access │ │ • Gate │ │ • Restore │ │ • Compliance│ │ │
|
|
│ │ │ • Guardrails│ │ • Machines │ │ • Version │ │ • History │ │ │
|
|
│ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
|
|
│ └────────────────────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
│ Configuration & Control
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ FUSIONAGI CORE SYSTEM │
|
|
│ │
|
|
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
|
|
│ │Orchestrator│ │ Agents │ │ Memory │ │ Tools │ │
|
|
│ │ │ │ │ │ │ │ │ │
|
|
│ │ • Tasks │ │ • Planner │ │ • Working │ │ • Registry │ │
|
|
│ │ • Events │ │ • Reasoner │ │ • Episodic │ │ • Runner │ │
|
|
│ │ • State │ │ • Executor │ │ • Semantic │ │ • Builtins │ │
|
|
│ │ • Routing │ │ • Critic │ │ • Reflect │ │ • Connectors│ │
|
|
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
|
|
│ │
|
|
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
|
|
│ │ Reasoning │ │ Planning │ │Governance │ │Self-Improve│ │
|
|
│ │ │ │ │ │ │ │ │ │
|
|
│ │ • CoT │ │ • Graph │ │ • Guards │ │ • Correct │ │
|
|
│ │ • ToT │ │ • Strategy │ │ • Rate Lim │ │ • Recommend│ │
|
|
│ │ │ │ • Deps │ │ • Access │ │ • Train │ │
|
|
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
│ Task Execution & Events
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ USER INTERFACE LAYER │
|
|
│ │
|
|
│ ┌────────────────────────────────────────────────────────────────────────┐ │
|
|
│ │ Multi-Modal User Interface │ │
|
|
│ │ │ │
|
|
│ │ ┌──────────────────────────────────────────────────────────────────┐ │ │
|
|
│ │ │ Interface Adapters (Pluggable) │ │ │
|
|
│ │ │ │ │ │
|
|
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
|
|
│ │ │ │ Text │ │ Voice │ │ Visual │ │ Haptic │ │ │ │
|
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
|
│ │ │ │ • Chat │ │ • STT │ │ • Images │ │ • Touch │ │ │ │
|
|
│ │ │ │ • Command│ │ • TTS │ │ • Video │ │ • Vibrate│ │ │ │
|
|
│ │ │ │ • Input │ │ • Voices │ │ • AR/VR │ │ • Pattern│ │ │ │
|
|
│ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │
|
|
│ │ │ │ │ │
|
|
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────────────────┐ │ │ │
|
|
│ │ │ │ Gesture │ │Biometric │ │ [Custom Modalities...] │ │ │ │
|
|
│ │ │ │ │ │ │ │ │ │ │ │
|
|
│ │ │ │ • Motion │ │ • Emotion│ │ Extensible architecture │ │ │ │
|
|
│ │ │ │ • Hand │ │ • Heart │ │ for future modalities │ │ │ │
|
|
│ │ │ │ • Track │ │ • Stress │ │ │ │ │ │
|
|
│ │ │ └──────────┘ └──────────┘ └──────────────────────────────┘ │ │ │
|
|
│ │ └──────────────────────────────────────────────────────────────────┘ │ │
|
|
│ │ │ │
|
|
│ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │
|
|
│ │ │ Session │ │ Conversation │ │ Task │ │ │
|
|
│ │ │ Management │ │ Integration │ │ Integration │ │ │
|
|
│ │ │ │ │ │ │ │ │ │
|
|
│ │ │ • User Sessions │ │ • Natural Lang │ │ • Submit Tasks │ │ │
|
|
│ │ │ • Preferences │ │ • Context │ │ • Real-time │ │ │
|
|
│ │ │ • Accessibility │ │ • History │ │ • Feedback │ │ │
|
|
│ │ │ • Statistics │ │ • Style-based │ │ • Notifications │ │ │
|
|
│ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │
|
|
│ └────────────────────────────────────────────────────────────────────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
│
|
|
│ User Interaction
|
|
▼
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ END USER DEVICES │
|
|
│ │
|
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
│ │ Desktop │ │ Mobile │ │ Web │ │ Voice │ │ Wearable│ │
|
|
│ │ App │ │ App │ │ Browser │ │ Assistant│ │ Device │ │
|
|
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|
│ │
|
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
│ │ AR/VR │ │ Smart │ │ Haptic │ │ Gesture │ │ IoT │ │
|
|
│ │ Headset │ │ Speaker │ │ Device │ │ Camera │ │ Devices │ │
|
|
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Data Flow Diagram
|
|
|
|
```
|
|
┌─────────────┐
|
|
│Administrator│
|
|
└──────┬──────┘
|
|
│ 1. Configure system
|
|
│ (voices, styles, agents)
|
|
▼
|
|
┌────────────────────┐
|
|
│ Admin Control Panel│
|
|
└─────────┬──────────┘
|
|
│ 2. Apply configuration
|
|
▼
|
|
┌──────────────────────┐
|
|
│ FusionAGI Core │
|
|
│ • Orchestrator │
|
|
│ • Agents │
|
|
│ • Memory │
|
|
└─────────┬────────────┘
|
|
│ 3. Execute tasks
|
|
│ with configured behavior
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Multi-Modal UI │
|
|
│ • Adapts responses │
|
|
│ • Applies styles │
|
|
│ • Uses voices │
|
|
└─────────┬────────────┘
|
|
│ 4. Multi-sensory output
|
|
▼
|
|
┌──────────────────────┐
|
|
│ End User │
|
|
│ • Sees (visual) │
|
|
│ • Hears (voice) │
|
|
│ • Feels (haptic) │
|
|
│ • Gestures │
|
|
└─────────┬────────────┘
|
|
│ 5. Multi-modal input
|
|
│
|
|
└──────────────┐
|
|
│
|
|
┌──────────────┘
|
|
│
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Multi-Modal UI │
|
|
│ • Receives input │
|
|
│ • Interprets intent │
|
|
│ • Routes to core │
|
|
└─────────┬────────────┘
|
|
│ 6. Process request
|
|
▼
|
|
┌──────────────────────┐
|
|
│ FusionAGI Core │
|
|
│ • Execute task │
|
|
│ • Apply governance │
|
|
│ • Learn & improve │
|
|
└─────────┬────────────┘
|
|
│ 7. Results & feedback
|
|
│
|
|
└──────► (Loop continues)
|
|
```
|
|
|
|
## Component Interaction Flow
|
|
|
|
```
|
|
Admin Panel Core System Multi-Modal UI
|
|
───────────── ────────────── ───────────────
|
|
|
|
Configure Voice ──► Store in Use for TTS
|
|
Profiles VoiceLibrary ──► when responding
|
|
|
|
Set Conversation ──► Apply to Adjust tone,
|
|
Styles ConversationMgr ──► formality, depth
|
|
|
|
Configure Agents ──► Update Agent Affects task
|
|
Behavior ──► execution style
|
|
|
|
Monitor System ◄── Report Status Track user
|
|
& Metrics ◄── interactions
|
|
|
|
Audit Actions ◄── Log Events Log user
|
|
& Changes ◄── activities
|
|
```
|
|
|
|
## Modality Selection Flow
|
|
|
|
```
|
|
User Input Arrives
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Which modality? │
|
|
└────────┬────────┘
|
|
│
|
|
┌────┴────┬────────┬────────┬────────┬────────┐
|
|
│ │ │ │ │ │
|
|
▼ ▼ ▼ ▼ ▼ ▼
|
|
Text Voice Visual Haptic Gesture Biometric
|
|
│ │ │ │ │ │
|
|
└────┬────┴────────┴────────┴────────┴────────┘
|
|
│
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Convert to standard │
|
|
│ InterfaceMessage │
|
|
└─────────┬────────────┘
|
|
│
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Route to Core System │
|
|
└─────────┬────────────┘
|
|
│
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Process & Generate │
|
|
│ Response │
|
|
└─────────┬────────────┘
|
|
│
|
|
▼
|
|
┌──────────────────────┐
|
|
│ Adapt for active │
|
|
│ modalities │
|
|
└─────────┬────────────┘
|
|
│
|
|
┌─────┴─────┬────────┬────────┬────────┐
|
|
│ │ │ │ │
|
|
▼ ▼ ▼ ▼ ▼
|
|
Text Voice Visual Haptic [Others]
|
|
│ │ │ │ │
|
|
└───────────┴────────┴────────┴────────┘
|
|
│
|
|
▼
|
|
User Receives
|
|
Multi-Sensory Output
|
|
```
|
|
|
|
## Extension Points
|
|
|
|
```
|
|
┌────────────────────────────────────────────────────────┐
|
|
│ How to Add New Modality │
|
|
│ │
|
|
│ 1. Create Interface Adapter │
|
|
│ class MyModalityInterface(InterfaceAdapter): │
|
|
│ def capabilities(self): ... │
|
|
│ async def send(self, message): ... │
|
|
│ async def receive(self, timeout): ... │
|
|
│ │
|
|
│ 2. Register with UI │
|
|
│ ui.register_interface(ModalityType.MY_TYPE, │
|
|
│ MyModalityInterface()) │
|
|
│ │
|
|
│ 3. Enable for Sessions │
|
|
│ ui.enable_modality(session_id, │
|
|
│ ModalityType.MY_TYPE) │
|
|
│ │
|
|
│ 4. Content Adaptation (Optional) │
|
|
│ Override _adapt_content() in MultiModalUI │
|
|
│ │
|
|
│ 5. Provider Integration (If needed) │
|
|
│ Add provider-specific code in adapter │
|
|
│ Configure via admin panel │
|
|
└────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
## Security & Governance Flow
|
|
|
|
```
|
|
User Request
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Multi-Modal UI │
|
|
└────────┬────────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Orchestrator │
|
|
└────────┬────────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Governance │
|
|
│ • Guardrails │
|
|
│ • Rate Limit │
|
|
│ • Access Ctrl │
|
|
│ • MAA Gate │
|
|
└────────┬────────┘
|
|
│
|
|
┌────┴────┐
|
|
│ Allowed?│
|
|
└────┬────┘
|
|
│
|
|
┌────┴────┐
|
|
│ Yes │ No ──► Reject & Log
|
|
└────┬────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Execute Task │
|
|
└────────┬────────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ Audit Log │
|
|
│ • Action │
|
|
│ • User │
|
|
│ • Result │
|
|
│ • Timestamp │
|
|
└─────────────────┘
|
|
```
|
|
|
|
This architecture provides a complete, extensible foundation for building rich, multi-sensory user experiences with comprehensive administrative control.
|