Skip to content

An advanced AI-driven Python application designed to analyze your screen content in real time. (v2 in progress)

License

Notifications You must be signed in to change notification settings

gabrimatic/eyra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eyra - AI-Powered Screen Analysis Assistant

Eyra is an advanced AI-driven Python application designed to analyze your screen content in real time, leveraging OpenAI's vision models to provide insightful feedback through both chat and voice. Whether you're researching, multitasking, or seeking real-time insights, Eyra delivers an efficient, interactive, and automated experience. With its robust feature set and ease of use, Eyra stands out as a powerful productivity and accessibility tool.

screenshot

Why Eyra is Useful

Eyra takes the hassle out of manual screen analysis, making it an invaluable tool for professionals, researchers, and power users who need to keep track of screen content, take quick notes, or extract data seamlessly. Its automated analysis capabilities help users quickly interpret visual information, be it from a document, website, or software application. This makes Eyra particularly useful for individuals dealing with large volumes of information, ensuring nothing important is missed while streamlining the process of accessing and understanding visual content.

Key Advantages

  1. Automated Insights: Eyra leverages state-of-the-art AI to automatically extract key details from visual content, saving you time and effort.
  2. Accessibility Enhancement: Eyra's voice feedback ensures that you can stay updated on important visual information even when you’re on the move or away from the screen, improving accessibility for visually impaired users.
  3. Cross-Platform Flexibility: Eyra is built to run on all major operating systems, providing a consistent experience regardless of your preferred platform.
  4. Real-Time Interaction: Through both manual and live modes, users have the flexibility to interact with Eyra on demand or let it autonomously monitor and provide feedback in real time.

Features Overview

1. Manual Mode

  • Interactive Capture and Analysis: Users can engage directly with Eyra, capturing screen or webcam images as needed.
  • Command-Based Interaction: Simple commands like #image or #selfie allow users to capture the screen or webcam view for immediate AI analysis.

2. Live Mode

  • Continuous Monitoring: Eyra actively monitors the screen, capturing visual data at predefined intervals and providing automated analysis.
  • Hands-Free Voice Feedback: The built-in text-to-speech feature converts insights into audio, ensuring users receive immediate, actionable information.

3. Voice Feedback Integration

  • Text-to-Speech Responses: Eyra provides real-time auditory responses to analyzed content, which enhances accessibility and productivity by allowing users to focus elsewhere while still receiving relevant updates.

4. Cross-Platform Support

  • Compatible with macOS, Windows, and Linux, Eyra is designed for maximum versatility, providing native support for system-level features across platforms.

5. Image Optimization

  • Pre-Processing for Efficiency: Eyra automatically optimizes captured images to ensure efficient use of the OpenAI API, managing resolution and file size without sacrificing analytical accuracy.

6. Keyboard Shortcuts for Seamless Interaction

  • Users can quickly switch between manual and live modes using intuitive keyboard shortcuts (Ctrl+Shift+L for Live Mode, Ctrl+Shift+M for Manual Mode), providing a seamless and responsive user experience.

Technical Requirements

To use Eyra effectively, you'll need the following:

  • Python Version: Python 3.8 or newer.
  • OpenAI API Key: Required for leveraging the AI analysis capabilities.
  • Platform-Specific Dependencies:
    • macOS: imagesnap for webcam capture.
    • Windows: PowerShell access.
    • Linux: espeak for text-to-speech, paplay for audio playback.

Installation Guide

Follow these steps to install Eyra:

  1. Clone the Repository:

    git clone https://github.com/gabrimatic/eyra.git
    cd eyra
  2. Install Python Dependencies:

    pip install -r requirements.txt
  3. Install System-Specific Dependencies (macOS Example):

    brew install imagesnap portaudio
  4. Configure Environment Variables: Create a .env file to set up API keys and other configurations:

    OPENAI_API_KEY=your_api_key_here
    MODEL_NAME=gpt-4o-mini
    MAX_TOKENS=300
    IMAGE_PATH=./images/image.jpg
    USE_MOCK_CLIENT=false
    

Usage Instructions

Starting Eyra

To launch Eyra, run:

python src/main.py

Manual Mode

  • Use chat commands to interact with Eyra:
    • #image: Capture a screenshot for analysis.
    • #selfie: Capture a webcam image for analysis.
    • /history: View past analyses and chat history.
    • /quit: Exit the application.
  • To switch to Live Mode, press Ctrl+Shift+L.

Live Mode

  • Eyra will continuously capture and analyze your screen.
  • Voice feedback will provide results automatically.
  • To switch back to Manual Mode, press Ctrl+Shift+M.
  • Press Ctrl+C to exit at any time.

Development and Extension

Eyra is designed with modularity in mind, allowing developers to easily extend or modify its capabilities. Below is an overview of the project structure:

src/
├── chat/           # Handles chat messaging and user interactions
├── config/         # Configuration and settings management
├── image/          # Image capture and processing
├── modes/          # Logic for switching between manual and live modes
└── utils/          # Helper utilities and common functions

Mock Client for Testing

If you need to test Eyra without incurring API costs, set USE_MOCK_CLIENT=true in your .env file. This will simulate API responses for development purposes.

Configuration Options

Image paths, model parameters, and other settings can be customized via environment variables, making it easy to tailor Eyra to your specific use case.

Future Plans

The next version of Eyra will focus on integrating with Ollama's local offline AI models. This enhancement will allow users to choose between using the OpenAI API or a local AI model, offering greater flexibility and cost savings.

By leveraging offline models, Eyra aims to provide a completely free, privacy-focused experience that does not rely on external cloud services. Stay tuned for this exciting update, which will make Eyra even more versatile and accessible for all users.

License

The MIT License (MIT)

Developer

By Hossein Yousefpour

© All rights reserved.

Donate

Buy Me A Book

About

An advanced AI-driven Python application designed to analyze your screen content in real time. (v2 in progress)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages