Tools
Khắc phục sự cố trình duyệt
Sự cố: Không thể khởi động Chrome CDP trên cổng 18800
{ "error": "Error: Failed to start Chrome CDP on port 18800 for profile \"openclaw\"." }Nguyên nhân gốc
Trên Ubuntu và hầu hết các bản phân phối Linux, apt install chromium cài đặt một trình bao bọc snap
thay vì trình duyệt thực:
Note, selecting 'chromium-browser' instead of 'chromium'chromium-browser is already the newest version (2:1snap1-0ubuntu2).Cơ chế cô lập AppArmor của Snap cản trở cách OpenClaw khởi chạy và giám sát tiến trình trình duyệt.
Các lỗi khởi chạy phổ biến khác trên Linux:
The profile appears to be in use by another Chromium process: các tệp khóaSingleton*cũ trong thư mục hồ sơ được quản lý. OpenClaw xóa các khóa này và thử lại một lần khi khóa trỏ đến một tiến trình đã dừng hoặc tiến trình trên máy chủ khác.Missing X server or $DISPLAY: trình duyệt có giao diện đã được yêu cầu rõ ràng trên một máy chủ không có phiên máy tính để bàn. Các hồ sơ được quản lý cục bộ sẽ chuyển sang chế độ không giao diện trên Linux khi cảDISPLAYvàWAYLAND_DISPLAYđều chưa được đặt. Nếu bạn đặtOPENCLAW_BROWSER_HEADLESS=0,browser.headless: falsehoặcbrowser.profiles.<name>.headless: false, hãy xóa thiết lập ghi đè dùng giao diện đó, đặtOPENCLAW_BROWSER_HEADLESS=1, khởi độngXvfb, chạyopenclaw browser start --headlessđể khởi chạy có quản lý một lần hoặc chạy OpenClaw trong một phiên máy tính để bàn thực.
Giải pháp 1: cài đặt Google Chrome (khuyến nghị)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome-stable_current_amd64.debsudo apt --fix-broken install -y # nếu có lỗi phụ thuộcCập nhật ~/.openclaw/openclaw.json:
{ "browser": { "enabled": true, "executablePath": "/usr/bin/google-chrome-stable", "headless": true, "noSandbox": true }}Giải pháp 2: sử dụng Chromium snap ở chế độ chỉ đính kèm
Nếu phải tiếp tục sử dụng Chromium snap, hãy cấu hình OpenClaw để đính kèm vào trình duyệt được khởi động thủ công thay vì tự khởi chạy trình duyệt:
{ "browser": { "enabled": true, "attachOnly": true, "headless": true, "noSandbox": true }}Khởi động Chromium thủ công:
chromium-browser --headless --no-sandbox --disable-gpu \ --remote-debugging-port=18800 \ --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data \ about:blank &Bạn cũng có thể tự động khởi động trình duyệt bằng dịch vụ systemd của người dùng:
# ~/.config/systemd/user/openclaw-browser.service[Unit]Description=OpenClaw Browser (Chrome CDP)After=network.target [Service]ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.openclaw/browser/openclaw/user-data about:blankRestart=on-failureRestartSec=5 [Install]WantedBy=default.targetsystemctl --user enable --now openclaw-browser.serviceXác minh trình duyệt hoạt động
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'curl -s -X POST http://127.0.0.1:18791/startcurl -s http://127.0.0.1:18791/tabsTham chiếu cấu hình
| Tùy chọn | Mô tả | Mặc định |
|---|---|---|
browser.enabled |
Bật điều khiển trình duyệt | true |
browser.executablePath |
Đường dẫn đến tệp thực thi của trình duyệt dựa trên Chromium (Chrome/Brave/Edge/Chromium) | tự động phát hiện (ưu tiên trình duyệt mặc định của hệ điều hành nếu dựa trên Chromium) |
browser.headless |
Chạy không có giao diện đồ họa | false |
OPENCLAW_BROWSER_HEADLESS |
Ghi đè theo tiến trình cho chế độ không giao diện của trình duyệt được quản lý cục bộ | chưa đặt |
browser.noSandbox |
Thêm cờ --no-sandbox (cần thiết cho một số thiết lập Linux) |
false |
browser.attachOnly |
Không khởi chạy trình duyệt; chỉ đính kèm vào trình duyệt hiện có | false |
browser.cdpPortRangeStart |
Cổng CDP cục bộ bắt đầu cho các hồ sơ được gán tự động | 18800 (được suy ra từ cổng Gateway) |
browser.localLaunchTimeoutMs |
Thời gian chờ phát hiện Chrome được quản lý cục bộ, tối đa 120000 |
15000 |
browser.localCdpReadyTimeoutMs |
Thời gian chờ CDP sẵn sàng sau khi khởi chạy cục bộ, tối đa 120000 |
8000 |
Cả hai giá trị thời gian chờ phải là số nguyên dương không vượt quá 120000 ms; các giá trị khác
sẽ bị từ chối khi tải cấu hình. Trên Raspberry Pi, máy chủ VPS cũ hoặc bộ nhớ
chậm, hãy tăng browser.localLaunchTimeoutMs khi Chrome cần thêm thời gian để
cung cấp điểm cuối HTTP CDP. Hãy tăng browser.localCdpReadyTimeoutMs khi
khởi chạy thành công nhưng openclaw browser start vẫn báo not reachable after start.
Sự cố: Không tìm thấy thẻ Chrome nào cho profile="user"
Bạn đang sử dụng hồ sơ user (existing-session / Chrome MCP) và không có
thẻ nào đang mở để đính kèm.
Các cách khắc phục:
- Thay vào đó, sử dụng trình duyệt được quản lý:
openclaw browser --browser-profile openclaw start(hoặc đặtbrowser.defaultProfile: "openclaw"). - Giữ Chrome cục bộ chạy với ít nhất một thẻ đang mở, sau đó thử lại với
--browser-profile user.
Lưu ý:
userchỉ dùng trên máy chủ cục bộ. Trên máy chủ Linux, vùng chứa hoặc máy chủ từ xa, nên ưu tiên các hồ sơ CDP.uservà các hồ sơexisting-sessionkhác có chung các giới hạn hiện tại của Chrome MCP: chỉ hỗ trợ thao tác dựa trên tham chiếu, mỗi lần tải lên một tệp, không hỗ trợ ghi đètimeoutMscho hộp thoại, không hỗ trợwait --load networkidle, cũng như không hỗ trợresponsebody, xuất PDF, chặn tải xuống hoặc thao tác hàng loạt.- Các hồ sơ trình điều khiển
openclawcục bộ tự động gáncdpPort/cdpUrl; chỉ đặt thủ công các giá trị này cho CDP từ xa. - Hồ sơ CDP từ xa chấp nhận
http://,https://,ws://vàwss://. Sử dụng HTTP(S) để khám phá/json/versionhoặc WS(S) khi dịch vụ trình duyệt cung cấp cho bạn URL socket DevTools trực tiếp.