Aller au contenu
Aller au contenu

Docs / Guides

Page traduite automatiquement

Cette page a été traduite automatiquement, elle peut donc contenir des erreurs ou se lire un peu bizarrement. La version anglaise fait foi. Lire l'original en anglais.

Piloter Studio avec un agent de navigateur

Enregistre les actions de relecture de Verbatra Studio comme outils WebMCP pour qu'un agent IA de navigateur travaille dans ton tableau de bord ouvert.

Sers-t'en pour qu'un agent IA de navigateur, comme Gemini ou Claude dans Chrome, vérifie la dérive, traite la file de relecture et corrige des entrées dans l'onglet Studio que tu as ouvert. Ce n'est pas fait pour configurer un projet ni pour l'accès à distance.

Il te faut :

  • Studio lancé sur ton projet (Réviser dans Studio) ;
  • Chrome 149 ou plus récent avec chrome://flags/#enable-webmcp-testing activé, ou un navigateur qui prend WebMCP en charge nativement, dans une fenêtre normale et non headless.

Expérimental

WebMCP est une nouvelle capacité du navigateur derrière un flag, et sa surface peut encore changer.

Activer les outils

verbatra studio --expose-agent-tools

VERBATRA_STUDIO_AGENT_TOOLS=1 fait la même chose ; Dépenses et outils d'agent explique comment le flag et la variable sont résolus. Ouvre l'URL affichée dans le navigateur WebMCP, et l'agent de cet onglet trouve les outils. Dans un navigateur sans WebMCP, Studio n'enregistre rien et le tableau de bord ne change pas.

Pour que l'agent puisse appeler ton fournisseur, lance aussi Studio avec --allow-spend.

L'agent lit chaque valeur sans masquage, comme la page l'affiche, car un agent dans l'onglet peut de toute façon lire la page. Les exceptions sont les outils de glossaire et verbatra_history_keyRevisions : leurs valeurs passent par un masquage des secrets, donc une valeur qui ressemble à une clé d'API revient sous forme de marqueur. Pour cacher les valeurs à un agent, utilise plutôt le serveur MCP avec --redact-values ; pour un projet sous NDA, voir Studio et MCP.

Savoir ce que l'agent peut appeler

Chaque outil est une action Studio avec le préfixe verbatra_. Les outils de lecture sont marqués en lecture seule, les outils d'écriture ne modifient que tes fichiers locaux, et les outils payants ne s'enregistrent qu'avec --allow-spend.

Outils de lecture

OutilCe qu'il fait
verbatra_project_snapshotla config chargée, les capacités et, sous capabilities.limits, les limites de débit de retranslate, reviewDecision et des deux méthodes de remplacement de valeurs
verbatra_status_checkla couverture par locale
verbatra_status_diffles clés manquantes, modifiées et orphelines par locale
verbatra_glossary_getle glossaire résolu, secrets masqués
verbatra_lock_statel'état du fichier de verrouillage par locale
verbatra_history_listles commits récents sur les fichiers de locale, avec le nom de l'auteur (jamais l'e-mail)
verbatra_history_keyRevisionsles commits d'une clé dans une locale, avec différences par mot, clés masquées nouveau
verbatra_key_integrityles contrôles de placeholders, de balisage et d'ICU d'une clé, dans les locales où sa source a changé
verbatra_review_queuechaque valeur écrite par une machine que personne n'a approuvée, d'après les fichiers versionnés
verbatra_key_valuela source et la cible d'une clé, avec qui a écrit la cible
verbatra_key_contextla description, les termes du glossaire et le maxLength d'une clé, et le contrôle d'un draft optionnel
verbatra_locale_valuesles valeurs des clés par locale cible, 200 par page par défaut, restreintes par locales, keys ou query
verbatra_locale_integritychaque traduction qui échoue aux contrôles d'intégrité
verbatra_translation_estimatece qu'un appel translate-pending enverrait et coûterait, sans appeler de fournisseur
verbatra_usage_summaryla consommation de tokens et le budget de la dernière exécution
verbatra_usage_historyles exécutions enregistrées, la plus récente d'abord, avec tokens, coût et couverture, en chiffres seulement nouveau

Outils d'écriture

OutilCe qu'il fait
verbatra_glossary_writemodifie un terme d'un glossaire stocké dans un fichier
verbatra_review_approveenregistre l'approbation d'une valeur par une personne nommée
verbatra_review_rejectenregistre le rejet d'une personne nommée et retire la valeur
verbatra_translation_editEntryécrit une valeur via le contrôle d'intégrité

Outils payants

OutilCe qu'il fait
verbatra_translation_retranslateEntryretraduit une clé dans une locale
verbatra_translation_translatePendingtraduit tout ce qui est en attente, éventuellement pour certaines locales et sous un plafond maxTokens

