Offrez à un modèle LM Studio deux façons d'accéder au web.
WebBrain Web Tools ajoute la lecture d'URL publiques à toute conversation LM Studio compatible avec les outils. Une fois l'extension WebBrain connectée, ce même plugin peut aussi déléguer un objectif au profil Chromium où vous êtes déjà connecté.
Installez webbrain/web-tools depuis le Hub LM Studio. N'enregistrez pas @webbrain/mcp-server et n'utilisez pas le port MCP 17374 pour ce parcours ; la délégation au navigateur depuis le plugin LM Studio utilise le port 17375.
Ce que le modèle peut atteindre
| Itinéraire | Idéal pour | Ce qu'il ne peut pas faire |
|---|---|---|
fetch_url / research_url | Articles publics, documentation, API, JSON, texte et HTML statique. | Pas de cookies du navigateur, pas de rendu JavaScript, pas de clics, de saisie ni de session authentifiée. |
browser_task | Tableaux de bord connectés, webmail, applications à rendu client et tâches nécessitant une interaction visible dans le navigateur. | Nécessite WebBrain sur Chromium et la connexion du pont du plugin. |
Avant l'installation
| Exigence | À vérifier |
|---|---|
| LM Studio | Ouvrez l'application de bureau actuelle. Son environnement d'exécution intégré peut lancer les plugins installés ; une installation distincte de Node.js n'est pas nécessaire pour un usage courant. |
| Modèle compatible avec les outils | Utilisez un modèle et une configuration de conversation capables d'appeler des outils. Un modèle de texte pur sans utilisation d'outils n'invoquera pas le plugin. |
| Accès réseau | Les deux outils HTTP contactent l'URL que vous demandez depuis le processus local du plugin. |
| Connexion au navigateur en option | Pour browser_task, installez WebBrain dans Chrome, Edge, Brave, Opera ou Vivaldi et laissez le port 17375 libre. |
| Fournisseur WebBrain actif | Les tâches du navigateur s'exécutent toujours via le fournisseur configuré dans l'extension WebBrain. |
Installer et activer WebBrain Web Tools
- Gardez LM Studio ouvert. Ouvrez la fiche Hub de webbrain/web-tools et choisissez Run in LM Studio. Vous pouvez aussi ouvrir le lien profond ci-dessous sur la même machine.
- Activez le plugin dans la conversation.Ouvrez le contrôle des intégrations ou des outils à côté du champ de saisie et activez webbrain/web-tools.
- Choisissez un modèle compatible avec les outils.Le plugin met ses outils à disposition de cette conversation ; le modèle décide quand les appeler selon votre demande.
- Essayez d'abord l'itinéraire du web public.Demandez : "Lisez https://news.ycombinator.com et résumez les grands thèmes des titres du moment." Le modèle devrait utiliser
research_url.
lmstudio://plugin?owner=webbrain&name=web-toolsInstallation par CLI
lms clone copie un artefact du Hub dans le répertoire courant ; il n'installe pas cette copie à lui seul. Entrez dans le répertoire cloné et exécutez la forme d'installation de lms dev :
lms clone webbrain/web-tools
cd web-tools
lms dev --installConsultez la référence lms clone et la référence lms dev --install de LM Studio pour le comportement de la CLI.
Ce que le plugin offre au modèle
| Outil | À quoi sert-il | Extension du navigateur requise ? |
|---|---|---|
fetch_url | Récupère une URL HTTP(S) connue. Gère JSON, HTML, texte brut, en-têtes et corps de requête, et résume les réponses binaires au lieu de les inclure en ligne. | Non |
research_url | Extrait le texte lisible d'un article ou d'une documentation en supprimant les éléments de navigation courants. | Non |
browser_task | Délègue un objectif Ask ou Act en langage naturel à WebBrain dans le navigateur connecté. | Oui |
browser_status | Vérifie la connexion de l'extension ou interroge une exécution existante par runId. | Oui |
browser_respond | Transmet la réponse de l'utilisateur à une exécution en pause à l'état needs_user_input. | Oui |
browser_abort | Arrête une exécution en cours. Les actions déjà accomplies ne sont pas annulées. | Oui |
Lorsqu'un résultat dépasse son budget de retour, les outils HTTP conservent le début, des passages centraux sélectionnés à fort signal et la fin. Un résultat compacté indique compacted: true et inclut des métadonnées de compactage. Demandez une page plus ciblée ou augmentez maxChars lorsque le contenu omis compte.
Utiliser les outils HTTP publics sans navigateur
Lire un article connu
Utilise research_url pour lire https://example.com/article et donne-moi la thèse principale de l'auteur, les preuves qui l'étayent et les limites qu'il indique.
Inspecter une réponse d'API
Utilise fetch_url pour lire https://api.example.com/status. Renvoie le statut HTTP et les champs qui indiquent l'état du service.
research_url convient généralement mieux au contenu rédactionnel. Utilisez fetch_url lorsque le type de réponse, la structure JSON, les en-têtes, la méthode ou le corps de la requête comptent.
Ces requêtes sont anonymes et n'exécutent pas le JavaScript de la page. Si un résultat indique spaSuspected: true, ou si la page exige une connexion, cessez de réessayer l'itinéraire HTTP et utilisez browser_task après avoir connecté l'extension.
Connectez le navigateur que vous utilisez déjà
- Installez WebBrain dans un navigateur Chromium.Le pont fonctionne dans Chrome, Edge, Brave, Opera et Vivaldi. Firefox ne peut pas héberger cette connexion.
- Activez webbrain/web-tools dans LM Studio.Le plugin ouvre son écouteur loopback local lors de son initialisation.
- Ouvrez les réglages de WebBrain.Allez dans Paramètres → Bridge.
- Définissez l'URL du plugin et la clé d'appairage.Saisissez
ws://127.0.0.1:17375/extension, collez la clé issue de~/.webbrain/bridge-key(créée au démarrage du plugin et partagée avec le serveur MCP) dans le champ Clé d'appairage, puis activez le pont cloud. - Vérifiez le parcours complet.Demandez au modèle LM Studio d'appeler
browser_status. Un résultat connecté prouve que l'écouteur du plugin et la poignée de main de l'extension sont prêts.
L'extension ne possède qu'une seule socket de pont sortante. Le port 17375 la relie à ce plugin, le port 17374 au serveur MCP et le port 17373 à WebBrain Cloud. Changer l'URL bascule la destination ; cela ne les combine pas.
Le modèle de conversation LM Studio décide d'appeler browser_task et reçoit le résultat. L'extension WebBrain exécute la tâche de navigateur déléguée avec le fournisseur actif configuré dans WebBrain. Si le contenu de la page doit rester sur l'appareil, configurez aussi ce fournisseur WebBrain pour utiliser un modèle local.
Lire sans modifier la page
Utilise browser_task en mode Ask pour lire le tableau de bord du compte déjà ouvert dans mon navigateur et lister les cinq alertes les plus récentes. Ne change rien.
Interagir avec des portiques d'autorisation
Utilise browser_task en mode Act pour ouvrir le brouillon déjà affiché dans mon navigateur et mettre à jour le nom de l'entreprise en Acme Europe. Arrête-toi avant toute soumission ou confirmation finale.
Laissez les exécutions de navigateur en cours se poursuivre
browser_task attend un résultat, mais son délai d'expiration n'annule pas les travaux déjà en cours dans l'extension. Conservez le runId renvoyé et utilisez l'outil de reprise qui correspond à l'état.
runningInterroger avec browser_statusneeds_user_inputDemander, puis utiliser browser_respondcompletedRésultat prêtfailedConsulter l'erreur et les preuvesabortedArrêté ; les actions précédentes restent effectives- Ne relancez pas un
browser_tasken double après un délai d'expiration ; interrogez l'exécution existante. - N'inventez jamais de réponse aux demandes de clarification de WebBrain. Demandez à l'utilisateur et transmettez sa réponse mot pour mot.
browser_abortarrête les étapes suivantes. Il ne peut pas annuler un formulaire soumis, un message envoyé ou une autre action déjà accomplie.
Gardez distinctes les deux surfaces de confiance
- Le HTTP public s'exécute dans le processus local du plugin.
fetch_urlpeut envoyer des méthodes, des en-têtes et des corps de requête : ne demandez une mutation que si vous l'intentionnez. - Les cibles du réseau privé sont bloquées par défaut.Loopback, RFC1918, lien local, métadonnées cloud et noms d'hôtes intranet courants sont refusés. Pour atteindre localhost ou votre LAN, activez Allow private network access dans les réglages du plugin dans LM Studio, uniquement dans une conversation qui en a besoin. Le modèle ne peut pas l'activer lui-même, et même activé, les points de terminaison des métadonnées cloud restent bloqués.
- Les redirections sont revérifiées.Le plugin valide chaque destination et retire les en-têtes assimilables à des identifiants lorsqu'une redirection change d'origine.
- L'écouteur du navigateur reste en loopback.Ne transférez ni ne mandatez jamais le port
17375. La poignée de main de l'extension identifie le client mais n'est pas une authentification par secret partagé ; considérez les logiciels locaux comme dignes de confiance. - Le mode Ask est le choix par défaut.N'utilisez Act que lorsque le résultat demandé exige une interaction visible dans le navigateur, et gardez la main pour arrêter tout comportement inattendu.
- Le modèle LM Studio voit les résultats des outils.Une exécution du navigateur envoie aussi le contexte de la tâche via le fournisseur actif configuré dans WebBrain. Choisissez délibérément les frontières entre les deux modèles.
Pour les détails au niveau de l'implémentation, notamment la façon dont chaque connexion est épinglée à l'adresse vérifiée, lisez les notes de sécurité du plugin.
Dépannage par symptôme
| Symptôme | Signification habituelle | Correctif |
|---|---|---|
| Les outils n'apparaissent pas | Le plugin n'est pas activé pour cette conversation, ou le modèle choisi ne peut pas appeler d'outils. | Activez webbrain/web-tools à côté du champ de saisie et choisissez un modèle compatible avec les outils. |
browser_status indique déconnecté | Le plugin est disponible, mais l'extension WebBrain n'est pas encore connectée. | Utilisez Chromium, activez le pont cloud et saisissez exactement ws://127.0.0.1:17375/extension. |
| L'écouteur ne peut pas démarrer ou signale un conflit d'adresse | Une autre instance du plugin ou un autre processus occupe déjà le port 17375. | Fermez l'instance dupliquée, puis rechargez le plugin. Vérifiez d'abord avec lsof -nP -iTCP:17375 -sTCP:LISTEN. |
| Une page publique est vide | La page s'affiche via JavaScript ou cache son contenu derrière une connexion. | Si spaSuspected est vrai, connectez l'extension et utilisez browser_task. |
| La tâche expire mais le navigateur agit encore | Le budget d'attente est épuisé, mais l'exécution WebBrain n'a pas été annulée. | Appelez browser_status avec le runId renvoyé, ou browser_abort si vous voulez l'arrêter. |
| Firefox ne se connecte jamais | Firefox ne dispose pas d'environnement d'exécution de pont pour les documents hors écran. | Utilisez un navigateur Chromium pour les outils de navigateur. Les deux outils HTTP publics fonctionnent sans extension. |
| MCP ou WebBrain Cloud est déconnecté | L'URL de LM Studio a remplacé l'unique destination de pont de l'extension. | Une fois terminé, remettez les réglages sur le port 17374 (MCP) ou 17373 (WebBrain Cloud). |
Configuration de l'environnement du pont
| Variable | Valeur par défaut | Signification |
|---|---|---|
WEBBRAIN_BRIDGE_PORT | 17375 | Port loopback auquel se connecte l'extension. |
WEBBRAIN_BRIDGE_PATH | /extension | Chemin WebSocket ; il doit correspondre à l'URL des réglages de WebBrain. |
WEBBRAIN_COMMAND_TIMEOUT_MS | 30000 | Budget d'expiration pour une commande et une réponse du pont. |
Si vous modifiez le port ou le chemin pour un plugin développé en local, mettez à jour l'URL du pont cloud dans les réglages de WebBrain pour qu'elle corresponde. La plupart des utilisateurs devraient garder les valeurs par défaut.
