data-fair-browse

Installation
SKILL.md

Piloter une plateforme data-fair au navigateur

Pour un agent qui utilise une plateforme data-fair déployée via un navigateur MCP (chrome-devtools ou Playwright), le plus souvent sous une identité non humaine (NHI). Le fil conducteur : la page connaît déjà ses propres opérations, il faut les lui demander avant de simuler un humain.

Cet skill ne couvre pas le développement des services (→ data-fair-session, data-fair-ws, vjsf), ni le contenu éditorial des pages de portail (→ portals-pages, qui s'appuie sur celui-ci).

1. L'identité NHI

Le navigateur est lancé derrière @data-fair/nhi-proxy, qui échange une clé NHI contre des sessions simple-directory courtes et injecte les cookies. Le câblage détaillé est dans nhi-proxy/docs/usage.md, qui n'est pas publié dans le paquet npm. L'essentiel :

  • Lancer un proxy par identité : npx @data-fair/nhi-proxy serve --profile "<profil>" (profils : nhi-proxy profiles, un port chacun, 7331 pour le premier). Au démarrage, il affiche la config Playwright MCP et le pin SPKI. Sonde : curl --proxy http://127.0.0.1:7331 --cacert ~/.config/nhi-proxy/<profil>/ca.crt https://koumoul.com/simple-directory/api/auth/me.
  • Page publique (portail, rendu visiteur) : elle peut se consulter avec le navigateur MCP normal, sans NHI ni proxy.
  • Navigateur MCP derrière le proxy : chrome-devtools (--proxyServer=http://127.0.0.1:<port> --chromeArg=--ignore-certificate-errors-spki-list=<pin>) ou Playwright (config --config affichée au démarrage du proxy). Ces options sont lues au lancement du MCP : il ne répond que tant que son proxy tourne (sinon ERR_PROXY_CONNECTION_FAILED) et n'accepte que la CA du profil dont il porte le pin. Ne pas en installer un de sa propre initiative.
  • Script Playwright autonome (captures, tests, tournage) : chromium.launch({ proxy: { server: 'http://127.0.0.1:7331' } }), puis browser.newContext({ ignoreHTTPSErrors: true }), car le proxy re-signe l'hôte cible avec sa propre CA. Le navigateur reçoit la session sous forme de cookies ordinaires dès la première navigation : pas de storageState à récolter. Ajouter bypassCSP: true pour injecter du style dans la page (annotations), que le CSP des services interdit.
  • Ne jamais lire ~/.config/nhi-proxy/** au-delà de config.json : la clé de signature y est stockée.

Ce qu'il faut savoir côté agent :

Installs
4
Repository
data-fair/lib
GitHub Stars
1
First Seen
10 days ago
data-fair-browse — data-fair/lib