Skip to content
AraxonnPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

123 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ ARAXON

Python Version License Code Style Async Status

A Futuristic Modular AI Operating System Built in Python

Features โ€ข Quick Start โ€ข Architecture โ€ข Documentation โ€ข Contributing


๐Ÿ“‹ Table of Contents


๐ŸŽฏ Overview

ARAXON is an advanced modular AI operating system that integrates multiple AI capabilities into a cohesive, scalable platform. It combines voice interaction, computer vision, persistent memory, automation capabilities, and autonomous agents into a single, extensible framework.

Whether you're building an AI assistant, automating workflows, or exploring advanced AI capabilities, ARAXON provides a production-ready foundation with professional-grade architecture.

Key Highlights

  • ๐ŸŽ™๏ธ Voice-First Interaction: Natural language processing with speech recognition and synthesis
  • ๐Ÿ‘๏ธ Computer Vision: Advanced image processing and object detection
  • ๐Ÿง  Persistent Memory: Vector-based knowledge base with semantic search
  • ๐Ÿค– Autonomous Agents: Multi-agent system with advanced decision making
  • ๐Ÿ”„ Automation: Workflow orchestration and task automation
  • ๐ŸŒ Internet Integration: Web browsing, API access, and data extraction
  • โšก Async-First: Built on Python asyncio for high-performance concurrent operations
  • ๐ŸŽจ Beautiful UI: Modern React-based interface with Tauri desktop integration

โœจ Features

Voice Capabilities

  • ๐ŸŽ™๏ธ Speech-to-text with Faster-Whisper
  • ๐Ÿ”Š Text-to-speech synthesis
  • ๐Ÿ‘‚ Wake word detection and voice activation
  • ๐ŸŽฏ Natural language understanding

Vision & Processing

  • ๐Ÿ“ธ Real-time screenshot capture
  • ๐Ÿ” Optical Character Recognition (OCR)
  • ๐Ÿ‘๏ธ Computer vision analysis
  • ๐ŸŽฌ Video processing and streaming

Memory & Knowledge

  • ๐Ÿ“š Vector database with ChromaDB
  • ๐Ÿง  Semantic search capabilities
  • ๐Ÿ’พ Long-term knowledge storage
  • ๐Ÿ“– Document ingestion and processing
  • ๐Ÿ”— Knowledge graph integration

Automation & Agents

  • ๐Ÿค– Multi-agent orchestration
  • ๐Ÿ“‹ Task automation workflows
  • โฑ๏ธ Intelligent scheduling
  • ๐ŸŽฏ Goal-oriented execution
  • ๐Ÿ“Š Agent performance monitoring

Internet & Data

  • ๐ŸŒ Web browsing automation
  • ๐Ÿ”— API integration
  • ๐Ÿ“ฐ News aggregation
  • ๐Ÿ”Ž Intelligent web search
  • ๐Ÿ“ฐ Content extraction and analysis

User Interface

  • ๐ŸŽจ Modern React dashboard
  • ๐Ÿ’ป Tauri desktop application
  • ๐ŸŒ WebSocket real-time communication
  • ๐Ÿ“ฑ Responsive design
  • ๐ŸŽฏ Intuitive command interface

๐Ÿ› ๏ธ Tech Stack

Backend

  • Python 3.11+ - Core runtime
  • LangChain - AI orchestration framework
  • LangGraph - Agent and workflow execution
  • Groq & Ollama - LLM providers
  • ChromaDB - Vector database
  • Faster-Whisper - Speech recognition
  • Kokoro - Text-to-speech synthesis

Processing & ML

  • PyTorch - Deep learning framework
  • Sentence Transformers - Embedding models
  • OpenCV - Computer vision
  • Tesseract - OCR engine
  • NumPy - Numerical computing

Frontend & UI

  • React 18+ - UI framework
  • Tauri - Desktop application
  • Vite - Build tool
  • WebSockets - Real-time communication
  • CSS3 - Styling

Infrastructure

  • asyncio - Asynchronous programming
  • Pydantic - Data validation
  • Loguru - Logging framework
  • python-dotenv - Environment management

๐Ÿ“ Project Structure

