robotgo

用 Go 写一遍,鼠标键盘屏幕全自动跑起来

RobotGo 是一个基于 Go 语言的原生跨平台 RPA(机器人流程自动化)与 GUI 自动化库,旨在帮助开发者用 Go 语言轻松实现桌面端的自动化操作。它解决了在 Windows、macOS 和 Linux 上统一控制鼠标、键盘、屏幕和窗口的难题,提供了丰富的 API,包括模拟鼠标点击与移动、键盘输入、屏幕截图、图像识别(基于 OpenCV)、窗口管理和全局事件钩子等。核心能力涵盖从基础的输入模拟到复杂的视觉驱动的自动化流程,并支持 AI 与计算机视觉的集成,可用于自动化测试、桌面助手和智能操作。项目采用 CGo 调用底层系统 API,性能高效,社区活跃,是 Go 生态中功能最全面的自动化工具之一。

开源 free 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 10816
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类自动化工作流
开发团队go-vgo
所属国家
官网地址https://atomai.cc
定价模式free
价格说明开源项目,基于Apache-2.0许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型ai,auto-test,automation,c,computer-use,go,golang,hook,image,mouse,opencv,robot,robotgo,rpa,window
GitHub 星标★ 10816
30天Star增速
HF 下载量
上线时间2016-09-26 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数6

使用教程

难度:进阶 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Go 1.11 及以上(需支持 Go module)
  • 支持 macOS、Windows、Linux 系统
  • 支持 arm64 与 x86-amd64 架构
  • Linux 需系统包管理器安装 Go(apt 或 snap)
  • 编译依赖底层图形库,缺失时可能报 png.h 错误

安装与启动步骤

  1. 1安装 Go 环境

    Linux 可用 apt 或 snap 安装 Go 工具链;其他平台先装好 Go,README 要求 1.11+ 以支持 module。

    sudo apt install golang
  2. 2初始化 Go 模块

    在项目目录下初始化 module,这样才能用 go get 拉取 robotgo 并 import 该包。

    go mod init robotgo-demo
  3. 3拉取 robotgo 依赖

    执行 go get 下载安装 robotgo 包,等待依赖写入 go.mod 与 go.sum。

    go get github.com/go-vgo/robotgo
  4. 4在代码中导入包

    Go 1.11+ 支持 module 时,直接在源码中 import 该包即可使用其 API。

    import "github.com/go-vgo/robotgo"
  5. 5构建或运行程序

    macOS arm64 可按 README 关闭 CGo 用 purego 构建;其他平台直接 go run 编译运行。

    CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -tags mac .

关键配置

配置项必填说明示例
CGO_ENABLED否设为 0 表示关闭 CGo,macOS 走 purego 运行时加载0
GOOS否指定目标操作系统,README 示例为 darwindarwin
GOARCH否指定目标架构,README 示例为 arm64arm64

如何确认成功

go get 无报错,go build 或 go run 编译通过、无 png.h 等缺失库错误,即表示安装成功。

常见问题

Q:编译报 png.h: No such file or directory 怎么办?

A:说明系统缺少图形相关开发库,README 指向 issues/47,请按该 issue 安装缺失依赖后重新编译。

Q:robotgo 支持哪些平台和架构?

A:支持 Mac、Windows、Linux,并且支持 arm64 与 x86-amd64 架构。

Q:必须安装 Xcode 吗?

A:不必。macOS 下 Quartz/CoreGraphics 通过 purego 在运行时加载,README 明确说明无需 Xcode。

Q:Go 版本有什么要求?

A:需要 Go 1.11 及以上版本,以便使用 Go module 支持并直接 import 该包。

注意事项

  • 非 module 模式的老项目改用 go get github.com/go-vgo/robotgo 安装。
  • macOS arm64 可用 CGO_ENABLED=0 加 -tags mac 构建,无需 Xcode。
  • Linux 上可用 sudo apt install golang 或 sudo snap install go --classic 安装 Go。
  • 需要 CGo 与系统底层图形库配合,编译环境不完整时优先查官方 issue。

核心亮点

  • 跨平台统一 API,一套代码搞定 Windows/macOS/Linux 桌面自动化
  • 内置 OpenCV 图像识别,支持视觉定位元素,适合复杂 UI 操作
  • 提供全局鼠标键盘钩子,可监听系统事件,扩展性强

不足之处

  • CGo 依赖导致交叉编译和部署较麻烦
  • 文档示例偏少,高级功能需读源码

适用场景

  • 编写跨平台桌面自动化测试脚本
  • 实现 RPA 流程,如自动填表、文件处理
  • 构建基于视觉的 AI 助手,模拟人工操作

替代项目

SikuliX、PyAutoGUI、AutoHotkey

项目介绍

robotgo 是自动化工作流领域的开源项目,由 go-vgo 开发,2016 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(10,816)位列前 5%,在自动化工作流分类的 509 个项目里位列前 10%。

近 41 天,它的 GitHub 星标从 10,767 增加到 10,816,净增 49。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。基于Apache-2.0许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:编写跨平台桌面自动化测试脚本。同类可对比的替代方案包括 SikuliX、PyAutoGUI、AutoHotkey。

上一篇:robotframework

下一篇:TagUI

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 205700 2026-08-10
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 262 2026-08-09
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 301 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95609 2026-08-10