Tools

Pemecahan masalah peramban

Masalah: "Gagal memulai Chrome CDP pada port 18800"

Server kontrol browser OmeniaClaw gagal meluncurkan Chrome/Brave/Edge/Chromium dengan galat:

Code
{"error":"Error: Failed to start Chrome CDP on port 18800 for profile \"OmeniaClaw\"."}

Akar penyebab

Di Ubuntu (dan banyak distro Linux), instalasi Chromium bawaan adalah paket snap. Pembatasan AppArmor milik Snap mengganggu cara OmeniaClaw memunculkan dan memantau proses browser.

Perintah apt install chromium memasang paket stub yang mengalihkan ke snap:

Code
Note, selecting 'chromium-browser' instead of 'chromium'chromium-browser is already the newest version (2:1snap1-0ubuntu2).

Ini BUKAN browser sungguhan - hanya sebuah wrapper.

Kegagalan peluncuran Linux umum lainnya:

  • The profile appears to be in use by another Chromium process berarti Chrome menemukan berkas kunci Singleton* usang di direktori profil terkelola. OmeniaClaw menghapus kunci tersebut dan mencoba sekali lagi ketika kunci menunjuk ke proses yang sudah mati atau host yang berbeda.
  • Missing X server or $DISPLAY berarti browser terlihat diminta secara eksplisit pada host tanpa sesi desktop. Secara default, profil lokal terkelola sekarang kembali ke mode headless di Linux ketika DISPLAY dan WAYLAND_DISPLAY sama-sama tidak disetel. Jika Anda menyetel OmeniaClaw_BROWSER_HEADLESS=0, browser.headless: false, atau browser.profiles.<name>.headless: false, hapus override headed tersebut, setel OmeniaClaw_BROWSER_HEADLESS=1, mulai Xvfb, jalankan OmeniaClaw browser start --headless untuk peluncuran terkelola sekali jalan, atau jalankan OmeniaClaw dalam sesi desktop sungguhan.

Solusi 1: Pasang Google Chrome (Direkomendasikan)

Pasang paket resmi Google Chrome .deb, yang tidak di-sandbox oleh snap:

bash
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  # if there are dependency errors

Lalu perbarui konfigurasi OmeniaClaw Anda (~/.OmeniaClaw/OmeniaClaw.json):

json
{  "browser": {    "enabled": true,    "executablePath": "/usr/bin/google-chrome-stable",    "headless": true,    "noSandbox": true  }}

Solusi 2: Gunakan Snap Chromium dengan Mode Hanya-Attach

Jika Anda harus menggunakan snap Chromium, konfigurasikan OmeniaClaw untuk attach ke browser yang dimulai secara manual:

  1. Perbarui konfigurasi:
json
{  "browser": {    "enabled": true,    "attachOnly": true,    "headless": true,    "noSandbox": true  }}
  1. Mulai Chromium secara manual:
bash
chromium-browser --headless --no-sandbox --disable-gpu \  --remote-debugging-port=18800 \  --user-data-dir=$HOME/.OmeniaClaw/browser/OmeniaClaw/user-data \  about:blank &
  1. Secara opsional, buat layanan pengguna systemd untuk memulai Chrome otomatis:
ini
# ~/.config/systemd/user/OmeniaClaw-browser.service[Unit]Description=OmeniaClaw Browser (Chrome CDP)After=network.target [Service]ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.OmeniaClaw/browser/OmeniaClaw/user-data about:blankRestart=on-failureRestartSec=5 [Install]WantedBy=default.target

Aktifkan dengan: systemctl --user enable --now OmeniaClaw-browser.service

Memverifikasi Browser Berfungsi

Periksa status:

bash
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'

Uji penjelajahan:

bash
curl -s -X POST http://127.0.0.1:18791/startcurl -s http://127.0.0.1:18791/tabs

Referensi konfigurasi

Opsi Deskripsi Bawaan
browser.enabled Aktifkan kontrol browser true
browser.executablePath Path ke biner browser berbasis Chromium (Chrome/Brave/Edge/Chromium) terdeteksi otomatis (mengutamakan browser bawaan jika berbasis Chromium)
browser.headless Jalankan tanpa GUI false
OmeniaClaw_BROWSER_HEADLESS Override per proses untuk mode headless browser lokal terkelola tidak disetel
browser.noSandbox Tambahkan flag --no-sandbox (diperlukan untuk sebagian setup Linux) false
browser.attachOnly Jangan luncurkan browser, hanya attach ke yang sudah ada false
browser.cdpPort Port Chrome DevTools Protocol 18800
browser.localLaunchTimeoutMs Timeout penemuan Chrome lokal terkelola 15000
browser.localCdpReadyTimeoutMs Timeout kesiapan CDP setelah peluncuran lokal terkelola 8000

Pada Raspberry Pi, host VPS lama, atau penyimpanan lambat, naikkan browser.localLaunchTimeoutMs ketika Chrome memerlukan lebih banyak waktu untuk mengekspos endpoint HTTP CDP-nya. Naikkan browser.localCdpReadyTimeoutMs ketika peluncuran berhasil tetapi OmeniaClaw browser start masih melaporkan not reachable after start. Nilai harus berupa bilangan bulat positif hingga 120000 ms; nilai konfigurasi yang tidak valid akan ditolak.

Masalah: "Tidak ada tab Chrome yang ditemukan untuk profile="user""

Anda menggunakan profil existing-session / Chrome MCP. OmeniaClaw dapat melihat Chrome lokal, tetapi tidak ada tab terbuka yang tersedia untuk di-attach.

Opsi perbaikan:

  1. Gunakan browser terkelola: OmeniaClaw browser start --browser-profile OmeniaClaw (atau setel browser.defaultProfile: "OmeniaClaw").
  2. Gunakan Chrome MCP: pastikan Chrome lokal berjalan dengan setidaknya satu tab terbuka, lalu coba lagi dengan --browser-profile user.

Catatan:

  • user hanya untuk host lokal. Untuk server Linux, kontainer, atau host jarak jauh, utamakan profil CDP.
  • Profil user / existing-session lainnya mempertahankan batasan Chrome MCP saat ini: aksi berbasis ref, hook unggah satu berkas, tanpa override timeout dialog, tanpa wait --load networkidle, dan tanpa responsebody, ekspor PDF, intersepsi unduhan, atau aksi batch.
  • Profil OmeniaClaw lokal menetapkan otomatis cdpPort/cdpUrl; hanya setel itu untuk CDP jarak jauh.
  • Profil CDP jarak jauh menerima http://, https://, ws://, dan wss://. Gunakan HTTP(S) untuk penemuan /json/version, atau WS(S) ketika layanan browser Anda memberi URL soket DevTools langsung.

Terkait

Was this useful?
On this page

On this page