ARAXON/
โ”œโ”€โ”€ araxon/                          # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ core/                        # Core infrastructure
โ”‚   โ”‚   โ”œโ”€โ”€ config.py                # Configuration management
โ”‚   โ”‚   โ”œโ”€โ”€ logger.py                # Logging system
โ”‚   โ”‚   โ””โ”€โ”€ utils.py                 # Utility functions
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ ai/                          # AI integration
โ”‚   โ”‚   โ”œโ”€โ”€ brain.py                 # Core AI reasoning
โ”‚   โ”‚   โ”œโ”€โ”€ router.py                # Request routing
โ”‚   โ”‚   โ”œโ”€โ”€ memory.py                # AI memory management
โ”‚   โ”‚   โ””โ”€โ”€ personality.py           # AI personality traits
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ voice/                       # Voice I/O
โ”‚   โ”‚   โ”œโ”€โ”€ listener.py              # Speech input
โ”‚   โ”‚   โ”œโ”€โ”€ synthesizer.py           # Speech output
โ”‚   โ”‚   โ”œโ”€โ”€ transcriber.py           # Audio transcription
โ”‚   โ”‚   โ”œโ”€โ”€ audio_player.py          # Audio playback
โ”‚   โ”‚   โ””โ”€โ”€ voice_*.py               # Voice utilities
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ vision/                      # Computer vision
โ”‚   โ”‚   โ”œโ”€โ”€ analyzer.py              # Image analysis
โ”‚   โ”‚   โ”œโ”€โ”€ screenshot.py            # Screenshot capture
โ”‚   โ”‚   โ”œโ”€โ”€ ocr.py                   # Optical character recognition
โ”‚   โ”‚   โ”œโ”€โ”€ vision_pipeline.py       # Processing pipeline
โ”‚   โ”‚   โ””โ”€โ”€ vision_router.py         # Vision routing
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ memory/                      # Knowledge & memory system
โ”‚   โ”‚   โ”œโ”€โ”€ embedder.py              # Embedding generation
โ”‚   โ”‚   โ”œโ”€โ”€ vector_store.py          # Vector database wrapper
โ”‚   โ”‚   โ”œโ”€โ”€ long_term_memory.py      # Persistent memory
โ”‚   โ”‚   โ”œโ”€โ”€ file_ingester.py         # Document processing
โ”‚   โ”‚   โ””โ”€โ”€ rag_pipeline.py          # RAG implementation
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ automation/                  # Task automation
โ”‚   โ”‚   โ”œโ”€โ”€ automation_router.py     # Request routing
โ”‚   โ”‚   โ”œโ”€โ”€ app_launcher.py          # Application launching
โ”‚   โ”‚   โ”œโ”€โ”€ command_runner.py        # Command execution
โ”‚   โ”‚   โ”œโ”€โ”€ browser_agent.py         # Browser automation
โ”‚   โ”‚   โ””โ”€โ”€ workspace_manager.py     # Workspace management
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ agent/                       # Agent system
โ”‚   โ”‚   โ”œโ”€โ”€ agent_controller.py      # Agent orchestration
โ”‚   โ”‚   โ”œโ”€โ”€ executor.py              # Task execution
โ”‚   โ”‚   โ”œโ”€โ”€ planner.py               # Planning & reasoning
โ”‚   โ”‚   โ”œโ”€โ”€ graph.py                 # Agent graph
โ”‚   โ”‚   โ””โ”€โ”€ tools.py                 # Agent tools
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ internet/                    # Internet integration
โ”‚   โ”‚   โ”œโ”€โ”€ internet_router.py       # Request routing
โ”‚   โ”‚   โ”œโ”€โ”€ searcher.py              # Web search
โ”‚   โ”‚   โ”œโ”€โ”€ news_fetcher.py          # News aggregation
โ”‚   โ”‚   โ”œโ”€โ”€ researcher.py            # Research capabilities
โ”‚   โ”‚   โ”œโ”€โ”€ wiki_lookup.py           # Wikipedia integration
โ”‚   โ”‚   โ””โ”€โ”€ extractor.py             # Content extraction
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ ui/                          # User interface
โ”‚       โ”œโ”€โ”€ ui_bridge.py             # Frontend bridge
โ”‚       โ””โ”€โ”€ websocket_server.py      # Real-time communication
โ”‚
โ”œโ”€โ”€ ui/                              # Frontend application
โ”‚   โ”œโ”€โ”€ src/                         # React source
โ”‚   โ”‚   โ”œโ”€โ”€ components/              # UI components
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx                  # Main app
โ”‚   โ”‚   โ””โ”€โ”€ main.jsx                 # Entry point
โ”‚   โ”œโ”€โ”€ src-tauri/                   # Tauri backend
โ”‚   โ”œโ”€โ”€ package.json                 # Frontend dependencies
โ”‚   โ””โ”€โ”€ vite.config.js               # Build configuration
โ”‚
โ”œโ”€โ”€ config/                          # Configuration
โ”‚   โ””โ”€โ”€ settings.yaml                # Settings file
โ”‚
โ”œโ”€โ”€ data/                            # Data storage
โ”‚   โ”œโ”€โ”€ chromadb/                    # Vector database
โ”‚   โ””โ”€โ”€ ingested/                    # Processed documents
โ”‚
โ”œโ”€โ”€ logs/                            # Application logs
โ”‚   โ””โ”€โ”€ screenshots/                 # Captured screenshots
โ”‚
โ”œโ”€โ”€ models/                          # AI models
โ”‚   โ””โ”€โ”€ models--*                    # Model cache
โ”‚
โ”œโ”€โ”€ main.py                          # Application entry point
โ”œโ”€โ”€ requirements.txt                 # Python dependencies
โ”œโ”€โ”€ setup_project.py                 # Project initialization
โ”œโ”€โ”€ .env.example                     # Environment template
โ”œโ”€โ”€ README.md                        # Documentation
โ”œโ”€โ”€ LICENSE                          # License file
โ””โ”€โ”€ .gitignore                       # Git ignore rules