verbatra_key_integrity ne renvoie que les locales où la source de la clé a changé, donc une liste vide signifie qu'il n'y avait rien à vérifier. Ses lignes sont plus plates que celles de key.integrity dans le serveur MCP. Seul le serveur MCP a project.doctor et report.provenance. verbatra_locale_values pagine comme son locale.values, avec les mêmes limit et cursor (Autres entrées et résultats).

Connaître les règles des outils

Chaque appel passe par le RPC loopback authentifié du tableau de bord, avec la même validation des entrées et le même contrôle d'intégrité : une valeur qui échoue à un contrôle est rejetée, pas écrite.

Règles par appel

  • Provenance : une modification de l'agent est enregistrée avec l'origine agent et reste dans la file de relecture ; une modification depuis le tableau de bord est human. Les outils de lecture indiquent qui a écrit chaque valeur (Le fichier de verrouillage).
  • Travail humain : retraduire refuse la valeur d'une personne avec KEY_PROTECTED (sauf avec humanEdits: "overwrite") et une clé épinglée avec KEY_PINNED, et modifier refuse une clé épinglée (Garder les traductions humaines).
  • Décisions de relecture : approuver et rejeter ne font que transmettre ta décision. Les deux exigent reviewer, le nom de la personne, et expectedValue, le texte relu ; une valeur modifiée est refusée avec REVIEW_VALUE_CHANGED.
  • Pas d'outils groupés : Approve selected, Reject selected, Retranslate selected, Approve all in et Search and replace sont réservés aux personnes.
  • Estimer d'abord : une locale inconnue est refusée avec UNKNOWN_LOCALE avant toute dépense, et c'est le plus bas des maxTokens de l'appel et de la config qui s'applique (Estimer le coût avant une exécution).
  • Limites de débit : par minute glissante, 20 retraductions, 20 modifications, 20 écritures de glossaire, 60 décisions de relecture et 5 appels translate-pending, un à la fois.

Lire un appel échoué

Chaque outil renvoie l'enveloppe du tableau de bord, donc un échec se lit { "ok": false, "error": { "code": ..., "message": ... } }. En plus des codes du SDK, la couche RPC ajoute :

CodeSignification
REQUEST_INVALIDla requête ou la réponse n'était pas une enveloppe lisible
METHOD_UNKNOWNla méthode n'existe pas dans cette version de Studio
SPEND_DISABLEDune méthode payante alors que la dépense est coupée : Studio tourne sans --allow-spend, ou le fournisseur est none ; le message dit lequel
PARAMS_INVALIDun paramètre a échoué à la validation ; issues nomme chaque champ
METHOD_RATE_LIMITEDlimite de débit dépassée ; retryAfterSeconds dit quand l'appel passera
BATCH_TOO_LARGEun lot dépasse toute une fenêtre de limite ; envoie moins d'entrées
ALREADY_IN_PROGRESSun second appel pour une entrée encore en cours (HTTP 409)
SESSION_EXPIREDStudio a redémarré avec un nouveau token ; ouvre l'URL qu'il a affichée
INTERNALun handler a échoué avec une erreur inattendue (HTTP 500) ; le message est générique

Réparer les outils dégradés

Si le navigateur rejette un enregistrement, chaque vue affiche un avertissement comme :

Agent tools degraded: 2 of the agent tool registrations failed with SecurityError. The dashboard itself is unaffected. The browser console lists every failing tool.

La console contient une ligne qui nomme chaque échec :

Sortie
Verbatra agent tools: 2 of 20 tool registrations failed. verbatra_status_diff (SecurityError: ...); verbatra_key_value (SecurityError: ...)

Lis d'abord le nom de l'erreur, puis recharge l'onglet, ce qui relance l'enregistrement. Un flag manquant ou un navigateur sans WebMCP n'affiche jamais cet avis ; rien n'est enregistré, en silence. Une session sans --allow-spend tente deux enregistrements de moins, et ce n'est pas un échec.

Mesurer le risque de dépense

Les outils n'ajoutent aucune exposition réseau : Studio n'écoute toujours que sur 127.0.0.1, chaque requête porte le token de session, et les outils qui renvoient du texte du projet le marquent comme non fiable, pour que l'agent le traite comme des données.

Avertissement

Avec --allow-spend et --expose-agent-tools ensemble, un agent peut dépenser chez ton fournisseur sans confirmation par appel, jusqu'aux limites de débit. Studio ne distingue pas l'appel d'un agent de ton clic, il n'ajoute donc aucune boîte de validation. Pour lire et modifier seulement, laisse --allow-spend désactivé.

Voir aussi

Modifier sur GitHub

Sur cette page