go-vgo/robotgo

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

해결하는 문제

Robotgo는 데스크톱 상호작용을 크로스플랫폼으로 자동화할 수 있는 방법을 제공합니다. 개발자는 마우스와 키보드를 프로그래밍 방식으로 제어하고, 화면 내용을 읽으며, macOS, Windows, Linux에서 창을 관리할 수 있어 각 운영체제마다 고유한 자동화 코드를 작성할 필요가 없습니다.

작동 방식

Robotgo는 Go 코드와 시스템의 저수준 입력 및 표시 API 사이의 다리 역할을 합니다. 주로 두 가지 빌드 경로를 제공합니다:

  • 기본값 (Cgo): C 컴파일러를 사용하여 네이티브 플랫폼 라이브러리에 접근합니다.
  • 순수 Go (실험적): win, mac, x11, wayland, libei와 같은 빌드 태그를 사용하여 Go 네이티브 백엔드를 활용하여 C 툴체인에 대한 의존성을 줄입니다.

또한 bitmap을 사용한 이미지 검색이나 gcv (OpenCV)를 사용한 복잡한 컴퓨터 비전 작업을 통해 화면 내 요소를 식별하는 등의 고급 작업을 위한 전용 라이브러리와 통합됩니다.

대상 사용자

  • QA 엔지니어: 자동 데스크톱 테스트를 생성하기 위해 사용.
  • AI 개발자: 데스크톱 환경을 인식하고 상호작용할 수 있는 "컴퓨터 사용 에이전트"를 구축하기 위해 사용.
  • 개발자: 생산성 도구, 매크로, 접근성 소프트웨어를 만들기 위해 사용.

주요 기능

  • 포괄적인 입력 제어: 마우스 이동, 클릭, 스크롤, 키보드 입력/단축키의 완전한 제어.
  • 크로스플랫폼: Windows, macOS, Linux (X11 및 Wayland 포함)의 네이티브 지원.
  • 화면 인식: 화면 캡처, 픽셀 색상 확인, bitmap 또는 OpenCV를 사용한 화면 내 이미지 검색.
  • 창 관리: 프로세스 ID 검색, 이름으로 창 활성화, 창 상태 관리 기능.
  • 글로벌 이벤트 리스닝: 사용자 입력에 따라 동작을 트리거할 수 있도록 글로벌 키보드 및 마우스 핸드폰 등록 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트