Diwall MCP

Français
Télécharger v0.0.1

Architecture

Deux couches et une boucle : le modèle juge, le serveur observe, agit et refuse, le navigateur détient vos sessions.

Deux couches

le modèle de langage, par son client MCP    juge, décide, vous explique
   │   14 outils par l'entrée et la sortie standard
mcp-server-diwall-browser                   observe, agit, refuse
   │   Chrome DevTools Protocol, sur 127.0.0.1 seulement
votre navigateur, sur son profil dédié      détient vos sessions ouvertes

à côté du serveur
   le répertoire chiffré                    identifiants en entrée ; journal, captures, téléchargements en sortie
   la fenêtre de confirmation               kdialog ou zenity, à laquelle vous répondez

Le modèle apporte le jugement. Le serveur apporte ce que le modèle ne peut pas avoir seul : l’image et l’arbre que vous verriez, des gestes dans votre session, et des refus qui ne dépendent pas de ce que conclut le modèle.

Pourquoi le serveur travaille dans votre navigateur au lieu d’en lancer un est expliqué dans Pourquoi le serveur se rattache à votre navigateur.

Un tour de la boucle

  1. open_tab ou navigate charge une page dans un onglet que le serveur a ouvert. Le serveur ne lit ni ne pilote jamais un onglet que vous avez ouvert vous-même.
  2. observe prend un instantané, numérote les éléments sur lesquels on peut agir, dessine les repères et les masques sur l’image, et renvoie l’image, l’arbre, les éléments et un snapshot_id (Perception).
  3. Le modèle désigne un repère de cet instantané dans click, fill, select_option ou press_key.
  4. Le serveur compte l’action contre les plafonds, vérifie que le nœud derrière le repère est celui qui a été observé et que la page est sur un site de votre profil, et décide si l’action est verrouillée. Une action verrouillée est écrite au journal et capturée, puis attend votre réponse ; le serveur vérifie de nouveau le nœud, fait le geste, attend le chargement qu’il a lancé, et capture de nouveau.
  5. Le résultat sort par un seul point de sortie, qui retient les valeurs sensibles et sépare ce que le serveur affirme (server) de ce que la page a écrit (page_content). Le journal reçoit une ligne.

Dans le code

Dans la version 0.0.1, le paquet compte 22 modules et un fichier par outil sous tools/. Chaque vérification de sécurité vit dans un seul module, et un module qui en a besoin appelle celui-là ; les tests le vérifient, ainsi qu’aucun outil ne contourne le point de sortie. Le document d’architecture du dépôt donne le rôle de chacun d’eux.

Dans le détail