Install
openclaw skills install brave-search-setupConfigure Brave Search API and troubleshoot network/proxy issues for web_search functionality. Use when user needs to (1) Set up Brave Search API key, (2) Fix web_search fetch failures, (3) Configure proxy for OpenClaw tools on macOS with Clash/V2Ray/Surge, or (4) Diagnose "fetch failed" errors with web_search/web_fetch tools.
openclaw skills install brave-search-setupSetup Brave Search API and resolve network connectivity issues for OpenClaw web tools.
# Option A: Via config.patch (key will be stored securely)
openclaw gateway config.patch --raw '{"tools":{"web":{"search":{"apiKey":"YOUR_BRAVE_API_KEY","enabled":true,"provider":"brave"}}}}'
Or edit ~/.openclaw/openclaw.json directly:
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave",
"apiKey": "YOUR_BRAVE_API_KEY"
}
}
}
}
openclaw web.search --query "test" --count 1
If works → Done. If "fetch failed" → Continue to proxy setup.
Common proxy ports by client:
Detect actual port:
# Check if Clash is running
ps aux | grep -i clash
# Find mixed-port from Clash config
cat "~/Library/Application Support/io.github.clash-verge-rev.clash-verge-rev/clash-verge.yaml" | grep mixed-port
# Or test common ports
for port in 7890 7891 7897 6152 6153 1080 10808; do
if nc -z 127.0.0.1 $port 2>/dev/null; then
echo "Port $port is open"
fi
done
Method A: launchctl (Recommended - survives restart)
# Set for current session and future sessions
launchctl setenv HTTPS_PROXY http://127.0.0.1:7897
launchctl setenv HTTP_PROXY http://127.0.0.1:7897
Method B: Shell export (Session only)
export HTTPS_PROXY=http://127.0.0.1:7897
export HTTP_PROXY=http://127.0.0.1:7897
Method C: Add to shell profile (Permanent)
echo 'export HTTPS_PROXY=http://127.0.0.1:7897' >> ~/.zshrc
echo 'export HTTP_PROXY=http://127.0.0.1:7897' >> ~/.zshrc
source ~/.zshrc
openclaw gateway config.patch --raw '{"commands":{"restart":true}}'
# Restart to pick up proxy env vars
openclaw gateway restart
# Or use SIGUSR1
kill -USR1 $(pgrep -f "openclaw gateway")
# Test web search
openclaw web.search --query "Brave Search test" --count 1
# Test web fetch
openclaw web.fetch --url "https://api.search.brave.com" --max-chars 100
Symptom: Browser can access Google, but OpenClaw tools fail. Cause: Gateway process started before proxy env vars were set. Solution: Restart Gateway after setting HTTPS_PROXY.
Enable restart command:
openclaw gateway config.patch --raw '{"commands":{"restart":true}}'
Verify key is set:
openclaw gateway config.get | grep -A5 'web.*search'
Test directly with curl:
curl -s "https://api.search.brave.com/res/v1/web/search?q=test&count=1" \
-H "Accept: application/json" \
-H "X-Subscription-Token: YOUR_API_KEY"
Clash "mixed-port" (default 7897) handles both HTTP and SOCKS5. If using dedicated ports:
Not all tools respect HTTPS_PROXY. For tools that don't:
# Use proxychains-ng
brew install proxychains-ng
# Configure
sudo tee /usr/local/etc/proxychains.conf <<EOF
strict_chain
proxy_dns
[ProxyList]
http 127.0.0.1 7897
EOF
# Run with proxy
proxychains4 openclaw web.search --query "test"
config.patch or edit JSONlaunchctl setenv or shell exportopenclaw gateway restart