README.md
1 <p align="center"> 2 <img src="assets/header.png" alt="Sovereign Dashboard" width="100%"> 3 </p> 4 5 <p align="center"> 6 <strong>Native macOS dashboard for the Sovereign Mesh — AI agents, social graph, and decentralized infrastructure.</strong> 7 </p> 8 9 <p align="center"> 10 <img src="https://img.shields.io/badge/status-beta-cyan?style=flat-square" alt="Beta"> 11 <img src="https://img.shields.io/badge/platform-macOS-blue?style=flat-square" alt="macOS"> 12 <img src="https://img.shields.io/badge/flutter-3.29+-00d4aa?style=flat-square&logo=flutter" alt="Flutter 3.29+"> 13 <img src="https://img.shields.io/badge/license-ACL%201.3-purple?style=flat-square" alt="Abzu Community License"> 14 </p> 15 16 --- 17 18 ## Overview 19 20 **Sovereign Dashboard** is the native macOS control center for the [Abzu Sovereign Mesh](https://github.com/yourusername/abzu) — a censorship-resistant, privacy-first network protocol. It provides a premium glassmorphic interface for managing AI agents, social connections, and decentralized identity. 21 22 > ⚠️ **Beta Software** — This project is under active development. APIs and features may change. 23 24 ### Features 25 26 - **🤖 Agent Console** — Chat with local or cloud AI providers (Ollama, LM Studio, Gemini) 27 - **📦 Presets System** — Save and switch between agent configurations instantly 28 - **👥 Social Mesh** — Follow peers, discover nodes, publish your profile to the DHT 29 - **🔐 Sovereign Identity** — Ed25519 cryptographic identity with local-first storage 30 - **🪟 Native Vibrancy** — Full macOS translucency with `NSVisualEffectView` 31 32 --- 33 34 ## Quick Start 35 36 ### Prerequisites 37 38 - macOS 13.0+ 39 - Flutter SDK 3.29+ 40 - Running [sovereign-daemon](../../../abzu-clean/sovereign-agent/) on `localhost:3000` 41 42 ### Build & Run 43 44 ```bash 45 # Clone and navigate 46 cd apps/sovereign_dashboard 47 48 # Get dependencies 49 flutter pub get 50 51 # Generate Riverpod providers 52 dart run build_runner build 53 54 # Run in debug mode 55 flutter run -d macos 56 57 # Or build release 58 flutter build macos 59 ``` 60 61 The built app will be at `build/macos/Build/Products/Release/sovereign_dashboard.app` 62 63 --- 64 65 ## Architecture 66 67 ``` 68 sovereign_dashboard/ 69 ├── lib/ 70 │ ├── main.dart # App entry, theme setup 71 │ ├── core/ 72 │ │ ├── api/ # HTTP client for sovereign-daemon 73 │ │ └── providers/ # Riverpod state management 74 │ └── features/ 75 │ ├── shell/ # Navigation rail, glassmorphic shell 76 │ ├── agent/ # Console, settings panel, presets 77 │ └── social/ # Social mesh UI (coming soon) 78 ├── macos/ # Native macOS configuration 79 └── pubspec.yaml 80 ``` 81 82 ### Tech Stack 83 84 | Layer | Technology | 85 |-------|------------| 86 | **UI Framework** | Flutter 3.29+ with Material 3 | 87 | **State Management** | Riverpod 2.x with code generation | 88 | **Design System** | [Spectra](../../packages/spectra) glassmorphism tokens | 89 | **Native Integration** | `macos_window_utils` for vibrancy | 90 | **Backend** | Rust `sovereign-daemon` via REST API | 91 92 --- 93 94 ## Configuration 95 96 The dashboard connects to `localhost:3000` by default. The sovereign-daemon must be running: 97 98 ```bash 99 # From the abzu-clean directory 100 cargo run -p sovereign-agent 101 ``` 102 103 ### Supported Inference Providers 104 105 | Provider | Type | Setup | 106 |----------|------|-------| 107 | **Ollama** | Local | Install Ollama, pull models | 108 | **LM Studio** | Local | Run LM Studio server | 109 | **Gemini** | Cloud | Provide API key | 110 | **None** | — | Disable agent features | 111 112 --- 113 114 ## Screenshots 115 116 *Coming soon — glassmorphic agent console, settings panel, and social mesh views.* 117 118 --- 119 120 ## Contributing 121 122 This is part of the Antigravity Studio private monorepo. For access or collaboration inquiries, please reach out directly. 123 124 --- 125 126 ## License 127 128 Abzu Community License 1.3 — see [LICENSE](LICENSE) for details. 129 130 --- 131 132 <p align="center"> 133 <sub>Built with 🖤 by Antigravity Studio</sub> 134 </p>