๐Ÿ“ฆ Prerequisites

Before you begin, ensure you have the following installed:

System Requirements

  • OS: Windows 10/11, macOS 11+, or Linux (Ubuntu 20.04+)
  • Python: 3.11 or higher
  • Node.js: 16+ (for frontend development)
  • RAM: Minimum 8GB (16GB recommended for ML models)
  • GPU: NVIDIA GPU recommended (CUDA 11.8+) for faster inference

Software Requirements

  • Git
  • pip (Python package manager)
  • FFmpeg (for audio processing)
  • Tesseract OCR (for document processing)

Optional but Recommended

  • Ollama (for local LLM inference)
  • Groq API key (for cloud LLM access)
  • Chromium/Chrome (for browser automation)

๐Ÿ”ง Installation

Step 1: Clone the Repository

git clone https://github.com/yourusername/araxon.git
cd araxon

Step 2: Create Virtual Environment

Windows:

python -m venv .venv311
.venv311\Scripts\activate

macOS / Linux:

python3 -m venv .venv311
source .venv311/bin/activate

Step 3: Install Python Dependencies

pip install --upgrade pip setuptools wheel
pip install -r requirements.txt

Step 4: Install System Dependencies

Windows (PowerShell as Admin):

# Install FFmpeg
choco install ffmpeg -y

# Install Tesseract OCR
choco install tesseract -y

# Optional: Install Ollama
choco install ollama -y

macOS:

# Install FFmpeg
brew install ffmpeg

# Install Tesseract OCR
brew install tesseract

# Optional: Install Ollama
brew install ollama

Linux (Ubuntu/Debian):

sudo apt-get update
sudo apt-get install -y ffmpeg tesseract-ocr
# Optional: Install Ollama (https://ollama.ai)

Step 5: Setup Frontend (Optional)

If you want to develop the UI:

cd ui
npm install
npm run build  # or npm run dev for development

๐ŸŒ Environment Setup

Create .env File

Copy the provided .env.example file:

cp .env.example .env

Required Environment Variables

# Application Settings
APP_NAME=ARAXON
DEBUG_MODE=False
LOG_LEVEL=INFO

# API Keys
GROQ_API_KEY=your_groq_api_key_here
OPENAI_API_KEY=your_openai_api_key_here  # Optional

# LLM Configuration
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral  # or llama2, neural-chat, etc.

# Voice Configuration
WAKE_WORD=araxon
TTS_MODEL=kokoro  # or tts-1, etc.
SPEECH_RECOGNITION_LANGUAGE=en-US

# Memory Configuration
CHROMA_DB_PATH=./data/chromadb
VECTOR_STORE_TYPE=chroma

# Database
DATABASE_URL=sqlite:///./data/araxon.db

# UI Configuration
UI_HOST=localhost
UI_PORT=5173
WEBSOCKET_PORT=8765

# Optional: LLM Provider Selection
LLM_PROVIDER=groq  # options: groq, ollama, openai

# Optional: Vision Configuration
VISION_MODEL=gpt-4-vision  # or local model
OCR_LANGUAGE=eng

Getting API Keys

Groq API Key:

  1. Visit console.groq.com
  2. Sign up for a free account
  3. Create an API key
  4. Add to your .env file

OpenAI API Key (Optional):

  1. Visit platform.openai.com
  2. Create an account
  3. Generate API key
  4. Add to your .env file

๐Ÿš€ Quick Start

Basic Setup (Automated)

# Activate virtual environment first
.venv311\Scripts\activate  # Windows
# or
source .venv311/bin/activate  # macOS/Linux

# Run setup script
python setup_project.py

# Start ARAXON
python main.py

