UStackUStack
open-codex-computer-use icon

open-codex-computer-use

open-codex-computer-use 是開源「Computer Use」服務,封裝為 MCP 伺服器,讓 AI 代理或 MCP 用戶端在 macOS/Linux/Windows 執行桌面 GUI 操作。

open-codex-computer-use

open-codex-computer-use 是什麼?

Open Computer Use (open-codex-computer-use) 是開源「Computer Use」服務,封裝為 MCP (Model Context Protocol) 伺服器。它讓 AI 代理或任何 MCP 用戶端在 macOS、Linux 和 Windows 上執行 GUI 電腦操作。

此專案受 OpenAI 的 Codex Computer Use 啟發。它在系統 Accessibility API 上實作非侵入式「CUA」(電腦使用自動化)行為,然後透過 MCP 暴露此功能,讓不同代理用戶端能驅動它。

主要功能

  • 電腦操作的 MCP 伺服器封裝:提供 MCP 端點,讓 MCP 用戶端請求 GUI 操作。
  • 跨平台電腦使用 (macOS、Linux、Windows):設計用於跨桌面作業系統執行電腦自動化。
  • 基於 Accessibility 的自動化:使用 Accessibility 作為非侵入式 CUA 行為的底層機制。
  • CLI 風格的「工具呼叫」介面:支援列出應用程式、查詢應用程式狀態(例如依應用程式名稱)及執行動作如按鍵等指令。
  • 入門與權限檢查:包含 doctor 指令,用於檢查權限並在缺少必要存取權時顯示入門行為。

如何使用 open-codex-computer-use

  1. 在您的機器上安裝並提供給您的代理/用戶端使用

    • 寫入 ~/.codex/config.toml 並執行以下指令安裝至 Codex:
      open-computer-use install-codex-mcp
      
    • 或使用 MCP JSON 設定手動新增至您的 MCP 用戶端:
      {
        "mcpServers": {
          "open-computer-use": {
            "command": "open-computer-use",
            "args": ["mcp"]
          }
        }
      }
      
  2. 授予必要權限

    • macOS 上,必須執行一次並授予 AccessibilityScreen Recording
    • Windows 和 Linux 上,頁面指出無需額外步驟。
  3. 透過 MCP 工具呼叫使用

    • 範例:列出應用程式
      open-computer-use call list_apps
      
    • 範例:取得 TextEdit 的應用程式狀態
      open-computer-use call get_app_state --args '{"app":"TextEdit"}'
      
    • 範例:在單一程序中執行多步驟(重用 element_index 狀態),成功操作間加入延遲:
      open-computer-use call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}},{"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}]'
      

使用情境

  • 從 AI 代理 (MCP 用戶端工作流程) 驅動本機桌面應用程式:代理使用 MCP 工具呼叫檢查應用程式狀態並在 macOS/Linux/Windows 上觸發 GUI 操作。
  • 跨用戶端重現「Codex 風格」電腦使用行為:儲存庫指出「open-computer-use」用作 Codex App 和 Codex CLI 中的 Computer Use,符合官方體驗。
  • 驗證與疑難排解權限:使用 open-computer-use doctor 檢查是否缺少必要存取權並了解入門提示。
  • 批次短暫 GUI 互動序列:在單一程序中執行多步驟動作序列,讓中間狀態(如 element_index)能在步驟間重用。
  • 平台特定測試:儲存庫包含 Linux 上 Computer Use 的示範,以及透過 MCP 與 Gemini CLI 的整合。

常見問題

  • 這裡的「封裝為 MCP」是什麼意思? 此專案透過 MCP 伺服器介面暴露電腦使用功能,讓 MCP 用戶端呼叫工具執行 GUI 操作。

  • 我需要授予權限嗎? 頁面指出在 macOS 上需執行一次並授予 AccessibilityScreen Recording;Windows 和 Linux 無需此步驟。

  • 如何將它連接到我的代理? 您可以使用提供的安裝指令安裝至特定用戶端(例如 Codex),或透過 mcpServers 下的 MCP JSON 設定手動配置。

  • 我可以呼叫單一工具或執行序列嗎? 可以。頁面顯示單一工具呼叫範例(如 list_appsget_app_state)及透過 open-computer-use call --calls--calls-file 的多步驟序列。

  • 有內建檢查設定健康狀態的方式嗎? 有。儲存庫包含 open-computer-use doctor 用於權限檢查。

替代方案

  • open-browser-use (專注瀏覽器的替代方案):若您對瀏覽器使用感興趣而非桌面 GUI 自動化,儲存庫指向「open-browser-use」。
  • 其他電腦/瀏覽器自動化的 MCP 伺服器整合:若您已標準化使用 MCP,可尋找暴露 GUI 自動化工具的替代 MCP 伺服器—依其支援的 OS 和自動化後端定位。
  • 程序內自動化程式庫 (非 MCP):有些設定不在 MCP 下使用直接桌面自動化 API/程式庫於單一應用程式/代理執行環境中;這與 MCP 網路邊界不同,需要更緊密的整合。