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 套件註冊鍵盤和滑鼠事件的鉤子。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案