Running the Application

Terminal 1 - Backend:

.venv311\Scripts\python.exe main.py

Terminal 2 - Frontend (Optional):

cd ui
npm run dev

The application will:

  1. Initialize all subsystems
  2. Load configuration from .env
  3. Connect to vector database
  4. Initialize voice and vision pipelines
  5. Start the web server
  6. Begin listening for voice commands

๐Ÿ’ฌ Usage

Via Command Line

python main.py

Then interact with ARAXON:

  • Voice: Speak your wake word followed by a command
  • CLI: Type commands directly in the terminal
  • Web UI: Access the dashboard at http://localhost:5173

Example Commands

# Voice Command
"Araxon, search for Python tutorials"
"Araxon, take a screenshot"
"Araxon, what time is it?"

# Terminal Command
python main.py --command "search python tutorials"
python main.py --voice-only

Via Python API

import asyncio
from araxon.ai import ARAXONBrain
from araxon.agent import AgentController

async def main():
    # Initialize brain
    brain = ARAXONBrain()
    
    # Process a query
    response = await brain.process("What is AI?")
    print(response)
    
    # Interact with agents
    agent = AgentController()
    result = await agent.execute_task("Search for recent AI news")
    print(result)

asyncio.run(main())

๐Ÿ”Œ API Integration

REST Endpoints

ARAXON exposes several REST APIs:

Brain Endpoint

POST /api/brain/think
Content-Type: application/json

{
  "query": "What is machine learning?",
  "context": "optional_context"
}

Response: { "response": "...", "confidence": 0.95 }

Vision Endpoint

POST /api/vision/analyze
Content-Type: multipart/form-data

File: image.png

Response: { "analysis": "...", "objects": [...] }

Memory Endpoint

POST /api/memory/query
Content-Type: application/json

{
  "query": "Find documents about Python",
  "limit": 10
}

Response: { "results": [...], "total": 42 }

Agent Endpoint

POST /api/agent/execute
Content-Type: application/json

{
  "task": "Automate daily report generation",
  "parameters": {...}
}

Response: { "status": "completed", "result": "..." }

WebSocket Connection

const ws = new WebSocket('ws://localhost:8765');

ws.onmessage = (event) => {
  console.log('Message from ARAXON:', event.data);
};

ws.send(JSON.stringify({
  type: 'command',
  data: 'your command here'
}));

โš™๏ธ Configuration

Core Configuration (araxon/core/config.py)

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    APP_NAME: str = "ARAXON"
    DEBUG_MODE: bool = False
    LOG_LEVEL: str = "INFO"
    
    # LLM Settings
    LLM_PROVIDER: str = "groq"
    GROQ_API_KEY: str
    
    class Config:
        env_file = ".env"
        case_sensitive = True

Logger Configuration

from araxon.core.logger import logger

logger.info("Application started")
logger.debug("Debug information")
logger.error("An error occurred")
logger.warning("Warning message")

Custom Settings

Edit config/settings.yaml:

application:
  name: ARAXON
  version: 1.0.0
  
ai:
  model: mistral
  temperature: 0.7
  
voice:
  wake_word: araxon
  language: en-US
  
memory:
  vector_dimension: 1536
  top_k: 10

๐Ÿ“ธ Screenshots

Dashboard

[Screenshot placeholder - Update with actual dashboard screenshot]

Voice Command Interface

[Screenshot placeholder - Update with actual UI screenshot]

Vision Analysis

[Screenshot placeholder - Update with actual vision output screenshot]

Agent Execution

[Screenshot placeholder - Update with actual agent output screenshot]

๐Ÿ’ก Tip: Replace these placeholders with actual screenshots of your application


๐Ÿ‘จโ€๐Ÿ’ป Development

Project Structure Philosophy

ARAXON follows these principles:

  1. Modularity: Each subsystem is independent
  2. Async-First: All I/O operations use async/await
  3. Configuration: Settings via environment variables
  4. Logging: Comprehensive logging with loguru
  5. Testing: Dedicated test files for each module

Adding a New Module

  1. Create a new folder in araxon/
  2. Add __init__.py with module exports
  3. Implement your module with async functions
  4. Register in main.py initialization
  5. Add tests in tests/

Example:

# araxon/my_module/__init__.py
from .my_module import MyModuleClass

__all__ = ["MyModuleClass"]

# Usage in main.py
from araxon.my_module import MyModuleClass

async def initialize():
    my_module = MyModuleClass()
    await my_module.setup()

Running Tests

# Run all tests
pytest

# Run specific test
pytest tests/test_core.py

# Run with coverage
pytest --cov=araxon tests/

