Many users deploy OpenClaw on a server as a personal AI assistant, but by default OpenClaw cannot access the web. For an AI assistant that needs to "surf the Internet", this is undoubtedly the biggest limitation.
The good news is that by configuring a headless browser we can give OpenClaw the ability to visit web pages, take screenshots, and perform automated operations. This article details the complete setup process on an ARM64-architecture server.
Why You Need a Browser
OpenClaw itself is an AI-assistant framework; to make it truly "smart" and help you get things done, browser capabilities are essential:
- Real-time information: weather, news, stocks, etc.
- Web automation: auto-fill forms, click operations, scheduled check-ins
- Content screenshots: send you a snapshot of a page
- Crawling: scrape content from specific sites
The ARM64 Dilemma
The Chrome builds on the market are only for amd64, while many users run Apple-Silicon Macs or ARM servers (e.g., Tencent Cloud Lighthouse). This makes the usual Chrome installation methods unusable.
There are two solutions:
- Use Snap Chromium: bundled with Ubuntu, but cumbersome to configure
- Use Playwright Chromium: cross-platform, ARM64-compatible
This article chooses option 2 because it is more controllable.
Tech Stack
| Component | Purpose | Notes |
|---|---|---|
| Playwright | Browser-automation framework | Provides Chromium binary |
| Chromium | Headless browser | ARM64-compatible build |
| CDP (Chrome DevTools Protocol) | Browser-debugging protocol | OpenClaw controls the browser through it |
Complete Setup Steps
1. Install Playwright Chromium
Playwright automatically downloads the Chromium build for your architecture.
2. Install Chinese Fonts
Headless screenshots need extra font support:
3. Launch the Browser
We need Chromium started in CDP mode:
4. Configure OpenClaw
Edit ~/.openclaw/openclaw.json, add/modify the browser section:
5. Verify Configuration
Advanced Usage
Auto-start Script
To ensure the browser launches after reboot, create a systemd service:
[Unit]
Description=OpenClaw Headless Browser
After=network.target
[Service]
Type=simple
User=liuyaowen
ExecStart=/home/liuyaowen/.cache/ms-playwright/chromium-1208/chrome-linux/chrome --headless=new --no-sandbox --disable-gpu --remote-debugging-port=18800 --disable-dev-shm-usage
Restart=on-failure
[Install]
WantedBy=multi-user.target
Browser Profile Persistence
To keep login sessions, specify a user-data directory:
The browser will then remember cookies and sessions—log in once and you’re done.
Common Issues
Fonts Still Garbled
Check whether fonts are loaded:
If empty, you may need to manually copy fonts to a directory Chrome can access.
CDP Connection Fails
- Check port occupancy:
lsof -i:18800 - View browser logs:
cat /tmp/chrome.log - Try restarting the browser
Screenshot Is Blank
The page may not have finished loading; increase wait time:
Showtime
Once configured you can:
- Let AI check the weather for you and send a screenshot
- Auto check-in: open the page and click the check-in button daily
- Content monitoring: notify you when a page changes
- Generate reports: auto-open the admin dashboard and screenshot a daily report
Summary
This article walked through the complete process of setting up a headless browser for OpenClaw on an ARM64 server. Although more involved than simply installing Chrome, the Playwright + CDP combo finally gives us:
- ✅ ARM64 compatibility
- ✅ Chinese-font support
- ✅ OpenClaw integration
- ✅ Automation capabilities
If you also need an AI assistant running on your server, give this approach a try.