⚠️ Notice: Personal Learning ProjectPlease note that this repository was created strictly for personal learning and educational purposes. It serves as a practical implementation of advanced Python concepts, Clean Architecture, and SOLID principles.
AETHER AI is an advanced, cross-platform AI chat application built to production-grade engineering standards. It features a premium, responsive user interface utilizing glassmorphism aesthetics and provides raw HTTP LLM routing across multiple providers.
More than just an application, Aether AI is designed around strict Clean Architecture and SOLID principles, utilizing a pure Supabase PostgREST persistence layer with client-side zero-knowledge encrypted cloud syncing.
- Premium Flet UI: A highly polished, responsive interface featuring layered compositing and glassmorphism aesthetics (
--aether-bg-secondarywith backdrop blur and custom glow effects). - Multi-Provider LLM Routing: Seamless, raw HTTP routing to multiple AI providers including Groq, Gemini, and OpenRouter using SSE (Server-Sent Events) for real-time streaming.
- Zero-Knowledge Key Syncing: Client-side AES-256-GCM encryption for API keys. Plaintext keys never leave the device, ensuring secure cross-device syncing via Supabase.
- Intelligent Context Engine: A sliding context window utilizing
collections.dequethat gracefully evicts older messages based on model token limits while strictly preserving system prompts. - Command Palette: A global,
Cmd+Kaccessible overlay providing real-time fuzzy search across chats, snippets, and documents. - Token & Cost Analytics: A comprehensive Usage Dashboard featuring interactive Pie and Bar charts to track token consumption, provider distribution, and cumulative costs.
- Multi-Format Export Engine: High-performance, multiprocessing-backed conversation exports supporting PDF, Markdown, and JSON.
- Voice Mode UI: Real-time audio processing featuring dynamic waveform visualization rendered on a Canvas at 30+ FPS.
Aether AI is strictly decoupled into four primary layers, ensuring that business logic remains completely independent of frameworks, UI, or databases.
- Domain Layer: The pure core containing dataclass entities, value objects, domain exceptions, and repository interfaces. Zero external dependencies.
- Application Layer: Contains use cases (e.g.,
SendMessageUseCase) orchestrating the domain objects via input/output ports. - Infrastructure Layer: Implements adapters for Supabase (via raw
httpxPostgREST), AES encryption, multiprocessing export engines, and external LLM APIs. - Presentation Layer: Flet-specific UI components, custom routers, MVVM state management, and an Observer/Pub-Sub EventBus.
- Clean Architecture & SOLID
- Dependency Injection (DI)
- Repository & Factory Patterns
- Observer/Pub-Sub (EventBus)
- Strategy Pattern (Failover Routing)
- Language: Python 3.12+
- UI Framework: Flet 0.25+
- Networking: httpx 0.27+ (Async REST/SSE)
- Backend / BaaS: Supabase (Auth, PostgREST, RLS)
- Cryptography: cryptography 44+ (AES-256-GCM)
- Data Validation: Pydantic 2.0+ (Settings)
- Testing & QA: pytest, pytest-asyncio, hypothesis, ruff, mypy
- Packaging: PyInstaller 6.0+
The application is configured via environment variables. Ensure the following are set before launching:
| Variable | Required | Description |
|---|---|---|
AETHER_SUPABASE_URL |
Yes | Supabase project URL |
AETHER_SUPABASE_ANON_KEY |
Yes | Supabase anonymous public key |
AETHER_ENCRYPTION_PASSWORD |
No | Master password for key vault |
AETHER_LOG_LEVEL |
No | Logging level (default: INFO) |
AETHER_MAX_CONTEXT_TOKENS |
No | Default context window size (default: 8192) |
(Note: API keys for Groq, Gemini, and OpenRouter can be configured directly through the in-app Settings UI and will be securely encrypted).
Aether AI enforces rigorous CI/CD checks via GitHub Actions:
- Linting & Formatting:
ruff check . - Static Type Checking:
mypy --strict . - Testing: Property testing via
hypothesisand comprehensive unit/integration tests withpytest. - Coverage: Hard gate requiring >= 85% test coverage.
For an in-depth dive into the architecture, pedagogy, and design manifesto of the project, please refer to the official documentation: 👉 Aether AI Reference Documentation