如需設定、組態與疑難排解,請參閱 Browser。 本頁是本機控制 HTTP API、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.
openclaw browser CLI 與腳本模式(快照、ref、等待、偵錯流程)的參考。
控制 API(選用)
僅供本機整合使用,Gateway 會公開一個小型 loopback HTTP API:- 狀態/啟動/停止:
GET /、POST /start、POST /stop - 分頁:
GET /tabs、POST /tabs/open、POST /tabs/focus、DELETE /tabs/:targetId - 快照/螢幕截圖:
GET /snapshot、POST /screenshot - 動作:
POST /navigate、POST /act - Hook:
POST /hooks/file-chooser、POST /hooks/dialog - 下載:
POST /download、POST /wait/download - 權限:
POST /permissions/grant - 偵錯:
GET /console、POST /pdf - 偵錯:
GET /errors、GET /requests、POST /trace/start、POST /trace/stop、POST /highlight - 網路:
POST /response/body - 狀態:
GET /cookies、POST /cookies/set、POST /cookies/clear - 狀態:
GET /storage/:kind、POST /storage/:kind/set、POST /storage/:kind/clear - 設定:
POST /set/offline、POST /set/headers、POST /set/credentials、POST /set/geolocation、POST /set/media、POST /set/timezone、POST /set/locale、POST /set/device
?profile=<name>。POST /start?headless=true 會請求
一次性的無頭啟動,供本機受管理設定檔使用,且不會變更持久化的
瀏覽器組態;僅附加、遠端 CDP,以及現有工作階段設定檔會拒絕
該覆寫,因為 OpenClaw 不會啟動那些瀏覽器程序。
如果已設定共享密鑰 Gateway 驗證,瀏覽器 HTTP 路由也需要驗證:
Authorization: Bearer <gateway token>x-openclaw-password: <gateway password>或使用該密碼的 HTTP Basic 驗證
- 這個獨立的 loopback 瀏覽器 API 不會取用 trusted-proxy 或 Tailscale Serve 身分標頭。
- 如果
gateway.auth.mode是none或trusted-proxy,這些 loopback 瀏覽器 路由不會繼承那些承載身分的模式;請保持它們僅限 loopback。
/act 錯誤合約
POST /act 會針對路由層級驗證與
政策失敗使用結構化錯誤回應:
code 值:
ACT_KIND_REQUIRED(HTTP 400):kind缺失或無法辨識。ACT_INVALID_REQUEST(HTTP 400):動作酬載未通過正規化或驗證。ACT_SELECTOR_UNSUPPORTED(HTTP 400):selector用於不支援的動作種類。ACT_EVALUATE_DISABLED(HTTP 403):evaluate(或wait --fn)已由組態停用。ACT_TARGET_ID_MISMATCH(HTTP 403):頂層或批次的targetId與請求目標衝突。ACT_EXISTING_SESSION_UNSUPPORTED(HTTP 501):現有工作階段設定檔不支援此動作。
code 欄位的 { "error": "<message>" }。
Playwright 需求
部分功能(navigate/act/AI 快照/角色快照、元素螢幕截圖、 PDF)需要 Playwright。如果未安裝 Playwright,這些端點會傳回 清楚的 501 錯誤。 沒有 Playwright 時仍可運作的項目:- ARIA 快照
- 可用每個分頁 CDP WebSocket 時的角色樣式無障礙快照(
--interactive、--compact、--depth、--efficient)。這是檢查與 ref 探索的 後援;Playwright 仍是主要 動作引擎。 - 可用每個分頁 CDP
WebSocket 時,受管理
openclaw瀏覽器的頁面螢幕截圖 existing-session/ Chrome MCP 設定檔的頁面螢幕截圖- 來自快照輸出的
existing-session以 ref 為基礎的螢幕截圖(--ref)
navigateact- 依賴 Playwright 原生 AI 快照格式的 AI 快照
- CSS 選擇器元素螢幕截圖(
--element) - 完整瀏覽器 PDF 匯出
--full-page;該路由會傳回 fullPage is not supported for element screenshots。
如果你看到 Playwright is not available in this gateway build,請修復
隨附瀏覽器 Plugin 的執行階段相依性,讓 playwright-core 已安裝,
然後重新啟動 Gateway。對於封裝安裝,請執行 openclaw doctor --fix。
對於 Docker,還要依下方所示安裝 Chromium 瀏覽器二進位檔。
Docker Playwright 安裝
如果你的 Gateway 在 Docker 中執行,請避免使用npx playwright(npm 覆寫衝突)。
請改用隨附的 CLI:
PLAYWRIGHT_BROWSERS_PATH(例如
/home/node/.cache/ms-playwright),並確保 /home/node 透過
OPENCLAW_HOME_VOLUME 或 bind mount 持久化。請參閱 Docker。
運作方式(內部)
一個小型 loopback 控制伺服器會接受 HTTP 請求,並透過 CDP 連線到以 Chromium 為基礎的瀏覽器。進階動作(點擊/輸入/快照/PDF)會透過 CDP 之上的 Playwright 執行;當 Playwright 缺失時,只有非 Playwright 作業可用。代理會看到一個穩定介面,而本機/遠端瀏覽器與設定檔可在底層自由切換。CLI 快速參考
所有命令都接受--browser-profile <name> 以指定特定設定檔,並接受 --json 以輸出機器可讀格式。
基礎:狀態、分頁、開啟/聚焦/關閉
基礎:狀態、分頁、開啟/聚焦/關閉
檢查:螢幕截圖、快照、主控台、錯誤、請求
檢查:螢幕截圖、快照、主控台、錯誤、請求
動作:導覽、點擊、輸入、拖曳、等待、評估
動作:導覽、點擊、輸入、拖曳、等待、評估
狀態:Cookie、儲存空間、離線、標頭、地理位置、裝置
狀態:Cookie、儲存空間、離線、標頭、地理位置、裝置
upload與dialog是預備呼叫;請在觸發選擇器/對話方塊的點擊/按鍵之前執行。click/type/等需要來自snapshot的ref(數字12、角色 refe12,或可操作的 ARIA refax12)。動作刻意不支援 CSS 選擇器。當可見視窗位置是唯一可靠目標時,請使用click-coords。- 下載、追蹤與上傳路徑受限於 OpenClaw 暫存根目錄:
/tmp/openclaw{,/downloads,/uploads}(後援:${os.tmpdir()}/openclaw/...)。 upload也可以透過--input-ref或--element直接設定檔案輸入。
tabs 的 suggestedTargetId。
快照旗標速覽:
--format ai(使用 Playwright 時的預設):帶有數字 ref(aria-ref="<n>")的 AI 快照。--format aria:帶有axNref 的無障礙樹。當 Playwright 可用時,OpenClaw 會以後端 DOM ID 將 ref 綁定到即時頁面,讓後續動作可以使用它們;否則請將輸出視為僅供檢查。--efficient(或--mode efficient):精簡角色快照預設。設定browser.snapshotDefaults.mode: "efficient"可讓它成為預設(請參閱 Gateway 組態)。--interactive、--compact、--depth、--selector會強制產生含ref=e12ref 的角色快照。--frame "<iframe>"會將角色快照範圍限定到 iframe。--labels會加入僅視窗的螢幕截圖,並覆蓋 ref 標籤(列印MEDIA:<path>)。--urls會將探索到的連結目的地附加到 AI 快照。
快照與 ref
OpenClaw 支援兩種「快照」樣式:-
AI 快照(數字 ref):
openclaw browser snapshot(預設;--format ai)- 輸出:包含數字 ref 的文字快照。
- 動作:
openclaw browser click 12、openclaw browser type 23 "hello"。 - 內部會透過 Playwright 的
aria-ref解析 ref。
-
角色快照(像
e12的角色 ref):openclaw browser snapshot --interactive(或--compact、--depth、--selector、--frame)- 輸出:帶有
[ref=e12](以及選用[nth=1])的角色式清單/樹。 - 動作:
openclaw browser click e12、openclaw browser highlight e12。 - 內部會透過
getByRole(...)(加上用於重複項目的nth())解析 ref。 - 加上
--labels可包含一張覆蓋e12標籤的視窗螢幕截圖。 - 當連結文字不明確且代理需要具體
導覽目標時,請加上
--urls。
- 輸出:帶有
-
ARIA 快照(像
ax12的 ARIA ref):openclaw browser snapshot --format aria- 輸出:以結構化節點呈現的無障礙樹。
- 動作:當快照路徑可以透過 Playwright 與 Chrome 後端 DOM ID
綁定 ref 時,
openclaw browser click ax12可運作。
-
如果 Playwright 不可用,ARIA 快照仍可用於
檢查,但 ref 可能無法操作。當你需要動作 ref 時,請使用
--format ai或--interactive重新擷取快照。 -
原始 CDP 後援路徑的 Docker 證明:
pnpm test:docker:browser-cdp-snapshot會啟動帶有 CDP 的 Chromium,執行browser doctor --deep,並驗證角色 快照包含連結 URL、游標提升的可點擊項目,以及 iframe 中繼資料。
- Ref 在不同導覽之間並不穩定;如果某些操作失敗,請重新執行
snapshot並使用新的 ref。 /act會在動作觸發替換後,在能證明替換分頁時回傳目前原始的targetId。後續命令請繼續使用穩定的分頁 id/標籤。- 如果角色快照是使用
--frame擷取,角色 ref 會限定在該 iframe 中,直到下一次角色快照為止。 - 未知或過期的
axNref 會快速失敗,而不是落入 Playwright 的aria-ref選擇器。發生這種情況時,請在同一個分頁上執行新的快照。
等待增強功能
你可以等待的不只是時間/文字:- 等待 URL(支援 Playwright glob):
openclaw browser wait --url "**/dash"
- 等待載入狀態:
openclaw browser wait --load networkidle
- 等待 JS 謂詞:
openclaw browser wait --fn "window.ready===true"
- 等待選擇器變為可見:
openclaw browser wait "#main"
除錯工作流程
當動作失敗時(例如「不可見」、「嚴格模式違規」、「被覆蓋」):openclaw browser snapshot --interactive- 使用
click <ref>/type <ref>(互動模式中優先使用角色 ref) - 如果仍然失敗:使用
openclaw browser highlight <ref>查看 Playwright 正在定位的目標 - 如果頁面行為異常:
openclaw browser errors --clearopenclaw browser requests --filter api --clear
- 若要深入除錯:錄製追蹤:
openclaw browser trace start- 重現問題
openclaw browser trace stop(列印TRACE:<path>)
JSON 輸出
--json 用於指令碼和結構化工具。
範例:
refs 以及一小段 stats 區塊(lines/chars/refs/interactive),讓工具能推理酬載大小與密度。
狀態與環境調整項
這些對於「讓網站表現得像 X」的工作流程很有用:- Cookie:
cookies、cookies set、cookies clear - 儲存空間:
storage local|session get|set|clear - 離線:
set offline on|off - 標頭:
set headers --headers-json '{"X-Debug":"1"}'(仍支援舊版set headers --json '{"X-Debug":"1"}') - HTTP 基本驗證:
set credentials user pass(或--clear) - 地理位置:
set geo <lat> <lon> --origin "https://example.com"(或--clear) - 媒體:
set media dark|light|no-preference|none - 時區 / 語系:
set timezone ...、set locale ... - 裝置 / 檢視區:
set device "iPhone 14"(Playwright 裝置預設值)set viewport 1280 720
安全性與隱私
- openclaw 瀏覽器設定檔可能包含已登入的工作階段;請將其視為敏感資訊。
browser act kind=evaluate/openclaw browser evaluate和wait --fn會在頁面脈絡中執行任意 JavaScript。提示注入可能會引導 這項行為。如果不需要,請用browser.evaluateEnabled=false停用。- 如需登入與反機器人注意事項(X/Twitter 等),請參閱 瀏覽器登入 + X/Twitter 發文。
- 保持 Gateway/節點主機私密(loopback 或僅限 tailnet)。
- 遠端 CDP 端點功能強大;請透過隧道連線並加以保護。
相關
- 瀏覽器 — 概觀、設定、設定檔、安全性
- 瀏覽器登入 — 登入網站
- 瀏覽器 Linux 疑難排解
- 瀏覽器 WSL2 疑難排解