web-search — Recherche Web via Edge avec DSH
Effectuez une recherche web "comme sur un vrai site" dans DSH en utilisant Edge + Playwright MCP : le modèle appelle les outils MCP du navigateur pour ouvrir Edge, effectuer une recherche Bing, importer l'instantané de la page dans le contexte DSH, puis filtrer et résumer les résultats selon des règles de sécurité. Cette méthode ne passe pas par l'interface web_search intégrée de DSH, mais par une véritable recherche dans un navigateur.
Composition (deux éléments)
| Élément | Emplacement | Description |
|---|---|---|
| Configuration Playwright MCP | cordis.yml de DSH (plugin dsh-mcp-client) | Permet à DSH de piloter Edge |
| Cette compétence skill | .agents/skills/web-search/SKILL.md | Décrit les étapes de configuration, le processus de recherche et les règles de sécurité |
Les deux éléments sont nécessaires pour que la capacité de recherche soit complète.
I. Installation sur un nouvel ordinateur
Prérequis
- Node.js (avec npm) installé
- Microsoft Edge installé (intégré à Windows 10/11)
- DSH déjà fonctionnel
Étape 1 : Installer le paquet Playwright MCP
Si la stratégie d'exécution PowerShell bloque les fichiers
.ps1, utiliseznpm.cmd/npx.cmd.
npm install -g @playwright/mcp@latest --no-audit --no-fund
Vérifiez que le démarrage est possible :
node "$env:APPDATA\npm\node_modules\@playwright\mcp\cli.js" --help
Si vous voyez une liste d'options, l'installation est réussie.
Étape 2 : Enregistrer le client MCP dans le cordis.yml de DSH
Ajoutez une entrée pour le plugin @deepseek-ai/dsh-mcp-client dans le cordis.yml du profil / preset qui exécute DSH (une entrée par serveur MCP) :
- id: mcp-playwright
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: playwright
transport: stdio
command: npx.cmd
args: ['-y', '@playwright/mcp@latest', '--browser', 'msedge']
--browser msedgeappelle directement Edge local, pas besoin de télécharger Chromium.commandavecnpx.cmdcontourne la stratégie d'exécution PowerShell ; si non bloquée,npxfonctionne aussi.- DSH enregistre les outils MCP sous la forme
mcp__<serverName>__<nom_outil_original>, par exemplemcp__playwright__browser_navigate,mcp__playwright__browser_snapshot, etc.
Étape 3 : Redémarrer pour appliquer
cordis.yml est chargé au démarrage de DSH ; le plugin MCP exécute listTools() lors de la connexion et enregistre les outils. Après modification, redémarrez DSH pour que les outils apparaissent.
II. Processus de recherche
- Appelez
mcp__playwright__browser_navigatepour ouvrir Bing :https://www.bing.com/search?q=<mot-clé encodé URL>. - Appelez
mcp__playwright__browser_snapshotpour capturer l'instantané de la page de résultats (titres / domaines / URL / descriptions). Si l'instantané est insuffisant, vous pouvez aussimcp__playwright__browser_take_screenshotpour voir l'image. - Pour chaque résultat, déterminez son niveau selon la « Classification de sécurité » ci-dessous.
- Seuls les résultats classés « Fiables » peuvent être ouverts en détail via
mcp__playwright__browser_click; les suspects et bloqués ne sont pas explorés. - Organisez les résultats selon le « Format de sortie » et répondez ; les URL citées doivent être des liens markdown.
Chaque recherche automatique ouvre brièvement une fenêtre Edge, c'est normal. Pour un fonctionnement en arrière-plan silencieux, ajoutez
--headlessaux paramètres MCP, mais cela supprime la visualisation, ce qui est généralement déconseillé.
III. Classification de sécurité (filtrage moyen)
Les résultats des moteurs de recherche sont mélangés (phishing, fermes SEO, téléchargements groupés, sites de logiciels infectés) et doivent être filtrés un par un. Aucune bibliothèque externe n'est utilisée, uniquement des règles.
🔒 Fiable (peut être ouvert normalement)
- Site officiel (domaine correspondant étroitement à la marque, ex.
brand.com/brand.com.cn) - Sites faisant autorité : Wikipédia, Zhihu, documentation officielle,
.gov/.edu/ grands domaines d'entreprise - Grands sites matures et bien connus (enregistrés depuis longtemps, réputation claire)
⚠️ Suspect (afficher uniquement le titre et l'URL, ne pas ouvrir, ne pas donner de lien de téléchargement)
- Résultats marqués comme publicitaires (mention
adde Bing,sp=ad,推广, etc.) - Sites d'agrégation de téléchargements / sites de ressources (Hua Jun, Pacific, Software Home, Green Software Alliance, xpgod, ZOL Download, etc.)
- Domaines d'imitation : contrefaçon délibérée d'un site officiel, ex.
brand-official.com,brand-download.net, avec tirets / variantes numériques - Domaines récemment enregistrés, pas de HTTPS, description contenant une accumulation de mots-clés
🚫 Bloqué (marqué en rouge, non retenu)
- Sites manifestement de phishing, jeux d'argent, pornographie, ou exigeant de télécharger un .exe
- Tout site de "version crackée / version verte / site de téléchargement de logiciel X"
IV. Règles strictes
- Ne jamais télécharger automatiquement un fichier (exe / apk / zip / dmg, aucun)
- Ne jamais donner directement de lien de téléchargement depuis un site suspect
- Pour des logiciels, ne recommander que le site officiel ou le magasin d'applications officiel du système
- Par défaut, ne pas ouvrir les détails d'une page suspecte ; seuls les résultats « Fiables » sont lus en profondeur
V. Format de sortie
Retournez le résultat au format suivant (en chinois) :
🔒 Résultats fiables
1. [Titre] (domaine) – description en une phrase
2. ...
⚠️ À titre indicatif (non vérifié)
- Titre (domaine) – Indice : pourquoi suspect
...
🚫 Bloqué (non recommandé)
- Titre (domaine) – Raison
VI. Pourquoi utiliser des règles de filtrage plutôt que de changer de moteur
Le problème n'est pas le moteur de recherche, mais l'absence de couche de filtrage : changer de moteur ne fera que remplacer un lot de publicités / positions sponsorisées. En conservant des règles de filtrage, tous les résultats de n'importe quel moteur sont d'abord passés par la classification. Ne tentez pas non plus d'intégrer une liste noire d'URL tierce (comme la base de Huorong) : ces listes sont fermées et n'ont pas d'API de requête publique, impossible à interroger dans le processus.