- 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
- 🛡️ 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.
- 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
- 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)
- Python 3.8 or higher
- pip package manager
- Extract the OHO_Auto_Package to your desired location
- Run the application:
- macOS: Double-click
OHO_Auto.appor run./OHO_Autoin terminal - Windows: Run
OHO_Auto.exe - Linux: Run
./OHO_Auto
- macOS: Double-click
# 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- Launch OHO Auto
- When prompted, go to System Preferences > Security & Privacy > Privacy
- Select Accessibility from the left panel
- Click the lock icon and enter your password
- Click the + button and add OHO Auto to the list
- Restart the application
- 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
- Launch the application
- Enter a task name in the "Task Name" field
- Click "Set Name" to confirm
- Click "Start Recording" to begin capturing actions
- Perform the actions you want to automate (mouse clicks, movements, keyboard input)
- Click "Stop Recording" to finish
- Recorded actions will appear in the Steps list
- 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
- 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
- Run All Steps: Execute the entire automation sequence
- Stop Execution: Halt running automation
- Monitor progress in the Action Log
- Use File → Open Work Folder to access the tasks directory
- Tasks are automatically saved to ~/Documents/OHO_Auto_Tasks
The application supports various automation step types:
- mouse_click: Click at specific coordinates
- mouse_move: Move mouse to coordinates
- key_press: Press keyboard keys
- type_text: Type text strings
- delay: Add wait times between actions
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"
}
}
]
}The application is structured with:
main.py: Main application file with all classesrequirements.txt: Python dependenciesREADME.md: This documentation
- OHOAutoApp: Main application class
- StepEditorWindow: Dialog for editing automation steps
- MouseControlWindow: Mouse control utility
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit pull requests or report issues.
For support and questions, please create an issue in the project repository.