A Go library for cross-platform desktop automation, enabling mouse/keyboard control, screen reading, and window management.
RobotGo is a Go library for cross-platform desktop automation and robotic process automation (RPA). It allows developers to programmatically control the mouse and keyboard, read screen content, manage windows, and listen to system events. It solves the problem of automating repetitive GUI tasks and building automated testing tools for desktop applications.
Go developers building automation scripts, GUI testing tools, RPA applications, or any software that requires programmatic interaction with the desktop interface across multiple operating systems.
Developers choose RobotGo because it provides a pure Go solution with no external dependencies for desktop automation, supports all major desktop platforms, and offers a comprehensive API for mouse, keyboard, screen, and window manipulation in a single library.
RobotGo, Go Native cross-platform RPA, GUI automation, Auto test and Computer use @vcaesar
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works seamlessly on macOS, Windows, and Linux (X11) with both x86-64 and arm64 architectures, as highlighted in the README, making it versatile for diverse desktop environments.
Provides a unified interface for mouse control, keyboard input, screen capture, window management, and global event hooks, reducing the need for multiple libraries in Go projects.
Built entirely in Go without external runtime dependencies, ensuring easy integration and compilation within Go applications, as emphasized in the philosophy section.
Regular updates and a Pro version with features like Wayland support indicate ongoing maintenance, though the open-source version has some limitations.
Installation requires extensive system dependencies like GCC, X11 libraries, and OS-specific packages, which can be cumbersome, especially on Windows and Linux, as detailed in the README.
The API documentation is marked as deprecated and not updated, forcing users to rely on scattered examples and source code, potentially slowing development.
The open-source version lacks Wayland compatibility, restricting use on newer Linux distributions, with this feature only available in the paid Pro version.
Screen capture and image finding rely on bitmap and OpenCV integrations, which may introduce latency compared to native, lower-level automation tools.