Initial commit: add .gitignore and README
This commit is contained in:
370
docs/interface_architecture_diagram.md
Normal file
370
docs/interface_architecture_diagram.md
Normal file
@@ -0,0 +1,370 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user