awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
octalmage avatar

octalmage/robotjs

0
View on GitHub↗
12,740 stars·1,000 forks·C·MIT·28 viewsrobotjs.dev↗

Robotjs

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 captures screen visuals and reads individual pixel colors to monitor the state of a display. These features facilitate GUI testing automation by verifying visual results through screen snapshots.

Features

  • Mouse Automation - Programmatically simulates cursor movements and click events to automate interactions with desktop applications.
  • Desktop Application Automation - A toolkit for automating user interfaces within Electron applications by recompiling native modules for the shell runtime.
  • Pixel-Buffer Memory Mapping - Directly reads screen memory addresses to retrieve pixel color data and capture display snapshots.
  • Pixel Analyzers - Inspects pixel-level color data to monitor and detect visual changes on the display.
  • Keyboard Input Automation - Simulates key presses and types text strings to automate data entry and command execution.
  • Mouse Control Automation - Moves the cursor to specific coordinates and performs clicks or drag-and-drop actions.
  • Screen Capture Utilities - Captures screen regions and snapshots to verify visual states or locate specific images.
  • Input Event Simulation - Injects synthetic input events into the system queue to simulate hardware mouse and keyboard activity.
  • Cross-Application Input Simulators - Simulates keyboard and mouse input to automate interactions across various desktop applications.
  • Desktop Automation - Automates repetitive user tasks and workflows across the local desktop operating system.
  • Native C Interoperability - Provides native C++ bindings to allow Node.js to interact directly with low-level operating system APIs.
  • Desktop Automation Libraries - A set of native bindings for simulating keyboard and mouse input and reading screen pixels within a Node.js environment.
  • Node.js Native Addons - Implements a native Node.js addon using C++ bindings for low-level access to OS input and display functions.
  • Input-Based Data Entry - Uses programmed keystrokes and mouse movements to transfer information between desktop applications.
  • Pixel Analysis - Provides the ability to capture screen visuals and read individual pixel colors to monitor display states for automation.
  • Native Module Recompilers - Allows recompiling native modules to ensure binary compatibility with the Electron desktop shell runtime.
  • Cross-Platform Abstractions - Abstracts divergent Windows, macOS, and Linux system calls into a single unified JavaScript interface.
  • User Interaction Simulation - Replicates human input and analyzes screen pixels to verify GUI visual results during testing.
  • Electron Application Automation - Controlling desktop applications built with Electron by simulating input events and managing native module binaries.
  • Automation & RPA - Desktop automation for Node.js.
  • Automation Tools - Desktop automation for mouse and keyboard control.

Star history

Star history chart for octalmage/robotjsStar history chart for octalmage/robotjs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does octalmage/robotjs do?

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.

What are the main features of octalmage/robotjs?

The main features of octalmage/robotjs are: Mouse Automation, Desktop Application Automation, Pixel-Buffer Memory Mapping, Pixel Analyzers, Keyboard Input Automation, Mouse Control Automation, Screen Capture Utilities, Input Event Simulation.

Which projects share features with octalmage/robotjs?

Projects with overlapping indexed features include: simular-ai/agent-s — Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through… go-vgo/robotgo — Robotgo is a cross-platform desktop automation framework for the Go programming language. It provides a comprehensive… hammerspoon/hammerspoon — Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua… asweigart/pyautogui — PyAutoGUI is a Python GUI automation library and desktop automation framework. It provides a set of tools for… bytebot-ai/bytebot — Bytebot is an LLM desktop automation framework and virtual Linux desktop environment. It enables AI agents to plan and… cursortouch/windows-mcp — This is a Model Context Protocol server that exposes Windows desktop automation and system administration functions to…

Projects sharing features with Robotjs

These projects share indexed features with Robotjs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • simular-ai/agent-ssimular-ai avatar

    simular-ai/Agent-S

    11,855View on GitHub↗

    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

    Pythonagent-computer-interfaceai-agentscomputer-automation
    View on GitHub↗11,855
  • go-vgo/robotgogo-vgo avatar

    go-vgo/robotgo

    10,614View on GitHub↗

    Robotgo is a cross-platform desktop automation framework for the Go programming language. It provides a comprehensive toolkit for programmatically interacting with graphical user interfaces, enabling developers to simulate human input, manage application windows, and monitor system-wide hardware events. The library distinguishes itself through its low-level system integration, utilizing a foreign function interface to interact directly with native operating system APIs. It employs pixel-buffer memory mapping and real-time screen capture to perform visual element identification, allowing for i

    Goaiauto-testautomation
    View on GitHub↗10,614
hammerspoon/hammerspoonHammerspoon avatar

Hammerspoon/hammerspoon

14,497View on GitHub↗

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

Objective-Cautomationhammerspoonirc
View on GitHub↗14,497
  • asweigart/pyautoguiasweigart avatar

    asweigart/pyautogui

    12,564View on GitHub↗

    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,

    Python
    View on GitHub↗12,564
  • Compare all 30 related projects→