Skip to main content
電腦操作功能讓閘道代理程式能夠查看並控制已配對且功能完備的桌面。資格判定以能力為基礎:已連線的節點必須同時公告 computer.actscreen.snapshot,且後者的結果必須包含 displayFrameId。此工具會擷取螢幕截圖作為參考影格,接著透過危險的 computer.act 命令驅動指標與鍵盤。動作集遵循 Anthropic 核心電腦操作動作;不提供選用的 computer_20251124 縮放功能。具備視覺能力的模型透過內建的 computer 代理程式工具來驅動它。 代理程式會發出單一統一命令 computer.act;它無法得知節點如何執行該命令。隨附的 macOS 應用程式會在處理程序內使用內嵌的 Peekaboo 服務,加上範圍有限的 CoreGraphics 基本功能來處理命令(需具備正確的 TCC 權限,且不會產生額外處理程序)。Windows 和 Linux 可使用選用的實驗性 cua-computer 外掛,搭配另外安裝的 cua-driver 二進位檔。兩種執行端都採用相同的配對與啟用政策。

需求

  • 已配對且連線中的節點,同時公告 computer.actscreen.snapshot,其中 screen.snapshot 會傳回 displayFrameId
  • **macOS 執行端:**已啟用應用程式設定 Allow Computer Control(預設:關閉)。
  • **macOS 執行端:**已授予 OpenClaw Accessibility 權限(用於注入指標/鍵盤輸入)和 Screen Recording 權限(用於 screen.snapshot)。
  • **Windows/Linux 執行端:**已啟用隨附的 cua-computer 外掛,並安裝相容的 cua-driver 0.10.x 可執行檔。
  • 閘道上已啟用 computer.act 命令(此命令具有危險性,預設為停用)。
  • 具備視覺能力的代理程式模型。
  • 公開 computer 的工具政策。預設的 coding 設定檔不會公開此工具。將 computer 新增至 tools.alsoAllow;沙箱化代理程式也需要將它加入 tools.sandbox.tools.alsoAllow

computer 代理程式工具

內建的 computer 工具每次呼叫會執行一個動作。座標是最近一次螢幕截圖中的非負整數像素;節點會將其對應至顯示器上的點。座標動作必須回傳螢幕截圖結果的 frameId,若明確指定 screenIndex,也必須與該影格相符。OpenClaw 也會將螢幕截圖中由節點發出的顯示器識別資訊帶入動作,因此顯示器重新連線或幾何配置變更時會採取封閉式失敗,而不會在無提示的情況下重新指向相同索引。這些檢查會拒絕猜測的權杖,以及來自其他已傳遞影格或顯示器的權杖。權杖不保證資料仍為最新:擷取後,應用程式仍可能變更同一顯示器上的像素,因此只要場景可能已變更,就應重新擷取螢幕截圖。
  • 讀取:screenshot
  • 指標:left_clickright_clickmiddle_clickdouble_clicktriple_clickmouse_moveleft_click_drag(搭配 startCoordinate)、left_mouse_downleft_mouse_up
  • 捲動:scroll,搭配 scrollDirectionup|down|left|right)和 scrollAmount(滾輪刻度)。
  • 鍵盤:type(文字)、key(例如 cmd+shift+tReturn 的組合鍵)、hold_key(按住 text 組合鍵 duration 秒)。
  • 節奏控制:waitduration 秒)。
輔助按鍵會透過點擊與捲動動作的 text 欄位傳遞(shiftctrlaltcmd)。輸入動作完成後,工具會傳回新的螢幕截圖,讓模型觀察結果。如果連線了多個具備電腦操作能力的節點,請明確傳入 node 螢幕截圖僅供模型使用:絕不會自動傳送至聊天頻道。請將螢幕上的所有內容視為不受信任的輸入;工具會警告模型,不要遵循與使用者要求衝突的螢幕指示。

Windows 和 Linux(實驗性,透過 cua-driver)

隨附的 cua-computer 外掛為 Windows 和 Linux 節點主機提供實驗性執行端。此功能預設為停用,並需要預發行版 0.10.x 驅動程式合約:
  1. 上游發行版本安裝 cua-driver 0.10.x 二進位檔,並讓它可在 PATH 上使用。若要使用其他可執行檔位置,請設定 plugins.entries.cua-computer.config.driverPath
  2. 啟用外掛:
  3. 從互動式桌面工作階段啟動 openclaw node run。首次收到擷取或動作要求時,外掛才會延遲啟動本機驅動程式常駐程式。