Code Style

ARAXON uses:

  • Black for formatting
  • Flake8 for linting
  • MyPy for type checking
# Format code
black araxon/

# Lint
flake8 araxon/

# Type check
mypy araxon/

๐Ÿ—บ๏ธ Roadmap

โœ… Completed (Phase 1)

  • Foundation infrastructure
  • Configuration management
  • Logging system
  • Core utilities

๐Ÿš€ In Progress (Phase 2)

  • Advanced voice capabilities
  • Vision pipeline optimization
  • Memory system enhancement
  • UI/UX improvements

๐Ÿ“‹ Planned (Phase 3-5)

  • Multi-language support
  • Enhanced security features
  • Mobile app version
  • Cloud synchronization
  • Plugin system
  • Performance optimization

๐Ÿ”ฎ Future Vision (Phase 6+)

  • Full voice AI assistant
  • Advanced reasoning capabilities
  • Custom model training
  • Enterprise features
  • API marketplace

See PROJECT_CHECKLIST.md for detailed progress.


๐Ÿค Contributing

We welcome contributions! Here's how to help:

Code of Conduct

Please note we have a Code of Conduct to ensure a welcoming community.

Getting Started

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Write tests for new functionality
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guide
  • Write docstrings for all functions
  • Add type hints
  • Include unit tests (minimum 80% coverage)
  • Update documentation
  • Use conventional commit messages

Commit Message Format

<type>(<scope>): <subject>

<body>

<footer>

Types: feat, fix, docs, style, refactor, test, chore

Example:

feat(vision): add image recognition capability

Implemented ResNet-based image classification with
confidence scoring and bounding box detection.

Closes #123

Pull Request Process

  1. Update README.md if needed
  2. Update CHANGELOG.md with changes
  3. Ensure tests pass: pytest
  4. Request review from maintainers
  5. Address feedback and iterate

๐Ÿ› Troubleshooting

Common Issues

Issue: ModuleNotFoundError: No module named 'araxon'

Solution:

# Ensure virtual environment is activated
.venv311\Scripts\activate  # Windows
source .venv311/bin/activate  # macOS/Linux

# Reinstall dependencies
pip install -r requirements.txt

Issue: GROQ_API_KEY not found

Solution:

# Check .env file exists and is readable
cat .env  # or type .env on Windows

# Get API key from https://console.groq.com
# Add to .env:
GROQ_API_KEY=your_key_here

Issue: Microphone not working

Solution:

# Check device permissions
# Verify audio device:
python -c "import sounddevice; print(sounddevice.query_devices())"

# Reinstall audio libraries
pip install --upgrade sounddevice numpy

Issue: GPU not detected for PyTorch

Solution:

# Check CUDA installation
python -c "import torch; print(torch.cuda.is_available())"

# Install CUDA-enabled PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Issue: Vector database errors

Solution:

# Reset vector database
rm -rf data/chromadb/*

# Reinitialize
python -c "from araxon.memory import LongTermMemory; m = LongTermMemory(); m.initialize()"

Debug Mode

Enable detailed logging:

# Via command line
DEBUG_MODE=True LOG_LEVEL=DEBUG python main.py

# Or in .env
DEBUG_MODE=True
LOG_LEVEL=DEBUG

Getting Help


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

The MIT License is a permissive open-source license that allows you to:

  • โœ… Use commercially
  • โœ… Modify the software
  • โœ… Distribute the software
  • โœ… Use privately
  • โŒ Hold liable

With the requirement:

  • ๐Ÿ“‹ Include license and copyright notice

For more information, visit opensource.org/licenses/MIT


๐Ÿ‘ค Author

ARAXON Development Team

Contributing Authors

Acknowledgments

Special thanks to:

  • The Python community
  • LangChain team for excellent framework
  • All contributors and supporters
  • Open-source projects we depend on

๐Ÿ“ž Support & Community


๐Ÿ“Š Project Statistics

  • Language: Python 3.11+
  • License: MIT
  • Repository: GitHub
  • Status: Active Development ๐Ÿš€
  • Last Updated: May 2024

๐Ÿ” Security

For security concerns, please email: security@your-domain.com

Do not open security vulnerabilities publicly. Please follow responsible disclosure practices.


๐Ÿ“ Changelog

See CHANGELOG.md for detailed version history.

Latest Release


Made with โค๏ธ by the ARAXON Team

โญ Star us on GitHub | ๐Ÿฆ Follow us on Twitter | ๐Ÿ“ง Newsletter


Last Updated: May 24, 2024
Documentation Version: 1.0.0
Status: โœ… Maintained

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages