跳到內容

如何在 OpenClaw 中使用 Camera 影像擷取

有時候你在開發 agent 流程時,會很希望它能「看到」現場狀況。但處理不同平台的相機 API 總是很麻煩,光是處理權限和格式轉換就讓人頭大。

OpenClaw 的 camera 功能就是為了解決這個問題,讓你直接透過 Gateway 就能控制各個裝置的鏡頭,獲取即時的照片或短片。

  • 已透過 Gateway 配對的 iOS、Android 或 macOS node
  • 最新版本的 OpenClaw CLI

要在 5 分鐘內讓你的 agent 拍下第一張照片,請按照以下步驟操作:

  1. 確認裝置權限:在 iOS 或 Android 上,確認設定中的 Camera 選項已開啟。在 macOS 上,你需要到 Settings > General 手動勾選 Allow Camera。
  2. 列出可用相機:先確認裝置上有哪些鏡頭可以使用。
    Terminal window
    openclaw nodes camera list --node <id>
  3. 擷取即時照片:使用預設參數拍一張照片,這會同時觸發前後鏡頭(iOS 預設)並回傳 MEDIA 路徑。
    Terminal window
    openclaw nodes camera snap --node <id>
  4. 錄製短片:如果你需要動態影像,可以錄製一段帶音訊的短片。
    Terminal window
    openclaw nodes camera clip --node <id> --duration 3000

OpenClaw 透過 node.invoke 呼叫底層指令,以下是常用的功能細節:

你可以自定義照片的規格,系統會自動重新壓縮以確保 base64 封包大小在 5 MB 以下。

  • facing: front|back(預設為 front)
  • maxWidth: 圖片寬度(預設 1600)
  • quality: 壓縮品質 0..1(預設 0.9)

影片預設會包含音訊,格式為 mp4。

  • durationMs: 錄製時長(預設 3000ms,最高上限 60000ms)
  • includeAudio: 是否包含聲音(預設 true)

如果你需要的是螢幕畫面而非相機鏡頭,macOS node 提供專屬指令:

Terminal window
openclaw nodes screen record --node <id> --duration 10s --fps 15

如果你遇到問題,通常與以下限制有關:

  • CAMERA_DISABLED: 這是因為裝置設定中的「Allow Camera」被關閉了,請去 App 的設定頁面檢查。
  • NODE_BACKGROUND_UNAVAILABLE: iOS 和 Android 為了隱私,要求 App 必須在前景 (Foreground) 才能存取相機。
  • *_PERMISSION_REQUIRED: 在 Android 上,你必須手動允許 CAMERA 和 RECORD_AUDIO 權限。
  • 影片無法錄製: 檢查錄製時間是否超過 60 秒上限,這是為了避免 base64 封包過大導致傳輸失敗。

如果你有任何設定上的疑問,可以詢問 AI Setup Assistant。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。