go-vgo/robotgo

RobotGo, Go Native cross-platform RPA, GUI automation, Auto test and Computer use @vcaesar

解决的问题

Robotgo 提供了一种跨平台的方式来自动化桌面交互。它允许开发人员以编程方式控制鼠标和键盘、读取屏幕内容、管理窗口并监听全局系统事件,从而无需为 Mac、Windows 和 Linux 编写特定平台的代码。

工作原理

它作为不同操作系统中系统级 API 的封装。它提供多种后端,包括传统的基于 Cgo 的实现,以及针对 Windows、macOS、X11、Wayland 和 libei 的实验性纯 Go (Cgo-free) 后端。这使其能够模拟用户输入(点击、打字、滚动)、捕获屏幕像素或位图,并识别窗口句柄以针对特定进程。

适用对象

专为构建桌面自动化工具、自动化测试套件或具备“计算机使用”(像人类一样与 GUI 交互)能力的 AI 代理的 Go 开发人员设计。

亮点

  • 跨平台支持:支持 Mac、Windows 和 Linux(包括 X11 和 Wayland)。
  • 输入控制:完全控制鼠标移动、点击、键盘打字和组合键。
  • 屏幕感知:能够捕获屏幕、获取像素颜色并在屏幕上查找特定的位图或图像。
  • 窗口管理:查找进程 ID、激活窗口并管理窗口句柄。
  • 全局事件监听:能够通过 gohook 包注册键盘和鼠标事件的钩子。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目