OpenClaw 支援代理工作流程的相機擷取:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- iOS Node(透過 Gateway 配對):透過
node.invoke擷取照片(jpg)或短影片片段(mp4,可選音訊)。 - Android Node(透過 Gateway 配對):透過
node.invoke擷取照片(jpg)或短影片片段(mp4,可選音訊)。 - macOS 應用程式(透過 Gateway 的 Node):透過
node.invoke擷取照片(jpg)或短影片片段(mp4,可選音訊)。
iOS Node
使用者設定(預設開啟)
- iOS「設定」分頁 → 相機 → 允許相機(
camera.enabled)- 預設:開啟(缺少金鑰時視為已啟用)。
- 關閉時:
camera.*命令會傳回CAMERA_DISABLED。
命令(透過 Gateway node.invoke)
-
camera.list- 回應承載:
devices:{ id, name, position, deviceType }陣列
- 回應承載:
-
camera.snap- 參數:
facing:front|back(預設:front)maxWidth:數字(選用;iOS Node 預設為1600)quality:0..1(選用;預設0.9)format:目前為jpgdelayMs:數字(選用;預設0)deviceId:字串(選用;來自camera.list)
- 回應承載:
format: "jpg"base64: "<...>"width、height
- 承載保護:照片會重新壓縮,以將 base64 承載維持在 5 MB 以下。
- 參數:
-
camera.clip- 參數:
facing:front|back(預設:front)durationMs:數字(預設3000,上限限制為60000)includeAudio:布林值(預設true)format:目前為mp4deviceId:字串(選用;來自camera.list)
- 回應承載:
format: "mp4"base64: "<...>"durationMshasAudio
- 參數:
前景需求
與canvas.* 一樣,iOS Node 只允許在前景執行 camera.* 命令。背景呼叫會傳回 NODE_BACKGROUND_UNAVAILABLE。
CLI 輔助工具(暫存檔 + MEDIA)
取得附件最簡單的方式是使用 CLI 輔助工具,它會將解碼後的媒體寫入暫存檔並列印MEDIA:<path>。
範例:
nodes camera snap預設使用兩個鏡頭方向,讓代理取得兩個視角。- 輸出檔案是暫時的(位於作業系統暫存目錄),除非你建置自己的包裝工具。
Android Node
Android 使用者設定(預設開啟)
- Android「設定」面板 → 相機 → 允許相機(
camera.enabled)- 預設:開啟(缺少金鑰時視為已啟用)。
- 關閉時:
camera.*命令會傳回CAMERA_DISABLED。
權限
- Android 需要執行階段權限:
CAMERA用於camera.snap和camera.clip。- 當
includeAudio=true時,RECORD_AUDIO用於camera.clip。
camera.* 請求會以
*_PERMISSION_REQUIRED 錯誤失敗。
Android 前景需求
與canvas.* 一樣,Android Node 只允許在前景執行 camera.* 命令。背景呼叫會傳回 NODE_BACKGROUND_UNAVAILABLE。
Android 命令(透過 Gateway node.invoke)
camera.list- 回應承載:
devices:{ id, name, position, deviceType }陣列
- 回應承載:
承載保護
照片會重新壓縮,以將 base64 承載維持在 5 MB 以下。macOS 應用程式
使用者設定(預設關閉)
macOS 伴隨應用程式提供一個核取方塊:- 設定 → 一般 → 允許相機(
openclaw.cameraEnabled)- 預設:關閉
- 關閉時:相機請求會傳回「使用者已停用相機」。
CLI 輔助工具(Node 呼叫)
使用主要的openclaw CLI 在 macOS Node 上呼叫相機命令。
範例:
- 除非覆寫,
openclaw nodes camera snap預設為maxWidth=1600。 - 在 macOS 上,
camera.snap會在暖機/曝光穩定後等待delayMs(預設 2000ms)再擷取。 - 照片承載會重新壓縮,以將 base64 維持在 5 MB 以下。
安全性 + 實務限制
- 相機與麥克風存取會觸發一般作業系統權限提示(並需要 Info.plist 中的使用說明字串)。
- 影片片段有上限(目前
<= 60s),以避免 Node 承載過大(base64 額外負載 + 訊息限制)。
macOS 螢幕影片(作業系統層級)
若要使用_螢幕_影片(不是相機),請使用 macOS 伴隨工具:- 需要 macOS 螢幕錄製權限(TCC)。