30 open-source projects similar to go-vgo/robotgo, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Robotjs is a native Node.js automation library and desktop input simulator. It uses C++ bindings to provide low-level access to operating system functions, allowing for the programmatic control of the mouse and keyboard and the analysis of screen pixels. The library functions as a toolkit for automating user interfaces and desktop workflows, including those within Electron applications. It enables the simulation of key presses and mouse movements to automate interactions with desktop software and perform automated data entry. Its capabilities extend to screen pixel analysis, where it capture
PyAutoGUI is a Python GUI automation library and desktop automation framework. It provides a set of tools for programmatically controlling the mouse and keyboard to automate user interface interactions across different operating systems. The project functions as a cross-platform input simulator and computer vision screen scanner. It enables the simulation of keystrokes and cursor movements to perform repetitive tasks and utilizes screen analysis to locate specific images or pixel colors on the display. Its capability surface includes mouse and keyboard input simulation, screen image capture,
Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through graphical user interface interactions. It functions as a computer use interface, utilizing vision-language grounding to translate natural language goals into precise screen coordinates and system actions. The project differentiates itself by combining structured accessibility tree inspection with vision-based element localization. It manages cross-application workflows by mapping conceptual descriptions to physical pixels and simulating low-level keyboard and mouse events to mov
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
AutoKey is a Linux GUI macro manager and Python desktop automation tool. It functions as a background daemon that simulates keyboard and mouse events via the X11 protocol to automate interactions with graphical user interfaces. The software provides a Python scripting engine for executing stateful automation and a text expansion utility that replaces short abbreviations with predefined content or scripted actions in real time. It differentiates itself by combining low-level input simulation with the ability to manage global state and persistent variables across different scripts. The project
Bytebot is an LLM desktop automation framework and virtual Linux desktop environment. It enables AI agents to plan and execute mouse and keyboard actions on a virtual computer using natural language, allowing for autonomous desktop automation and the integration of legacy systems that lack native APIs. The system operates as an LLM API gateway and a Model Context Protocol server, routing requests across multiple language model providers with integrated load balancing and rate limiting. It provides isolated, containerized environments where agents use visual reasoning to interpret screenshots
This project is an autonomous desktop automation agent that interprets natural language instructions to control applications, browser interfaces, and system terminals. It functions as a cross-platform utility designed to manage complex workflows by integrating visual screen analysis with system-level input simulation. The agent distinguishes itself through its ability to perform tasks asynchronously, ensuring that web and terminal operations run in the background without interrupting the active user session or desktop focus. By combining computer vision to map interface elements with event-dr
A library to notify about any (pluggable) activity on your machine, and let you take action as needed
systray is a Go library used to create and manage icons and menus within the operating system notification area. It functions as a cross-platform GUI library that provides a persistent application entry point and a notification area menu manager. The library enables the creation of hierarchical menus and custom tray icons across different desktop operating systems. It supports the use of nested submenus and allows for the styling of individual menu entries with custom images. The toolset covers a range of interaction capabilities, including the management of menu item states through checked
gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher
macOS Sleep/ Wake notifications in golang
Cross-platform Go library to place an icon in the host operating system's taskbar.
UI-TARS-desktop is a cross-platform desktop application designed to automate software interface interactions. It functions as a local agent environment that interprets graphical user interfaces through multimodal visual-language model reasoning, allowing it to navigate and manipulate software by simulating human-like mouse and keyboard inputs. The platform distinguishes itself by executing all visual recognition and decision-making logic directly on the host machine. This local inference model ensures that screen data and sensitive information remain private, as no processing is offloaded to
UI-TARS is an LLM GUI automation framework and multimodal action grounding system. It functions as a GUI agent orchestrator and cross-platform device controller that uses large language models to interpret graphical interfaces and execute actions across desktop and mobile operating systems. The system translates model-generated coordinates into precise screen positions to interact with visual user interface elements. It employs a multimodal approach to interpret screen layouts and decomposes complex goals into multi-step trajectories through reasoning and error correction. The project provid
RPA-Python is a robotic process automation framework for automating repetitive tasks across web browsers, desktop applications, and operating systems using Python scripts. It functions as a desktop process automator and browser automation tool designed to reduce manual labor and human error in digital workflows. The project includes an OCR screen data extractor for capturing snapshots and extracting text from images via optical character recognition. It also provides a system command wrapper for executing shell commands and managing local file operations, such as downloading files from URLs a
Espanso is a cross-platform text expander and desktop automation tool that monitors system-wide keystrokes to replace short trigger keywords with longer text blocks, images, or dynamic script outputs. It functions as a background service, enabling users to automate repetitive typing tasks across any application on their local system. The tool distinguishes itself through context-aware automation, which allows users to define specific rules that enable or disable expansion behavior based on the currently active window. It also features a centralized package management system for organizing and
Handy is a local speech-to-text automation tool designed to convert spoken audio into text and inject it directly into active desktop applications. By running machine learning models entirely on the host hardware, it provides a private, offline-first environment for dictation and command execution. The system functions as a background service that manages microphone input, transcription state, and text output, enabling hands-free typing across various software environments. The project distinguishes itself through a modular pipeline that integrates local language models for post-transcription
Glazewm is a tiling window manager and desktop automation framework designed to organize application windows into non-overlapping layouts. It functions as a keyboard-driven controller, allowing users to manage window focus, workspace navigation, and layout configurations entirely through custom keybindings. By intercepting system-level events, the software overrides default window placement and behavior to maximize screen space and maintain a structured workspace. The project distinguishes itself through a highly configurable environment that supports complex multi-monitor setups and dynamic
This is a Model Context Protocol server that exposes Windows desktop automation and system administration functions to large language models. It provides programmatic control of mouse, keyboard, windows, and UI elements on Windows through simulated user input, while also enabling LLMs to manage the Windows registry, processes, files, and execute PowerShell commands through a remote interface. The server supports multiple transport protocols including stdio, SSE, and streamable HTTP, allowing flexible integration with different language model clients. It implements OAuth 2.0 with PKCE for secu
This project is a computer control framework that uses multimodal vision models to simulate mouse and keyboard inputs for automating desktop tasks. It functions as an autonomous agent and vision-based orchestrator that interprets screen visuals to interact with user interfaces. The system employs vision language models and object detection to locate and click interface elements. It utilizes visual grounding to overlay numerical markers on UI components and uses optical character recognition to map on-screen text to precise pixel coordinates. The framework supports voice-controlled computing
Better Genshin Impact is a computer vision-based automation framework designed to perform repetitive tasks and combat sequences within game environments. It functions as a macro scripting engine that utilizes synthetic input injection to simulate human interaction with the operating system, allowing for hands-free execution of complex gameplay loops. The system distinguishes itself through a combination of template-matching visual recognition and state-machine logic, which enables the software to identify on-screen game elements and transition between operational states in real time. By mappi
SerpentAI is a game AI development kit and computer vision framework designed for building autonomous agents that interact with video games. It serves as a game input automation tool and a machine learning model integration engine, allowing developers to create agents that perceive game states and execute actions. The framework utilizes a plugin-based agent architecture to provide modular extensions for game-specific logic and behaviors. It features a specialized system for training, bundling, and deploying machine learning classifiers to recognize visual contexts and game states in real time
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
Karabiner-Elements is a system-level utility designed for advanced keyboard and mouse customization. It functions as a background service that intercepts raw hardware input signals at the driver level, allowing for the transformation of key presses and pointer movements before they reach the operating system. By utilizing virtual input device emulation, the software re-injects modified events into the system stream, enabling complex remapping, macro execution, and hardware-specific control. The project distinguishes itself through a sophisticated state-based logic engine that enables context-
This project is a Go WebAssembly frontend framework designed for building interactive web applications. It provides a toolkit for executing Go code directly in the browser to handle client-side logic and user interface development. The framework functions as a declarative UI library and a progressive web app toolset. It enables the creation of installable applications that can operate in standalone windows and maintain offline functionality. The system manages browser-side application development through a component-based view hierarchy and a declarative syntax for defining UI elements. It i
PySimpleGUI is a Python framework used to build graphical user interfaces. It functions as an adapter-based wrapper that maps multiple GUI toolkit APIs into a single unified interface, allowing for backend-agnostic development across tkinter, Qt, or WxPython. The project uses a layout-based UI definition system where visual hierarchies are defined via nested lists rather than coordinate-based placement. It employs an event-driven polling loop and string-based event mapping to associate interface elements with specific user actions. The framework supports cross-framework GUI design and intera
Declarative User Interfaces for Python
pywebview is a cross-platform desktop GUI framework for Python that renders HTML, CSS, and JavaScript content using the operating system's native web rendering engine. It enables developers to build desktop applications that run on Windows, macOS, and Linux from a single Python codebase, with the web frontend displayed in a lightweight, native window. The framework provides a bidirectional JavaScript-Python bridge for real-time data exchange between frontend and backend, along with the ability to manipulate the Document Object Model directly from Python without writing JavaScript. It includes
Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive framework for building native applications that run on desktop, mobile, and web environments from a single codebase. The toolkit centers on a canvas-based rendering engine and a device-independent layout engine, ensuring that visual elements maintain consistent dimensions and behavior across diverse operating systems and screen densities. The project distinguishes itself through a reactive data-binding system that automatically synchronizes application state with interface co