Perplexity PRO for OpenClaw
This skill enables OpenClaw to search Perplexity PRO with persistent authenticated sessions, bypassing Cloudflare protection through undetectable browser automation.
What This Skill Does
- ✅ Bypasses Cloudflare bot detection (Xvfb + stealth Chrome)
- ✅ Maintains persistent Perplexity PRO sessions across reboots
- ✅ Provides VNC access for manual OAuth authentication
- ✅ Creates automated search capability for OpenClaw agents
Prerequisites
- Ubuntu Server (headless or with display)
- OpenClaw installed and configured
- Google Chrome (NOT Snap version)
- Xvfb package
- x11vnc for remote access
Interactive Setup Steps
During installation, the agent will guide you through:
Step 1: Chrome Installation
The agent will help you remove Snap Chromium and install proper Google Chrome:
sudo snap remove chromium
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
Step 2: Browser Launcher Setup
The agent creates start-stealth-browser.sh with anti-bot settings:
- Xvfb virtual display (bypasses headless detection)
- Persistent profile in
~/.openclaw/browser-profile/ - Stealth flags to mask automation
Step 3: VNC Configuration
The agent sets up x11vnc for remote browser access:
sudo apt-get install -y x11vnc
x11vnc -storepasswd openclaw /tmp/vncpass
⚠️ Security Note: Default VNC password is "openclaw" - change this in production!
Step 4: Manual Authentication (Required)
You must authenticate manually through VNC:
- Connect via VNC (macOS:
open vnc://your-server:5900, Windows: RealVNC Viewer) - Open Perplexity.ai in the browser
- Click "Sign in with Google"
- Enter your email and password directly
- Complete 2FA if enabled
Important: App Passwords do NOT work for web authentication. Use your actual Google password.
How to Use
Quick Automated Search (No Login Required)
For basic queries without authentication:
# 1. Start the stealth browser
./scripts/start-stealth-browser.sh
# 2. Open Perplexity with openclaw profile
openclaw browser open --profile openclaw https://www.perplexity.ai
# 3. Close any auth modal that appears
openclaw browser click --ref <close-button>
# 4. Click the search textbox, type query, submit
openclaw browser click --ref <textbox>
openclaw browser type --ref <textbox> "your question"
openclaw browser click --ref <submit-button>
# 5. Wait 2-3 seconds, then capture results
openclaw browser wait --time 3000
openclaw browser snapshot
Important: Use --profile openclaw not --profile chrome — the chrome profile requires manual extension attachment.
URL-Based Search (Faster)
openclaw browser open "https://www.perplexity.ai/search?q=your+query+here"
Authenticated Search (Full PRO Features)
After completing VNC authentication (Step 4 above):
./scripts/start-stealth-browser.sh
openclaw browser open "https://www.perplexity.ai/search?q=your+query"
Your session persists via cookies and OAuth tokens in ~/.openclaw/browser-profile/.
Session Persistence
Perplexity authentication now persists like a normal browser:
| Scenario | Persistence | Notes |
|---|---|---|
| Browser restart | ✅ Yes | --restore-last-session flag preserves OAuth tokens |
| Machine reboot | ✅ Yes | Profile is on disk in ~/.openclaw/browser-profile/ |
| Days/weeks idle | ✅ Yes | OAuth refresh tokens keep session valid |
Only re-authenticate if:
- You manually log out of Perplexity
- You clear browser data/cookies
- Google forces security verification (rare)
- Profile directory is deleted
# Check Chrome is running
curl -s http://127.0.0.1:18800/json/version > /dev/null && echo "✅ Chrome running"
# Restart Chrome (won't kill existing instance)
./scripts/start-stealth-browser.sh
File Structure
perplexity-pro-openclaw/
├── SKILL.md # This file - skill metadata and setup
├── README.md # Detailed installation guide
├── scripts/
│ └── start-stealth-browser.sh # Browser launcher
└── CHANGELOG.md # Version history
Anti-Bot Techniques (7 Levels)
- Browser Fingerprint Masking -
--disable-blink-features=AutomationControlled - Session Persistence - Profile in
~/.openclaw/browser-profile/(not /tmp) - Xvfb Virtual Display - Real Chrome window, not headless
- Realistic Viewport - 1920x1080 resolution
- Disabled Automation Flags - Background throttling disabled
- Persistent Cookies -
--persist-session-cookies+--restore-last-session - FlareSolverr (optional) - For extreme cases
Troubleshooting
| Issue | Solution |
|---|---|
| Chrome extension relay error | Use --profile openclaw instead of --profile chrome. Chrome profile requires manual extension attachment. |
| Auth modal blocking interaction | Click Close button immediately. Don't automate OAuth flows — they trigger anti-bot measures. |
| Query doesn't submit | Ensure you: 1) Click textbox to focus, 2) Type query, 3) Click Submit button, 4) Wait 2-3 seconds |
| Chrome shows "HeadlessChrome" | Ensure Xvfb is running, not --headless flag |
| Cloudflare blocking | Close tab and retry with fresh session. Don't retry same request. |
| VNC connection refused | Check ss -tlnp | grep 5900, verify firewall |
| Perplexity asks to login daily | Update start-stealth-browser.sh — old version killed Chrome on restart. New version checks for running instance first. |
Verified Working
| Date | Test | Result |
|---|---|---|
| 2025-02-20 | Unauthenticated query in forain language | ✅ Success |
| 2025-02-20 | Cloudflare bypass | ✅ Success |
Security Considerations
- VNC password should be changed from default "openclaw"
- Profile stored in
~/.openclaw/browser-profile/(user home, not /tmp) - OAuth tokens persist - secure your server appropriately
- VNC traffic is unencrypted by default - use SSH tunnel for remote access
Author
Created by rundax.com
Part of the OpenClaw ecosystem - ClawHub