go-vgo/robotgo
RobotGo, Go Native cross-platform RPA, GUI automation, Auto test and Computer use @vcaesar
What it solves
Robotgo provides a cross-platform way to automate desktop interactions. It allows developers to programmatically control the mouse and keyboard, read screen content, and manage windows across macOS, Windows, and Linux, eliminating the need to write platform-specific automation code for each operating system.
How it works
Robotgo acts as a bridge between Go code and the system's low-level input and display APIs. It offers two primary build paths:
- Default (Cgo): Uses a C compiler to interface with native platform libraries.
- Pure Go (Experimental): Uses build tags (like
win,mac,x11,wayland, orlibei) to utilize Go-native backends, reducing dependencies on C toolchains.
It integrates with other specialized libraries for advanced tasks, such as bitmap for image searching and gcv (OpenCV) for complex computer vision tasks to identify on-screen elements.
Who it’s for
- QA Engineers: For creating automated desktop tests.
- AI Developers: For building "Computer Use" agents that can perceive and interact with a desktop environment.
- Developers: For creating productivity tools, macros, or accessibility software.
Highlights
- Comprehensive Input Control: Full control over mouse movement, clicking, scrolling, and keyboard typing/hotkeys.
- Cross-Platform: Native support for Windows, macOS, and Linux (including X11 and Wayland).
- Screen Perception: Ability to capture the screen, get pixel colors, and find images on screen via bitmap or OpenCV.
- Window Management: Functions to find process IDs, activate windows by name, and manage window states.
- Global Event Listening: Ability to register global keyboard and mouse hooks to trigger actions based on user input.
Related
- Project
- Project
- Project
- Project
- Project