Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OHO Auto - RPA Automation Tool

🚀 Recent Updates

✅ CRASH FIX COMPLETED (August 2025)

  • Major Issue Resolved: Fixed macOS crash (SIGTRAP) that occurred during input monitoring
  • Enhanced Safety: Implemented comprehensive permission checking and graceful degradation
  • Better UX: Added clear user guidance for macOS accessibility permissions
  • Stability: App now runs reliably with proper error handling and resource cleanup

Key Improvements:

  • 🛡️ Crash Prevention: Enhanced thread safety and permission validation
  • 📱 macOS Compatibility: Proper handling of accessibility requirements
  • 🔧 Error Handling: User-friendly messages with step-by-step guidance
  • 📦 Distribution Ready: Both executable and .app bundle work reliably

For technical details, see CRASH_FIX_FINAL_REPORT.md


A powerful, cross-platform automation tool built with Python and Tkinter. OHO Auto allows you to create, manage, and execute automation tasks with an intuitive graphical interface.

Features

✨ Core Capabilities

  • Task Management: Create, save, and load automation tasks
  • Step-by-Step Automation: Add, edit, and organize automation steps
  • Action Recording: Record mouse clicks, movements, and keyboard input
  • Real-time Execution: Run individual steps or entire task sequences
  • Mouse Control: Precise mouse positioning and clicking
  • Screen Capture: Take screenshots for reference
  • File Operations: Open folders and manage task files

🔧 Technical Features

  • Cross-platform compatibility (Windows, macOS, Linux)
  • Thread-safe operation with proper error handling
  • Permission management for macOS accessibility features
  • Comprehensive logging and debugging
  • Extensible task format (JSON-based)

Installation & Setup

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Quick Start

  1. Extract the OHO_Auto_Package to your desired location
  2. Run the application:
    • macOS: Double-click OHO_Auto.app or run ./OHO_Auto in terminal
    • Windows: Run OHO_Auto.exe
    • Linux: Run ./OHO_Auto

Development Setup

# Clone or download the project
cd gui

# Create virtual environment
python -m venv .venv

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

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

macOS Permissions Setup

⚠️ Important for macOS users: OHO Auto requires Accessibility permissions to monitor input events.

Granting Permissions

  1. Launch OHO Auto
  2. When prompted, go to System Preferences > Security & Privacy > Privacy
  3. Select Accessibility from the left panel
  4. Click the lock icon and enter your password
  5. Click the + button and add OHO Auto to the list
  6. Restart the application

Troubleshooting Permissions

  • If recording features don't work, check that OHO Auto is listed and checked in Accessibility
  • For app bundle: The entry may appear as "OHO_Auto" or the full path to the application
  • For standalone executable: Add the executable file directly

Usage

Creating a New Task

  1. Launch the application
  2. Enter a task name in the "Task Name" field
  3. Click "Set Name" to confirm

Recording Actions

  1. Click "Start Recording" to begin capturing actions
  2. Perform the actions you want to automate (mouse clicks, movements, keyboard input)
  3. Click "Stop Recording" to finish
  4. Recorded actions will appear in the Steps list

Managing Steps

  • Add Step: Manually add automation steps
  • Edit Step: Modify existing step parameters
  • Delete Step: Remove unwanted steps
  • Run Step: Execute a single step for testing

Saving and Loading Tasks

  • Use File → Save Task to save your automation sequence
  • Use File → Open Task to load previously saved tasks
  • Tasks are saved as JSON files in the work directory

Execution

  • Run All Steps: Execute the entire automation sequence
  • Stop Execution: Halt running automation
  • Monitor progress in the Action Log

File Management

  • Use File → Open Work Folder to access the tasks directory
  • Tasks are automatically saved to ~/Documents/OHO_Auto_Tasks

Step Types

The application supports various automation step types:

  1. mouse_click: Click at specific coordinates
  2. mouse_move: Move mouse to coordinates
  3. key_press: Press keyboard keys
  4. type_text: Type text strings
  5. delay: Add wait times between actions

Task File Format

Tasks are saved as JSON files with the following structure:

{
  "name": "Task Name",
  "created": "2024-01-01T00:00:00",
  "modified": "2024-01-01T00:00:00",
  "steps": [
    {
      "type": "mouse_click",
      "description": "Click at (100, 200)",
      "parameters": {
        "x": 100,
        "y": 200,
        "button": "left"
      }
    }
  ]
}

Development

The application is structured with:

  • main.py: Main application file with all classes
  • requirements.txt: Python dependencies
  • README.md: This documentation

Key Classes

  • OHOAutoApp: Main application class
  • StepEditorWindow: Dialog for editing automation steps
  • MouseControlWindow: Mouse control utility

License

This project is open source and available under the MIT License.

Contributing

Contributions are welcome! Please feel free to submit pull requests or report issues.

Support

For support and questions, please create an issue in the project repository.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages