# Technology Stack ## Core Technologies - **Python 3.8+**: Primary development language - **PyTorch**: Deep learning framework for embeddings and models - **FAISS**: Vector similarity search and indexing - **OpenCV**: Computer vision and image processing - **Flask**: Web API framework for server components - **React + TypeScript**: Frontend for Visual Workflow Builder ## Key Libraries - **open_clip_torch**: CLIP embeddings for visual-semantic understanding - **transformers**: Hugging Face models (OWL-ViT for object detection) - **Pillow**: Image processing and manipulation - **PyQt5**: Desktop GUI framework - **scikit-learn**: Machine learning utilities - **pytest**: Testing framework with property-based testing (Hypothesis) ## External Dependencies - **Ollama**: Local VLM inference server (qwen3-vl:8b model) - **NVIDIA GPU**: Optional but recommended for performance - **System capture libraries**: mss, pygetwindow, pyautogui ## Build System ### Environment Setup ```bash # Create virtual environment python3 -m venv venv_v3 source venv_v3/bin/activate # Linux/macOS # or venv_v3\Scripts\activate # Windows # Install dependencies pip install -r requirements.txt ``` ### Common Commands ```bash # Complete setup and launch ./run.sh # Launch GUI (default) ./run.sh --server # API server only (port 8000) ./run.sh --dashboard # Web dashboard (port 5001) ./run.sh --all # All services ./run.sh --agent # Capture agent ./run.sh --check # Environment check only # Testing ./test_quick.sh # Quick system test pytest tests/ # Full test suite pytest tests/unit/ # Unit tests only pytest tests/integration/ # Integration tests pytest tests/property/ # Property-based tests # Development ./install_dependencies.sh # Manual dependency install ./status.sh # System status check ``` ### Configuration - **Environment variables**: Use `.env` file (see `.env.example`) - **Central config**: `core/config.py` with dataclass-based configuration - **Production**: Set `ENVIRONMENT=production` for security validation ### Project Structure - **Modular architecture**: Each layer in separate `core/` subdirectories - **Test-driven**: Comprehensive test coverage with property-based testing - **Multi-component**: GUI, server, dashboard, agent as separate runnable components - **Cross-platform**: Linux, macOS, Windows support with platform-specific handling