browser-use/macos-harness

The simplest, thinnest harness that gives an LLM complete freedom to control a Mac.

解決的問題

提供一個極簡、輕量的介面,讓 LLM 代理能控制 Mac 電腦。不依賴預先建構的、應用程式特定的工具或僵化的框架,而是提供原始的原語,讓代理能與任何應用程式、瀏覽器和本機檔案系統互動。

工作原理

此專案以單一持續的 Python 進程運行,透過多種底層機制將 LLM 與 macOS 連接:

  • 視覺與輸入:使用 CGWindow 進行螢幕截圖,使用 CGEvent 直接向特定應用程式之進程 ID(PID)傳送鍵盤與座標輸入,而無需移動使用者的實際滑鼠游標。
  • 可存取性:在視覺資料不足時,公開原始的 Apple Accessibility(AX)與 Apple Events,以實現更深入的互動。
  • 瀏覽器控制:與 Browser Harness 整合,透過 Chrome DevTools Protocol(CDP)控制一個真實且已登入的網頁瀏覽器。
  • 系統存取:透過 Path 提供對本機檔案系統的直接存取,透過 subprocess 提供對系統 shell 的存取。

適用對象

需要在 macOS 上執行複雜、跨應用程式任務,但不受預定義外掛程式或工具集限制的 AI 代理開發者。

特色

  • 無預設工具:代理可在任務執行過程中使用原始原語(seekeytypeclickaxscript)撰寫自己的 Python 程式碼。
  • 非侵入式:在不將應用程式置於前景或移動實際滑鼠指標的情況下,捕獲背景視窗並傳送輸入。
  • 帶動畫的可點擊穿透指標,用於視覺反饋。
  • 自引導:設計為可透過一組簡單指示由代理自身完成安裝與設定。

相關

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