Bot do automatyzacji zadań poprzez Remote Desktop
Project description
desktop-bot
A versatile desktop automation bot with advanced capabilities for UI interaction, task scheduling, remote system management, and AI-powered assistance.
Features
- UI Automation: Control mouse, keyboard, and screen interactions using PyAutoGUI
- Computer Vision: Image recognition and OCR capabilities with OpenCV and Tesseract
- Task Scheduling: Automated task execution with APScheduler and Schedule
- Remote System Management: Connect to remote systems via SSH using Paramiko
- Email Integration: Process and respond to emails automatically
- Natural Language Processing: Understand and generate text using Spacy and Transformers
- Speech Recognition: Convert speech to text for voice-controlled automation
- Web API: RESTful interface with Flask for remote control and integration
- Data Analysis: Process and visualize data with Pandas, Matplotlib and Seaborn
Installation
Prerequisites
- Python 3.9+
- For Linux users: Additional system dependencies may be required
System Dependencies
Linux
sudo apt-get update
sudo apt-get install portaudio19-dev python3-dev gcc tesseract-ocr
macOS
brew install portaudio tesseract
Windows
- Install Tesseract OCR
- Ensure it's added to your PATH
Setup
-
Clone the repository:
git clone https://github.com/automatyzer/desktop.git cd desktop
-
Install Python dependencies:
pip install -r requirements.txt
Note: If you encounter issues with PyAudio installation, try:
pip install --upgrade --no-build-isolation pyaudio
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration
Usage
Basic usage instructions:
# Example code for using desktop
from desktop_bot import Bot
bot = Bot()
bot.start()
Cross-Platform Compatibility
desktop is designed to work across multiple platforms:
- Windows: Full support with native window management via pygetwindow
- Linux: Supported with pywinctl for window management
- macOS: Supported with pywinctl for window management
Advanced Features
Automated UI Testing
Use desktop to automate UI testing by capturing screenshots, recognizing UI elements, and simulating user interactions.
Workflow Automation
Create scheduled tasks to automate repetitive workflows, such as data entry, report generation, or system maintenance.
AI-Assisted Automation
Leverage the integrated NLP capabilities to create intelligent automation that can understand context and adapt to changing conditions.
Configuration
The bot can be configured using environment variables or a .env file. Key configuration options include:
LOG_LEVEL: Set logging verbosity (DEBUG, INFO, WARNING, ERROR)SCHEDULER_ENABLED: Enable/disable the task schedulerAPI_ENABLED: Enable/disable the REST APIAPI_PORT: Port for the REST API serverOCR_ENGINE: Select OCR engine configuration
Development
Project Structure
desktop/
├── bot/ # Core bot functionality
├── api/ # REST API implementation
├── nlp/ # Natural language processing modules
├── vision/ # Computer vision and OCR capabilities
├── scheduler/ # Task scheduling implementation
├── utils/ # Utility functions and helpers
├── tests/ # Test suite
└── update/ # Update scripts and tools
Testing
Run tests with pytest:
pytest
For coverage report:
pytest --cov=. tests/
Updating Dependencies
To update project dependencies:
python update/requirements.py
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Troubleshooting
PyAudio Installation Issues
If you encounter issues installing PyAudio:
- Ensure you have the required system dependencies installed
- Try installing with:
pip install --upgrade --no-build-isolation pyaudio - On Windows, you may need to install a pre-built binary:
pip install pipwin && pipwin install pyaudio
OCR Functionality
If OCR features aren't working:
- Verify Tesseract OCR is properly installed
- Check that the Tesseract executable is in your PATH
- Set the
TESSERACT_CMDenvironment variable to the Tesseract executable path
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- All the open-source libraries that make this project possible
- Contributors and community members who have helped improve the project
Quick Start
Local Development
- Create virtual environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file automatyzer_desktop-0.1.7.tar.gz.
File metadata
- Download URL: automatyzer_desktop-0.1.7.tar.gz
- Upload date:
- Size: 59.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e6c5688116dccfdf13d3bfa6d6263326f735b048388566c6c615ad11585a794
|
|
| MD5 |
00d610ea0835b0deec8b0a0f8867ebc4
|
|
| BLAKE2b-256 |
2ebec746f45cc9d8838ed78ed82cc108316a0e22b6502c1bfc4f0e2f3373a1e3
|
File details
Details for the file automatyzer_desktop-0.1.7-py3-none-any.whl.
File metadata
- Download URL: automatyzer_desktop-0.1.7-py3-none-any.whl
- Upload date:
- Size: 72.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af78cfb573a88de78b3b0ff494e24ba91f0a52740736b08bc2fec9bf8309c651
|
|
| MD5 |
7381b3b918b02df58bc0a5697939688d
|
|
| BLAKE2b-256 |
5c85ff2c12b79426267bb8a294824f716dbea7fb209b91ab93cdd74e0b4bab0c
|