An AI-powered activity logger that captures screenshots and analyzes user actions using OpenAI's GPT-4 Vision API. Perfect for tracking computer usage patterns, productivity analysis, or creating activity reports.
- Automatic Screenshot Capture: Takes screenshots when you press Enter
- AI-Powered Analysis: Uses OpenAI's GPT-4 Vision to analyze and describe actions
- Activity Logging: Saves detailed logs with timestamps
- Low-Level Key Interception: Captures Enter key presses before system processing
- Threaded Processing: Non-blocking screenshot capture and analysis
- macOS Optimized: Built specifically for macOS with proper accessibility permissions
- macOS: This tool is designed for macOS and uses macOS-specific APIs
- Python 3.8+: Required for running the application
- OpenAI API Key: You'll need an API key from OpenAI to use the AI analysis features
- Accessibility Permissions: The app requires accessibility permissions to intercept keyboard events
pip3 install activity_logger
Then add your python to your path
echo 'export PATH="$HOME/Library/Python/3.14/bin:$PATH"' >> ~/.zshrc
# Restart zsh to apply the changes
exec zsh
# Run the activity-logger command
activity-logger
Provide your OpenAI API key as a flag to activity-logger, and you can customize the behavior.
activity-logger --api-key sk-... # Start with specific API key
activity-logger # Start with default settings
activity-logger --api-key sk-... # Start with specific API key
activity-logger --screenshots ~/MyScreenshots # Custom screenshot folder
activity-logger --logs ~/MyLogs # Custom log directory- Open System Preferences → Security & Privacy → Privacy
- Select Accessibility from the left sidebar
- Click the lock icon and enter your password
- Add your Terminal application (or the application you're running the script from)
- Make sure it's checked/enabled
After installation, you can run the activity logger with:
activity-logger- Start the application: Run the command above
- View logs: Check the
logs/directory for daily activity logs
- Activity Logs: Saved to
logs/actions_log_MM-DD-YY.txt - Format: Each log entry includes timestamp
activity_logger/
├── activity_logger.py # Main application
├── setup.py # Package setup
├── requirements.txt # Dependencies
├── README.md # This file
├── LICENSE # MIT License
├── MANIFEST.in # Package manifest
├── logs/ # Activity logs directory
│ └── actions_log_*.txt # Daily log files
└── ~/Desktop/Screenshots/ # Screenshots (created automatically)
pyautogui- Screenshot capturepynput- Input monitoringPillow- Image processingopenai- AI API integrationpyobjc-framework-Quartz- macOS system integration
This means the application doesn't have accessibility permissions:
- Go to System Preferences → Security & Privacy → Privacy → Accessibility
- Add your Terminal/Python application
- Make sure it's enabled
- Restart the application
- Verify your API key is set correctly:
echo $OPENAI_API_KEY - Check you have sufficient API credits
- Ensure you have access to the GPT-4 Vision API
- The app uses threading to avoid blocking
- Screenshots and AI analysis run in background threads
- If experiencing lag, consider reducing
max_tokensin the API call
- Screenshots are saved locally to your Desktop
- AI analysis is sent to OpenAI (review their privacy policy)
- No data is sent to third parties except OpenAI
- You can delete screenshots and logs at any time
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter issues:
- Check the troubleshooting section above
- Make sure you're running on macOS with proper permissions