|
#!/bin/bash |
|
|
|
echo "π FastAPI Django Main Live - Post Start Setup..." |
|
echo "π§ AI GUI System - PostStart Initialization" |
|
|
|
|
|
export PATH="$HOME/.cargo/bin:$PATH" |
|
|
|
|
|
export DISPLAY=:1 |
|
export XVFB_RES=1920x1080x24 |
|
|
|
|
|
echo "π Checking dependencies..." |
|
python3 -c " |
|
try: |
|
import gradio |
|
import fastapi |
|
import open_interpreter |
|
import sqlite3 |
|
print('β
All core dependencies available') |
|
except ImportError as e: |
|
print(f'β Missing dependency: {e}') |
|
print('Run: pip install -r requirements.txt') |
|
" |
|
|
|
|
|
echo "π₯οΈ Initializing AI Persistent GUI Desktop..." |
|
|
|
|
|
if command -v docker &> /dev/null; then |
|
echo "π³ Docker is available - Starting persistent GUI environment..." |
|
|
|
|
|
if [ -f "ai_persistent_gui_manager.py" ]; then |
|
echo "π Starting AI Persistent GUI Manager..." |
|
python3 ai_persistent_gui_manager.py & |
|
sleep 5 |
|
else |
|
echo "β οΈ AI Persistent GUI Manager not found, using fallback method..." |
|
|
|
|
|
if [ -f "docker-compose-persistent-gui.yml" ]; then |
|
echo "π³ Starting GUI with docker-compose..." |
|
docker-compose -f docker-compose-persistent-gui.yml up -d |
|
sleep 5 |
|
fi |
|
fi |
|
else |
|
echo "β οΈ Docker not available, using local GUI services..." |
|
|
|
|
|
|
|
if ! pgrep -x "Xvfb" > /dev/null; then |
|
echo "π₯οΈ Starting Xvfb..." |
|
Xvfb :1 -screen 0 1920x1080x24 & |
|
sleep 2 |
|
fi |
|
|
|
|
|
if ! pgrep -x "fluxbox" > /dev/null; then |
|
echo "π₯οΈ Starting Fluxbox desktop..." |
|
DISPLAY=:1 fluxbox & |
|
sleep 2 |
|
fi |
|
|
|
|
|
if ! pgrep -x "x11vnc" > /dev/null; then |
|
echo "πΊ Starting VNC server..." |
|
DISPLAY=:1 x11vnc -display :1 -forever -passwd copilot -rfbport 5901 -shared -bg |
|
sleep 2 |
|
fi |
|
|
|
|
|
if ! pgrep -f "websockify" > /dev/null && command -v websockify &> /dev/null; then |
|
echo "π Starting noVNC with websockify..." |
|
websockify --web=/usr/share/novnc/ 6080 localhost:5901 & |
|
sleep 2 |
|
fi |
|
fi |
|
|
|
|
|
echo "π§ Restoring AI Memory..." |
|
|
|
|
|
if [ -f "ai_memory_restoration.py" ]; then |
|
echo "π§ Running AI memory restoration..." |
|
python3 ai_memory_restoration.py |
|
else |
|
echo "β οΈ AI memory restoration script not found" |
|
fi |
|
|
|
|
|
echo "π§ Initializing AI Memory System..." |
|
python3 -c " |
|
from ai_memory_system import ai_memory |
|
print('π§ AI Memory System Status:') |
|
print(ai_memory.generate_memory_summary()) |
|
" 2>/dev/null || echo "β οΈ AI Memory System not yet available" |
|
|
|
|
|
echo "π Setting up AI directories..." |
|
mkdir -p /ai-memory/screenshots |
|
mkdir -p /ai-memory/downloads |
|
mkdir -p /ai-memory/temp |
|
mkdir -p /gui-data/profiles |
|
mkdir -p /browser-data/downloads |
|
|
|
|
|
chmod -R 755 /ai-memory 2>/dev/null || true |
|
chmod -R 755 /gui-data 2>/dev/null || true |
|
chmod -R 755 /browser-data 2>/dev/null || true |
|
|
|
|
|
echo "π Checking browser environment..." |
|
if [ ! -f "/browser-data/.browser-initialized" ]; then |
|
echo "π Initializing browser environment..." |
|
mkdir -p /browser-data/firefox-profile |
|
touch /browser-data/.browser-initialized |
|
fi |
|
|
|
|
|
echo "" |
|
echo "π FastAPI Django Main Live is ready!" |
|
echo "β
AI GUI System startup complete!" |
|
echo "" |
|
echo "π± Available services:" |
|
echo " β’ Main App: http://localhost:7860" |
|
echo " β’ Test Manager: http://localhost:7861" |
|
echo " β’ Debug Port: 5678" |
|
echo " β’ AI GUI Desktop (Persistent): http://localhost:6081" |
|
echo " β’ AI GUI Desktop (Fallback): http://localhost:6080" |
|
echo " β’ VNC Direct Access: localhost:5902 (Persistent) / localhost:5901 (Fallback)" |
|
echo "" |
|
echo "π οΈ Quick commands:" |
|
echo " β’ Start main app: python3 app.py" |
|
echo " β’ Start debug mode: python3 app_debug_server.py" |
|
echo " β’ Test prompt manager: python3 test_prompt_manager.py" |
|
echo " β’ Test AI GUI system: python3 ai_gui_system.py" |
|
echo "" |
|
echo "π System Status:" |
|
echo " - X Server: $(pgrep -x Xvfb > /dev/null && echo 'β
Running' || echo 'β Not running')" |
|
echo " - Desktop: $(pgrep -x fluxbox > /dev/null && echo 'β
Running' || echo 'β Not running')" |
|
echo " - noVNC: $(pgrep -f novnc > /dev/null && echo 'β
Running' || echo 'β Not running')" |
|
echo " - AI Memory: $([ -d '/ai-memory' ] && echo 'β
Available' || echo 'β Not available')" |
|
echo "" |
|
echo "π VNC Password: copilot" |
|
echo "π― 30-Year Dream Status: SYSTEM READY FOR AI GUI AUTOMATION!" |
|
echo "" |
|
|