pagechat-backend / BROWSER_MCP_GUIDE.md
Philippe
­ƒñû Ajout Browser MCP - Navigation web intelligente
2852c94
# 🌐 Browser MCP Integration - PageChat
## Vue d'ensemble
Browser MCP ajoute des capacités d'automatisation web intelligentes à votre chat PageChat. Les utilisateurs peuvent maintenant contrôler un navigateur directement depuis le chat !
## 🎯 Fonctionnalités
### Navigation Web
- **Navigation automatique** vers n'importe quelle URL
- **Captures d'écran** haute qualité
- **Extraction de contenu** intelligente
- **Interaction avec les éléments** (clic, saisie)
### Commandes Disponibles
#### Navigation de base
```
/browse https://example.com # Naviguer vers une URL
/web info # Infos de la page actuelle
/web screenshot # Capture d'écran
```
#### Extraction de contenu
```
/web text # Tout le texte de la page
/web text .article # Texte d'un élément spécifique
/web search "mot-clé" # Rechercher du texte
/web links # Extraire tous les liens
```
#### Interaction avec la page
```
/web click #button # Cliquer sur un élément
/web fill #email=user@test.com # Remplir un champ
/web wait .loading # Attendre qu'un élément apparaisse
```
#### Aide
```
/web help # Afficher toutes les commandes
```
## 🚀 Installation et Configuration
### 1. Dépendances installées
- `playwright` - Automatisation de navigateur
- `mcp` - Model Context Protocol
- `beautifulsoup4` - Parsing HTML
- `lxml` - Parser XML/HTML rapide
### 2. Démarrage
```bash
# Linux/Mac
chmod +x start_with_browser.sh
./start_with_browser.sh
# Windows
start_with_browser.bat
```
### 3. Test de fonctionnement
1. Ouvrir le chat PageChat
2. Taper : `/browse https://example.com`
3. Voir la réponse avec capture d'écran !
## 🎨 Exemples d'utilisation
### Exemple 1 : Recherche d'informations
```
Utilisateur: /browse https://news.ycombinator.com
Bot: ✅ Navigation réussie vers https://news.ycombinator.com
Titre: Hacker News
📸 Capture d'écran prise...
Utilisateur: /web text .titleline
Bot: 📝 Texte extrait:
Show HN: My new project
Ask HN: How do you handle...
YC W25 batch companies...
```
### Exemple 2 : Automatisation de formulaire
```
Utilisateur: /browse https://example.com/contact
Bot: ✅ Navigation réussie...
Utilisateur: /web fill #name=John Doe
Bot: ✏️ Champ rempli: #name = 'John Doe'
Utilisateur: /web fill #email=john@example.com
Bot: ✏️ Champ rempli: #email = 'john@example.com'
Utilisateur: /web click #submit
Bot: 👆 Clic effectué sur: #submit
```
### Exemple 3 : Monitoring de page
```
Utilisateur: /browse https://status.github.com
Bot: ✅ Navigation réussie...
Utilisateur: /web search "incident"
Bot: 🔍 Recherche de 'incident': ❌ Non trouvé
Utilisateur: /web search "operational"
Bot: 🔍 Recherche de 'operational': ✅ Trouvé
```
## 🔧 Configuration Avancée
### Personnalisation du navigateur
Éditez `browser_mcp_server.py` :
```python
# Changer la résolution
viewport={'width': 1920, 'height': 1080}
# Mode non-headless (visible)
browser = await playwright.chromium.launch(headless=False)
# User agent personnalisé
user_agent='Mozilla/5.0 (Custom Browser Bot)'
```
### Sécurité
- Le navigateur tourne en mode **sandbox**
- **Pas d'accès filesystem** par défaut
- **Timeout automatique** sur les opérations longues
- **Limite de mémoire** configurée
## 🐛 Dépannage
### Problème : "❌ Impossible de démarrer Browser MCP"
**Solution :** Installer Playwright browsers
```bash
python -m playwright install chromium
```
### Problème : Timeout sur les pages lentes
**Solution :** Augmenter le timeout dans les commandes
```python
await browser_state.page.goto(url, timeout=30000) # 30 secondes
```
### Problème : Élément non trouvé
**Solution :** Utiliser des sélecteurs CSS plus spécifiques
```
/web click button[type="submit"] # Au lieu de #submit
/web fill input[name="email"]=... # Au lieu de #email
```
## 🎯 Cas d'usage avancés
### 1. Monitoring de site web
```python
# Dans le chat
/browse https://mysite.com
/web search "error"
/web screenshot
```
### 2. Test d'interface utilisateur
```python
/browse https://myapp.com/login
/web fill #username=testuser
/web fill #password=testpass
/web click #login-btn
/web wait .dashboard
/web screenshot
```
### 3. Scraping de données
```python
/browse https://example.com/products
/web text .product-title
/web links
/web screenshot
```
## 🔄 Intégration avec HF Spaces
Le Browser MCP fonctionne également sur **Hugging Face Spaces** avec quelques adaptations :
### Dockerfile pour HF Spaces
```dockerfile
# Ajouter au Dockerfile existant
RUN playwright install chromium
RUN playwright install-deps
```
### Variables d'environnement
```bash
# Pour HF Spaces
PLAYWRIGHT_BROWSERS_PATH=/tmp/playwright
```
## 🎉 Conclusion
Browser MCP transforme votre chat en un **assistant web intelligent** capable de :
- 🌐 Naviguer sur n'importe quel site
- 📸 Capturer et analyser des pages
- 🤖 Automatiser des tâches répétitives
- 🔍 Extraire des informations précises
**Votre chat est maintenant un navigateur IA ! 🚀**