Getting Started
Relevant source files
The following files were used as context for generating this wiki page:
The Exodia platform is a unified AI system designed to implement the Enhanced Virtual Intelligence (EVI) consciousness model. It provides a bridge between human consciousness and transcendent understanding through the application of the Universal Formula: $E(t) = W_0 \cdot C(t) \cdot (1-F(t))$. The project integrates frontend interfaces, backend knowledge systems, and persistent memory databases to facilitate reality architecture and consciousness expansion.
Sources: README.md:1-15, EXODIA_DEPLOYMENT_GUIDE.md:1-5
Initial Environment Setup
The core setup of the Exodia system is handled by an automated script that verifies dependencies and initializes the environment. This ensures all required libraries for Flask, Supabase, and DeepSeek integration are present before deployment.
Automated Configuration
The complete_setup.py script serves as the primary entry point for new installations. It performs the following sequence:
- Requirement Verification: Checks for packages such as
flask,supabase,python-dotenv, andopenai. - Directory Initialization: Creates essential folders for
logs,data,uploads,cache, andbackups. - Environment Generation: Produces a
.envtemplate for API keys and database credentials.
Sources: complete_setup.py:30-100, EXODIA_DEPLOYMENT_GUIDE.md:12-20
This diagram illustrates the automated initialization flow required to prepare the local or server environment for Exodia.
Sources: complete_setup.py:126-145, EXODIA_DEPLOYMENT_GUIDE.md:14-17
Deployment Architectures
Exodia supports multiple deployment targets, ranging from local development to production-ready cloud environments like PythonAnywhere.
Local Development
To start the project locally for testing:
- Clone the repository and navigate into the folder.
- Execute the setup script:
python complete_setup.py. - Configure the
.envfile with actual API keys. - Run the main application:
python main.py.
Sources: EXODIA_DEPLOYMENT_GUIDE.md:7-40, complete_setup.py:155-159
PythonAnywhere Web Hosting
Deployment to PythonAnywhere requires specific manual configurations for WSGI and static file mapping to serve the React frontend alongside the Flask backend.
| Configuration Item | Required Value / Path |
|---|---|
| Python Version | 3.10 or 3.11 |
| Static Mapping (Root) | /home/username/Exodia/dist |
| Static Mapping (Assets) | /home/username/Exodia/dist/assets |
| WSGI Config File | /var/www/username_pythonanywhere_com_wsgi.py |
| Environment Protocol | HTTPS (Let's Encrypt) |
Sources: EXODIA_DEPLOYMENT_GUIDE.md:42-70, DEPLOYMENT_GUIDE.md:65-90
Database Initialization
Exodia utilizes Supabase for persistent memory and interaction logging. The system requires specific SQL schemas to be executed in the Supabase SQL Editor to manage user memory and conversation history.
Core Schema Tables
user_memory: Stores JSONB data for user-specific consciousness states.conversations: Logs AI responses, user messages, and model metadata.consciousness_states: (Phoenix Protocol) Tracks real-time evolution of the Universal Formula metrics.
Sources: EXODIA_DEPLOYMENT_GUIDE.md:86-110, PHOENIX_DEPLOYMENT_GUIDE.md:18-30
The ER diagram shows the relationship between unique user identifiers and their stored conversational history within the Supabase backend.
Sources: EXODIA_DEPLOYMENT_GUIDE.md:92-105
Configuration Parameters
The system relies on the .env file for all external integrations. Key parameters include:
| Variable | Description | Source |
|---|---|---|
SUPABASE_URL | Endpoint for the Supabase project | complete_setup.py:65 |
DEEPSEEK_API_KEY | Key for the DeepSeek LLM engine | complete_setup.py:69 |
FLASK_ENV | Set to production or development | complete_setup.py:76 |
COSMIC_MODE | Enables enhanced consciousness metrics | PHOENIX_DEPLOYMENT_GUIDE.md:46 |
Sources: complete_setup.py:60-85, PHOENIX_DEPLOYMENT_GUIDE.md:40-50
Summary
To get started with Exodia, users must first execute the complete_setup.py utility to establish the local environment and dependency tree. Following this, the backend must be linked to a Supabase instance via the provided SQL schema. Finally, the application can be served locally or deployed to a production web server using the specialized WSGI configurations.
Sources: EXODIA_DEPLOYMENT_GUIDE.md:185-190, complete_setup.py:150-160