[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6188":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},6188,"robotjs","octalmage\u002Frobotjs","octalmage","Node.js Desktop Automation. ","http:\u002F\u002Frobotjs.dev",null,"C",12737,1001,191,12,0,3,10,71.5,"MIT License",false,"master",true,[],"2026-06-12 04:00:27","\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Fcldup.com\u002F1ATDf2JMtv.png\">\u003C\u002Fp>\n\n> Node.js Desktop Automation. Control the mouse, keyboard, and read the screen.\n\nRobotJS supports Mac, [Windows](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F2), and [Linux](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F17).\n\nThis is a work in progress so the exported functions could change at any time before the first stable release (1.0.0). [Ideas?](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F4)\n\n[Check out some of the cool things people are making with  RobotJS](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki\u002FProjects-using-RobotJS)! Have your own rad RobotJS project? Feel free to add it!\n\n## Contents\n\n- [Installation](#installation)\n- [Examples](#examples)\n- [API](https:\u002F\u002Frobotjs.dev\u002Fdocs\u002Fsyntax)\n- [Building](#building)\n- [Plans](#plans)\n- [Progress](#progress)\n- [FAQ](#faq)\n- [License](#license)\n\n## Installation\n\nInstall RobotJS using npm:\n\n```\nnpm install robotjs\n```\nIt's that easy! npm will download one of the prebuilt [binaries](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Freleases\u002Flatest) for your OS.\n\nYou can get npm [here](https:\u002F\u002Fnodejs.org\u002Fen\u002Fdownload\u002F) if you don't have it installed.\n\nIf you need to build RobotJS, see the [building](#building) section. Instructions for [Electron](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki\u002FElectron).\n\n## Examples\n\n##### [Mouse](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki\u002FSyntax#mouse)\n\n\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Fcldup.com\u002FlugVjjAkEi.gif\">\u003C\u002Fp>\n\n```JavaScript\n\u002F\u002F Move the mouse across the screen as a sine wave.\nvar robot = require(\"robotjs\");\n\n\u002F\u002F Speed up the mouse.\nrobot.setMouseDelay(2);\n\nvar twoPI = Math.PI * 2.0;\nvar screenSize = robot.getScreenSize();\nvar height = (screenSize.height \u002F 2) - 10;\nvar width = screenSize.width;\n\nfor (var x = 0; x \u003C width; x++)\n{\n\ty = height * Math.sin((twoPI * x) \u002F width) + height;\n\trobot.moveMouse(x, y);\n}\n```\n\n##### [Keyboard](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki\u002FSyntax#keyboard)\n\n```JavaScript\n\u002F\u002F Type \"Hello World\" then press enter.\nvar robot = require(\"robotjs\");\n\n\u002F\u002F Type \"Hello World\".\nrobot.typeString(\"Hello World\");\n\n\u002F\u002F Press enter.\nrobot.keyTap(\"enter\");\n```\n\n##### [Screen](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki\u002FSyntax#screen)\n\n```JavaScript\n\u002F\u002F Get pixel color under the mouse.\nvar robot = require(\"robotjs\");\n\n\u002F\u002F Get mouse position.\nvar mouse = robot.getMousePos();\n\n\u002F\u002F Get pixel color in hex format.\nvar hex = robot.getPixelColor(mouse.x, mouse.y);\nconsole.log(\"#\" + hex + \" at x:\" + mouse.x + \" y:\" + mouse.y);\n```\nRead the [Wiki](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fwiki) for more information!\n\n## [API](http:\u002F\u002Frobotjs.dev\u002Fdocs\u002Fsyntax)\n\nThe RobotJS API is hosted at \u003Chttps:\u002F\u002Frobotjs.dev\u002Fdocs\u002Fsyntax>.\n\n## Building\n\nPlease ensure you have the required dependencies before installing:\n\n* Windows\n  * windows-build-tools npm package (`npm install --global --production windows-build-tools` from an elevated PowerShell or CMD.exe)\n* Mac\n  * Xcode Command Line Tools.\n* Linux\n  * Python (v2.7 recommended, v3.x.x is not supported).\n  * make.\n  * A C\u002FC++ compiler like GCC.\n  * libxtst-dev and libpng++-dev (`sudo apt-get install libxtst-dev libpng++-dev`).\n\nInstall node-gyp using npm:\n\n```\nnpm install -g node-gyp\n```\n\nThen build:\n\n```\nnode-gyp rebuild\n```\n\nSee the [node-gyp readme](https:\u002F\u002Fgithub.com\u002Fnodejs\u002Fnode-gyp#installation) for more details.\n\n## Plans\n\n* √ Control the mouse by changing the mouse position, left\u002Fright clicking, and dragging.\n* √ Control the keyboard by pressing keys, holding keys down, and typing words.\n* √ Read pixel color from the screen and capture the screen.\n* Find an image on screen, read pixels from an image.\n* Possibly include window management?\n\n## Progress\n\n| Module        | Status        | Notes   |\n| ------------- |-------------: | ------- |\n| Mouse         | 100%           | All planned features implemented.       |\n| Keyboard      | 100%           | All planned features implemented.       |\n| Screen        | 85%            | Image search, pixel search. |\n| Bitmap        | 0%             |  Saving\u002Fopening, png support.  |\n\n## FAQ\n\n#### Does RobotJS support global hotkeys? \n\nNot currently, and I don't know if it ever will. I personally use [Electron](http:\u002F\u002Felectron.atom.io\u002F)\u002F[NW.js](http:\u002F\u002Fnwjs.io\u002F) for global hotkeys, and this works well. Later on I might add hotkey support or create a separate module. See [#55](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F55) for details. \n\n#### Can I take a screenshot with RobotJS? \n\nSoon! This is a bit more complicated than the rest of the features, so I saved it for last. Luckily the code is already there, I just need to write the bindings, and I've already started. Subscribe to [#13](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F13) for updates. \n\n#### Why is &#60;insert key&#62; missing from the keyboard functions? \n\nWe've been implementing keys as we need them. Feel free to create an issue or submit a pull request!\n\n#### How about multi-monitor support?\n\nThe library doesn't have explicit multi-monitor support, so anything that works is kind of on accident. Subscribe to [#88](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002F88) for updates.\n\nFor any other questions please [submit an issue](https:\u002F\u002Fgithub.com\u002Foctalmage\u002Frobotjs\u002Fissues\u002Fnew).\n\n## Story\n\nI'm a huge fan of [AutoHotkey](https:\u002F\u002Fwww.autohotkey.com\u002F), and I've used it for a very long time. AutoHotkey is great for automation and it can do a bunch of things that are very difficult in other languages. For example, it's [imagesearch](https:\u002F\u002Fwww.autohotkey.com\u002Fdocs\u002Fcommands\u002FImageSearch.htm) and [pixel](https:\u002F\u002Fwww.autohotkey.com\u002Fdocs\u002Fcommands\u002FPixelGetColor.htm) related functions are hard to reproduce on Mac, especially in scripting languages. These functions are great for automating apps that can't be automated like [Netflix](http:\u002F\u002Fblueshirtdesign.com\u002Fapps\u002Fautoflix\u002F). This has never been a big deal since I've always used Windows at work, but for the past few years I've been using Mac exclusively. \n\nI like AutoHotkey, but I like Node.js more. By developing RobotJS I get an AutoHotkey replacement on Mac (finally!), and I get to use my favorite language. \n\n**TLDR:** There's nothing like AutoHotkey on Mac, so I'm making it. \n\n## License\n\nMIT\n\nBased on [autopy](https:\u002F\u002Fgithub.com\u002Fmsanders\u002Fautopy). \nMaintained by [Jason Stallings](http:\u002F\u002Fjason.stallin.gs).\n","RobotJS 是一个基于 Node.js 的桌面自动化工具，可以控制鼠标、键盘操作，并读取屏幕信息。该项目使用 C 语言编写核心功能，通过 Node.js 模块提供简洁易用的 API，支持 Windows、Mac 和 Linux 系统。它适用于需要自动执行重复性任务、开发辅助工具或进行测试脚本编写的场景。安装简单，只需一条 npm 命令即可完成。尽管项目仍在发展中，但已具备稳定的核心功能，并且社区活跃，有许多有趣的案例分享。",2,"2026-06-11 03:05:55","top_language"]