Docs / Anleitungen
Maschinell übersetzte Seite
Studio mit einem Browser-Agenten steuern
Registriere die Review-Aktionen von Verbatra Studio als WebMCP-Tools, damit ein KI-Agent im Browser deinen offenen, angemeldeten Dashboard-Tab bedienen kann.
Damit lässt du einen KI-Agenten im Browser, etwa Gemini oder Claude in Chrome, im offenen Studio-Tab Drift prüfen, die Review-Warteschlange abarbeiten und Einträge korrigieren. Für die Projekteinrichtung oder den Fernzugriff ist das nicht gedacht.
Du brauchst:
- ein laufendes Studio über deinem Projekt (In Studio prüfen);
- Chrome 149 oder neuer mit aktiviertem
chrome://flags/#enable-webmcp-testingoder einen Browser mit nativer WebMCP-Unterstützung, in einem normalen Fenster statt headless.
Experimentell
WebMCP ist eine neue Browser-Fähigkeit hinter einem Flag, und ihre Schnittstelle kann sich noch ändern.
Die Tools einschalten
verbatra studio --expose-agent-toolsVERBATRA_ bewirkt dasselbe; wie Flag und Variable aufgelöst werden, steht unter Ausgaben und Agent-Tools. Öffne die ausgegebene URL im WebMCP-Browser, und der Agent in diesem Tab findet die Tools. In einem Browser ohne WebMCP registriert Studio nichts, und das Dashboard bleibt unverändert.
Damit der Agent deinen Provider aufrufen darf, startest du Studio zusätzlich mit --allow-spend.
Der Agent liest jeden Wert ungeschwärzt, so wie die Seite ihn zeigt, weil ein Agent im Tab die Seite ohnehin lesen kann. Ausnahmen sind die Glossar-Tools und verbatra_: Ihre Werte durchlaufen eine Geheimnis-Schwärzung, ein Wert in der Form eines API-Schlüssels kommt daher als Platzhalter zurück. Willst du Werte vor einem Agenten verbergen, nutze stattdessen den MCP-Server mit --redact-values; für ein NDA-Projekt siehe Studio und MCP.
Wissen, was der Agent aufrufen kann
Jedes Tool ist eine Studio-Aktion mit dem Präfix verbatra_. Lese-Tools sind als nur lesend markiert, Schreib-Tools ändern nur deine lokalen Dateien, und kostenpflichtige Tools werden nur mit --allow-spend registriert.
Lese-Tools
| Tool | Was es tut |
|---|---|
verbatra_ | die geladene Konfiguration, die Fähigkeiten und unter capabilities.limits die Rate-Limits für retranslate, reviewDecision und die beiden Methoden zum Ersetzen von Werten |
verbatra_ | Abdeckung pro Locale |
verbatra_ | fehlende, geänderte und verwaiste Keys pro Locale |
verbatra_ | das aufgelöste Glossar, mit geschwärzten Secrets |
verbatra_ | den Zustand der Lock-Datei pro Locale |
verbatra_ | die letzten Commits an den Locale-Dateien, mit dem Namen des Autors (nie die E-Mail) |
verbatra_ | die Commits eines Keys in einer Locale, mit Wort-Diffs, Schlüssel geschwärzt neu |
verbatra_ | Platzhalter-, Markup- und ICU-Prüfung für einen Key, in den Locales, in denen sich seine Quelle geändert hat |
verbatra_ | jeden maschinell geschriebenen Wert, den noch niemand freigegeben hat, aus den committeten Dateien |
verbatra_ | Quelle und Ziel eines Keys, samt Angabe, wer das Ziel geschrieben hat |
verbatra_ | Beschreibung, Glossarbegriffe und maxLength eines Keys sowie die Prüfung eines optionalen draft |
verbatra_ | Key-Werte pro Ziel-Locale, standardmäßig 200 pro Seite, eingegrenzt mit locales, keys oder query |
verbatra_ | jede Übersetzung, die die Integritätsprüfungen nicht besteht |
verbatra_ | was ein Translate-Pending-Aufruf senden und kosten würde, ohne einen Provider aufzurufen |
verbatra_ | Token-Verbrauch und Budget des letzten Laufs |
verbatra_ | aufgezeichnete Läufe, neueste zuerst, mit Tokens, Kosten und Abdeckung, nur als Zahlen neu |
Schreib-Tools
| Tool | Was es tut |
|---|---|
verbatra_ | einen Begriff eines dateibasierten Glossars ändern |
verbatra_ | die Freigabe eines Werts durch eine benannte Person festhalten |
verbatra_ | die Ablehnung durch eine benannte Person festhalten und den Wert entfernen |
verbatra_ | einen Wert durch das Integritäts-Gate schreiben |
Kostenpflichtige Tools
| Tool | Was es tut |
|---|---|
verbatra_ | einen Key in einer Locale neu übersetzen |
verbatra_ | alles Ausstehende übersetzen, optional nur für bestimmte locales und unter einer maxTokens-Obergrenze |
verbatra_ liefert nur die Locales, in denen sich die Quelle des Keys geändert hat; eine leere Liste heißt also, dass nichts zu prüfen war. Seine Zeilen sind flacher als die von key.integrity im MCP-Server. Nur der MCP-Server hat project.doctor und report.provenance. verbatra_ blättert wie sein locale.values, mit denselben limit und cursor (Weitere Eingaben und Ergebnisse).
Die Regeln der Tools kennen
Jeder Aufruf läuft über den eigenen, angemeldeten Loopback-RPC des Dashboards, mit derselben Eingabeprüfung und demselben Integritäts-Gate: Ein Wert, der eine Prüfung nicht besteht, wird abgelehnt, nicht geschrieben.
Regeln je Aufruf
- Herkunft: Eine Änderung durch den Agenten wird mit der Herkunft
agentfestgehalten und bleibt in der Review-Warteschlange; eine Änderung im Dashboard isthuman. Die Lese-Tools melden, wer welchen Wert geschrieben hat (Die Lock-Datei). - Menschliche Arbeit: Neu übersetzen verweigert den Wert einer Person mit
KEY_(außer beiPROTECTED humanEdits: "overwrite") und einen gepinnten Key mitKEY_, Bearbeiten verweigert einen gepinnten Key (Menschliche Übersetzungen behalten).PINNED - Review-Entscheidungen: Freigeben und Ablehnen geben nur deine Entscheidung weiter. Beide brauchen
reviewer, den Namen der Person, undexpectedValue, den geprüften Text; ein geänderter Wert wird mitREVIEW_abgelehnt.VALUE_ CHANGED - Keine Sammel-Tools: Approve selected, Reject selected, Retranslate selected, Approve all in und Search and replace bleiben Menschen vorbehalten.
- Erst schätzen: Eine unbekannte Locale wird mit
UNKNOWN_abgelehnt, bevor etwas ausgegeben wird, und es gilt das niedrigereLOCALE maxTokensvon Aufruf und Konfiguration (Kosten vor einem Lauf schätzen). - Rate-Limits: pro gleitender Minute 20 Neuübersetzungen, 20 Bearbeitungen, 20 Glossar-Schreibvorgänge, 60 Review-Entscheidungen und 5 Translate-Pending-Aufrufe, einer zur Zeit.
Einen fehlgeschlagenen Aufruf lesen
Jedes Tool liefert den Umschlag des Dashboards, ein Fehler sieht also so aus: { "ok": false, "error": { "code": ..., "message": ... } }. Neben den Codes des SDK ergänzt die RPC-Schicht:
| Code | Bedeutung |
|---|---|
REQUEST_ | Anfrage oder Antwort war kein lesbarer Umschlag |
METHOD_ | die Methode gibt es in dieser Studio-Version nicht |
SPEND_ | eine kostenpflichtige Methode, während Ausgaben aus sind: Studio läuft ohne --allow-spend, oder der Provider ist none; die Meldung nennt den Grund |
PARAMS_ | ein Parameter hat die Prüfung nicht bestanden; issues nennt jedes Feld |
METHOD_ | über dem Rate-Limit; retryAfterSeconds sagt, wann der Aufruf passt |
BATCH_ | ein Batch übersteigt ein ganzes Rate-Limit-Fenster; sende weniger Einträge |
ALREADY_ | ein zweiter Aufruf für einen Eintrag, der noch läuft (HTTP 409) |
SESSION_ | Studio wurde mit neuem Token neu gestartet; öffne die URL, die es ausgegeben hat |
INTERNAL | ein Handler ist mit einem unerwarteten Fehler gescheitert (HTTP 500); die Meldung ist generisch |
Eingeschränkte Tools beheben
Lehnt der Browser eine Registrierung ab, zeigt jede Ansicht eine Warnung wie:
Agent tools degraded: 2 of the agent tool registrations failed with SecurityError. The dashboard itself is unaffected. The browser console lists every failing tool.
Die Konsole enthält eine Zeile, die jeden Fehler nennt:
Verbatra agent tools: 2 of 20 tool registrations failed. verbatra_status_diff (SecurityError: ...); verbatra_key_value (SecurityError: ...)Lies dort zuerst den Fehlernamen und lade dann den Tab neu, damit die Registrierung erneut läuft. Ein fehlendes Flag oder ein Browser ohne WebMCP zeigt diesen Hinweis nie; dann wird stillschweigend nichts registriert. Eine Sitzung ohne --allow-spend versucht zwei Registrierungen weniger, und das ist kein Fehler.
Das Ausgabenrisiko abwägen
Die Tools öffnen nichts Neues im Netz: Studio bindet weiterhin nur an 127.0.0.1, jede Anfrage trägt das Sitzungs-Token, und Tools, die Projekttext liefern, markieren ihn als nicht vertrauenswürdig, damit der Agent ihn als Daten behandelt.
Warnung
Mit --allow-spend und --expose-agent-tools zusammen kann ein Agent ohne Bestätigung pro Aufruf bei deinem Provider Geld ausgeben, bis zu den Rate-Limits. Studio kann den Aufruf eines Agenten nicht von deinem Klick unterscheiden und fügt deshalb keinen Bestätigungsdialog hinzu. Für reines Lesen und Bearbeiten lässt du --allow-spend weg.
Siehe auch
- In Studio prüfen: derselbe Ablauf von Hand.
verbatra studio: jedes Flag und der Startvertrag.- Einen MCP-Client verbinden: Das Plugin bringt den Skill
verbatra-studio-agent-toolsmit, Studio startest du aber selbst.