此執行端目前只能控制主要顯示器。X11/XWayland 是 Linux 的首選路徑。原生 Wayland 仍是上游的選用功能:啟動節點前請自行設定 CUA_DRIVER_RS_ENABLE_WAYLAND;OpenClaw 絕不會自動設定。上游原生 Wayland 輸入路徑不支援 KDE/KWin。由於 cua-driver 0.10.x 沒有跨平台、桌面範圍的按住合約,因此無法使用 hold_keyleft_mouse_downleft_mouse_up。兩個平台都無法使用按住輔助按鍵時的捲動與拖曳,Linux 也無法使用按住輔助按鍵時的點擊。key 動作接受具名按鍵、字母和輔助按鍵組合(例如 cmd+cReturn);數字與標點符號按鍵會遭拒絕,因為驅動程式會丟棄其與鍵盤配置相關的 Shift 狀態,所以請改用 type 動作傳送該文字。在一次 type_text 驅動程式呼叫期間,無法中途取消文字輸入。 由於 cua-driver 不會回報穩定的顯示器識別資訊,因此影格授權會繫結至驅動程式連線以及即時的主要顯示器幾何配置。常駐程式或工作階段重新連線會使尚未使用的影格失效,但如果在保持連線開啟的情況下,以幾何配置相同的主要顯示器取代原顯示器,則無法偵測;此執行端建議使用穩定的單一顯示器工作階段。 OpenClaw 會停用其所管理之 mcpserve 處理程序的 cua-driver 遙測與更新檢查。它不會下載或更新驅動程式二進位檔。

疑難排解

cua-computer 執行端會在工具結果與節點記錄中提供具型別的錯誤代碼。常見錯誤如下:

computer.act 節點命令

computer.act 是工具用來路由輸入的單一節點命令(node.invoke 搭配 command: "computer.act")。其特性如下:
  • 預設具有危險性:列於內建的危險節點命令中,且在明確啟用前會從執行階段允許清單中排除。macOS、Windows 和 Linux 桌面節點仍可在配對時宣告此命令,讓此功能介面只需核准一次。
  • 以能力為基礎:工具要求已連線的節點同時公告 computer.actscreen.snapshot。隨附的 macOS 應用程式與選擇啟用的實驗性 cua-computer 外掛會執行相同的命令組合。
讀取操作會重複使用 screen.snapshot;沒有第二條擷取路徑。共用擷取命令請參閱相機與螢幕節點

啟用並解除防護

  1. 啟用平台執行器:在 macOS 上,啟用 Settings → Allow Computer Control,然後在 Settings → Permissions 下授予 AccessibilityScreen Recording;在 Windows/Linux 上,依照上方的實驗性 cua-computer 設定。
  2. 在閘道上核准配對更新(新命令會強制重新配對)。
  3. 將工具提供給具備視覺能力的代理程式。對於預設的 coding 設定檔:
  4. 在有限的時間範圍內啟用 computer.actphone-control 外掛提供 computer 群組:
    啟用需要 operator.admin(或擁有者),且會自動到期。舊版 /phone arm all 群組刻意排除桌面控制;請使用明確的 computer 群組。啟用只會切換閘道可叫用的項目;節點應用程式仍會強制執行其平台專屬設定和作業系統權限,包括 macOS 上的 Allow Computer Control、Accessibility 和 Screen Recording。
若要持續授權,請將 computer.act 新增至 gateway.nodes.commands.allow並將其從 gateway.nodes.commands.deny 移除;拒絕清單優先。持續授權不會自動到期。在 /phone arm 前已存在的項目,在 /phone disarm 後仍會保留;暫時授權處於啟用狀態時,請勿將其轉換為持續授權。 授權刻意拆分為啟用與使用兩個階段。啟用或 持續設定 computer.act 需要管理權限。 啟用後,具備 operator.write 的已驗證操作者可以透過 node.invoke 叫用 computer.act,直到授權到期或遭停用; 不會針對每個動作檢查管理員權限。核准宣告 computer.act 的節點只會記錄該操作介面,使其稍後可被啟用, 本身並不會啟用叫用功能。

安全性

  • 授權前,每一層(工具政策、閘道命令政策、節點應用程式設定及平台權限)都必須同意。對目前的 macOS 執行器而言,這包括 Allow Computer Control、Accessibility 和 Screen Recording。啟用後,動作執行時不會逐一要求確認,直到到期或 /phone disarm
  • macOS 執行器會逐一輸入字素,因此取消、斷線、暫停、停用或端點替換,都會使其在輸入下一個字素前停止。實驗性的 cua-driver 執行器無法在輸入期間中途取消 type_text 呼叫。
  • 螢幕截圖僅供模型使用,絕不會自動傳送至聊天(議題 #44759)。
  • 請將螢幕內容視為不受信任;其中可能含有提示詞注入。

與其他桌面控制路徑的關係

這是由代理程式驅動的路徑。請參閱 Peekaboo 橋接器,了解它與 PeekabooBridge 主機、Codex Computer Use 及直接 cua-driver MCP 的關係。