Le problème
OpenClaw est un agent IA auto-hébergé qui tourne sur votre propre serveur. Par défaut, quand il a besoin de chercher sur le web, il s'appuie sur Brave Search API. Problème : c'est payant.
- Brave Search API : 4 dollars par mois
- Tavily (alternative) : 5 dollars par mois
- SearXNG (auto-hébergé) : 0 franc
Pour un side project, payer un abonnement mensuel juste pour des recherches web, c'est absurde. La solution : SearXNG, un méta-moteur de recherche open source qui agrège les résultats de Google, Bing, DuckDuckGo et d'autres. Gratuit, auto-hébergé, sans limites.
Ce qu'on va faire
- Installer SearXNG en Docker à côté d'OpenClaw
- Configurer OpenClaw pour l'utiliser à la place de Brave
- Tester que tout marche
Temps total : 10 minutes. Prérequis : un VPS avec Docker et OpenClaw déjà installé.
Étape 1. Créer la configuration SearXNG
Créez un dossier pour la config SearXNG :
mkdir -p ~/searxngCréez le fichier ~/searxng/settings.yml :
use_default_settings: true
general:
instance_name: "OpenClaw SearXNG"
enable_metrics: false
search:
safe_search: 0
default_lang: "fr"
formats:
- html
- json
server:
secret_key: "changez-moi-par-une-vraie-cle"
bind_address: "0.0.0.0"
port: 8080
limiter: false
public_instance: false
engines:
- name: google
engine: google
shortcut: g
disabled: false
- name: duckduckgo
engine: duckduckgo
shortcut: ddg
disabled: false
- name: bing
engine: bing
shortcut: b
disabled: false
- name: wikipedia
engine: wikipedia
shortcut: wp
disabled: falsePoints importants :
formats: [html, json]: le format JSON est indispensable pour qu'OpenClaw puisse parser les résultatspublic_instance: false: votre instance n'est pas exposée sur internetlimiter: false: pas besoin de limiter les requêtes en interne
Créez aussi ~/searxng/limiter.toml (fichier vide, mais requis) :
touch ~/searxng/limiter.tomlÉtape 2. Ajouter SearXNG au Docker Compose
Dans votre docker-compose.yml OpenClaw, ajoutez le service SearXNG :
services:
# ... votre service openclaw-gateway existant ...
searxng:
image: searxng/searxng:latest
volumes:
- ~/searxng/settings.yml:/etc/searxng/settings.yml:ro
- ~/searxng/limiter.toml:/etc/searxng/limiter.toml:ro
restart: unless-stopped
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUIDPas besoin d'exposer de port : SearXNG et OpenClaw sont sur le même réseau Docker. Ils communiquent en interne via le nom du service (searxng).
Étape 3. Configurer OpenClaw
Ouvrez ~/.openclaw/openclaw.json et ajoutez (ou modifiez) la section tools :
{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "searxng",
"searxng": {
"baseUrl": "http://searxng:8080"
}
}
}
}
}C'est tout. Trois lignes qui comptent :
"provider": "searxng": dit à OpenClaw d'utiliser SearXNG au lieu de Brave"baseUrl": "http://searxng:8080": l'adresse interne Docker du service"enabled": true: active la recherche web
Étape 4. Redémarrer et tester
docker compose up -dVérifiez que SearXNG tourne :
docker ps | grep searxngVous devriez voir quelque chose comme :
f958cb08d557 searxng/searxng:latest Up 2 minutes 8080/tcp openclaw-searxng-1Testez une recherche via OpenClaw. Posez-lui une question qui nécessite une recherche web, par exemple « Quel temps fait-il à Genève demain ? » ou « Quel est le dernier modèle d'Anthropic ? ». L'agent devrait utiliser SearXNG pour aller chercher l'info, exactement comme il le faisait avec Brave.
Pourquoi SearXNG et pas autre chose
Méta-moteur : il agrège les résultats de Google, Bing, DuckDuckGo, Wikipedia et d'autres. Pas un seul point de défaillance.
Résultats structurés : le format JSON donne à OpenClaw des résultats propres et parsables. Pas de HTML brut à déchiffrer.
Aucune limite : pas de quota API, pas de clé, pas d'abonnement. Votre instance, vos règles.
Respectueux de la vie privée : aucune donnée de recherche ne quitte votre serveur.
Le calcul
- Brave Search API : 4 $/mois = 48 CHF/an
- Tavily : 5 $/mois = 60 CHF/an
- SearXNG auto-hébergé : 0 CHF (négligeable en RAM : ~50 Mo)
Ce n'est pas la somme qui compte. C'est le principe : si un outil open source fait le même travail qu'un service payant, pourquoi payer ?
L'open source, c'est aussi la liberté de ne pas payer pour ce qui devrait être gratuit.