agent-browser
von inferen-shagent-browser ermöglicht es KI-Agenten, einen Playwright-basierten Browser über inference.sh zu steuern. Öffne Seiten, nutze @e-Element-Refs zum Klicken, Tippen, Draggen, Hochladen von Dateien, Scrapen von Inhalten sowie zum Erstellen von Screenshots oder Videoaufnahmen. Ideal für Web-Automatisierung, Datenextraktion und agentengesteuerte Browsing-Workflows.
Überblick
Was ist agent-browser?
agent-browser ist ein Browser-Automatisierungs-Skill für KI-Agenten, die auf der inference.sh Plattform laufen. Unter der Haube verwendet er Playwright und stellt eine einfache, JSON-basierte Schnittstelle bereit, über die Agenten:
- Webseiten in einem echten Browser öffnen und navigieren
- Mit Elementen über stabile
@eReferenzen interagieren - Klicken, tippen, drag-and-drop ausführen und Dateien hochladen
- Strukturierte Daten für Scraping und Recherche extrahieren
- Screenshots erstellen und Videoaufnahmen von Sessions aufzeichnen
Statt Playwright-Code per Hand zu schreiben, rufst du agent-browser über die infsh CLI auf (oder über einen Agenten, der Bash-Kommandos ausführen kann). Der Skill koordiniert die Browser-Session, liefert maschinenlesbare Beschreibungen der Seite zurück und ermöglicht deinem Agenten, die Interaktion Schritt für Schritt zu steuern.
Für wen ist agent-browser gedacht?
agent-browser richtet sich an:
- Entwickler, die KI-Agenten mit realen Websites verbinden
- Automatisierungsingenieure, die wiederholbare Browser-Workflows benötigen
- Daten- und Research-Teams, die gezieltes Web-Scraping oder UI-basierte Recherche durchführen
- Workflow-Builder, die inference.sh als Orchestrierungsschicht nutzen
Der Skill passt am besten, wenn du inference.sh bereits verwendest – oder verwenden möchtest – und der Browser als kontrollierbares, für Agenten zugängliches Werkzeug dienen soll.
Welche Probleme löst agent-browser?
agent-browser hilft dir bei typischen Aufgaben der Browser-Automatisierung:
- Logins, Navigation und Formular-Workflows automatisieren
- Strukturierte Inhalte scrapen, die Interaktion erfordern (Suchformulare, Filter, Pagination)
- Agentengesteuerte, testähnliche Flows auf Live-Websites ausführen
- Videoaufnahmen einer automatisierten Browsing-Session zu Review-Zwecken erstellen
Der Skill abstrahiert direktes Playwright-Scripting weg und stellt dem Agenten einen höherwertigen Satz an Aktionen über @e Element-Referenzen zur Verfügung, wodurch Interaktionen über mehrere Schritte hinweg stabiler bleiben.
Wann ist agent-browser die richtige Wahl?
Nutze agent-browser, wenn:
- Du Agenten über inference.sh betreibst und diese im Web browsen lassen möchtest
- Du Playwright-Zuverlässigkeit willst, ohne Playwright-Code zu schreiben
- Deine Flows aus Seitenaufrufen, Element-Interaktionen und dem Auslesen von Ergebnissen bestehen
Er ist nicht ideal, wenn:
- Du die
infshCLI oder Bash-ähnliche Tools nicht verwenden kannst - Du äußerst spezifische Playwright-Features brauchst, die der Skill nicht bereitstellt
- Dein Use Case rein API-basiert ist und keinen echten Browser erfordert
Wenn du sehr feingranulare Kontrolle über Browser-Interna oder Frameworks brauchst, die über den Skill hinausgehen, sind direkte Playwright-Skripte möglicherweise geeigneter. Für typische agentengesteuerte Automatisierung bietet agent-browser jedoch eine einfachere, höher abstrahierte Schnittstelle.
Nutzung
Voraussetzungen
Bevor du agent-browser verwendest, stelle sicher, dass du Folgendes hast:
- Eine Umgebung, in der du Bash-Kommandos ausführen kannst
- Die inference.sh CLI (
infsh) installiert - Ein inference.sh Konto, bei dem du dich über die CLI anmelden kannst
Der Quick Start des Skills erfordert explizit die infsh CLI. Du kannst die offiziellen Installationsanweisungen für die CLI aus dem Repository befolgen:
- CLI-Installationsdokumentation:
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
Sobald infsh installiert und konfiguriert ist, kannst du den agent-browser Skill aus deinem Terminal oder aus beliebigen Agent-Tools aufrufen, die infsh Kommandos ausführen können.
Installation und Aktivierung des Skills
agent-browser wird als Teil des inferen-sh/skills Repositorys ausgeliefert. In den meisten inference.sh-basierten Umgebungen musst du kein separates npm-Paket installieren; du stellst stattdessen sicher, dass der Skill verfügbar ist und rufst ihn dann über infsh auf.
Typische Setup-Schritte:
- inference.sh CLI installieren
- Folge
cli-install.mdaus dem Repo.
- Folge
- Authentifizieren
- Führe aus:
infsh login - Folge den Prompts, um dich bei inference.sh zu authentifizieren.
- Führe aus:
- Verfügbarkeit des Skills prüfen
- Stelle sicher, dass deine inference.sh Umgebung Zugriff auf die
agent-browserApp/den Skill untertools/utilities/agent-browseriminferen-sh/skillsRepository hat.
- Stelle sicher, dass deine inference.sh Umgebung Zugriff auf die
Wenn du in ein breiteres „Skills“-Ökosystem integrierst, das npx skills add unterstützt, kannst du dieses Repository auch als Quelle einbinden. Der kanonische Weg zur Nutzung von agent-browser ist jedoch infsh app run.
Kern-Workflow der Browser-Automatisierung
Die Skill-Dokumentation beschreibt ein konsistentes 4-Schritte-Muster:
- Open – Eine Browser-Session starten und zu einer URL navigieren.
- Interact – Zurückgegebene
@eElement-Referenzen nutzen, um zu klicken, zu tippen, zu draggen oder Dateien hochzuladen. - Re-snapshot – Ein aktualisiertes Snapshot anfordern, um nach Navigation oder DOM-Änderungen neue
@eRefs zu erhalten. - Close – Die Session beenden; optional eine Videoaufzeichnung abrufen, falls aktiviert.
Dieses Muster ermöglicht es deinem Agenten, ein mentales Modell des Seitenzustands aufrechtzuerhalten. Jeder Aufruf erhält JSON als Input und liefert strukturiertes JSON als Output, das du in den Reasoning-Loop deines Agenten einspeist.
Quick-Start-Beispiel
Um agent-browser in einem einfachen Einseiten-Aufruf in Aktion zu sehen, folge dem Quick-Start-Muster aus dem Repo:
infsh login
# Seite öffnen und interaktive Elemente abrufen
infsh app run agent-browser --function open --input '{"url": "https://example.com"}' --session new
Was hier passiert:
--function openweist agent-browser an, eine neue Browser-Seite mit der angegebenen URL zu öffnen.--session newerstellt eine neue Session, sodass spätere Aktionen denselben Browserzustand wiederverwenden können.- Der Skill gibt JSON zurück, das typischerweise Elementbeschreibungen und
@eReferenzen enthält, die dein Agent in nachfolgendeninteractAufrufen verwenden kann.
Arbeiten mit @e Element-Referenzen
Ein zentrales Feature von agent-browser ist der Einsatz von @e Refs. Anstatt CSS-Selektoren oder XPath zu verlangen, liefert der Skill Handles wie @e:button-1 (das genaue Format hängt von der Implementierung ab) zusammen mit menschenlesbaren Beschreibungen.
Dein Agent:
- Liest die Liste verfügbarer Elemente und ihrer Beschreibungen.
- Wählt die passende
@eRef (z. B. den Button mit der Beschriftung „Search“). - Ruft eine Interaktionsfunktion (z. B. click oder fill) mit dieser
@eRef auf.
Dieses Design ist für KI-Agenten optimiert, da sie auf Basis von Beschreibungen statt auf Basis niedriger DOM-Details schließen können. Gleichzeitig bleiben Interaktionen robuster, selbst wenn sich zugrunde liegende Selektoren ändern, solange die Beschreibungen verständlich bleiben.
Beispiel: open, click und re-snapshot
Ein typischer Multi-Step-Flow kann so aussehen (nur Muster; passe es an deine konkreten Funktionen an):
# 1. Session starten und eine Seite öffnen
OPEN_RESULT=$(infsh app run agent-browser \
--function open \
--session new \
--input '{"url": "https://example.com"}')
# 2. OPEN_RESULT in deiner Agent-Logik nutzen, um eine @e Ref auszuwählen (z. B. @e:search-button)
# 3. Mit diesem Element interagieren
INTERACT_RESULT=$(infsh app run agent-browser \
--function interact \
--session "$INF_SH_SESSION" \
--input '{"action": "click", "element": "@e:search-button"}')
# 4. Nach dem Klick ein neues Snapshot abrufen, um aktualisierte Elemente zu erhalten
SNAPSHOT_RESULT=$(infsh app run agent-browser \
--function snapshot \
--session "$INF_SH_SESSION" \
--input '{}')
Die Namen der Funktionen jenseits von open können variieren. Prüfe daher immer das aktuelle SKILL.md und die zugehörige Dokumentation unter tools/utilities/agent-browser, um die exakten Funktionssignaturen und Input-Schemata zu kennen.
Screenshots und Videoaufzeichnung
agent-browser kann visuelle Artefakte der Browsing-Session erfassen:
- Screenshots – Nützlich zum Debuggen des Agentenverhaltens oder zur Ablage visueller Bestätigungen.
- Video – Wenn du die Session mit aktivierter Aufzeichnung schließt, kann der Skill eine Videodatei des gesamten automatisierten Flows zurückgeben oder verlinken.
Diese Funktionen werden über die Input-Optionen des Skills konfiguriert. Details zum Aktivieren der Aufzeichnung und zum Zugriff auf die Outputs findest du in der SKILL.md Definition und in weiterer Dokumentation unter tools/utilities/agent-browser im Repo.
Integrationstipps für Agenten und Workflows
Damit du agent-browser optimal in Automatisierungs- oder Research-Workflows einsetzen kannst:
--sessionIDs persistent halten: Sorge dafür, dass dein Agent die Session-ID zwischen Aufrufen speichert, damit mehrere Aktionen im selben Browser stattfinden.- JSON-Output sorgfältig parsen: Verwende robustes JSON-Parsing in der Runtime deines Agenten; Listen von Elementen und Metadaten können umfangreich sein.
- Interaktionen bei Bedarf drosseln: Wenn eine Seite langsam oder sehr dynamisch ist, sollte dein Agent entsprechende Wartezeiten einplanen und – sofern der Skill dies unterstützt – warten, bis Elemente zwischen den Schritten verfügbar sind.
- Wichtige Aktionen loggen: Führe ein Log über
open,interactundcloseAufrufe, wenn du das Browsing-Verhalten deines Agenten auditieren oder debuggen musst.
FAQ
Wie hängen agent-browser, inference.sh und Playwright zusammen?
agent-browser ist ein Skill, der im inference.sh Ökosystem läuft. Wenn du ihn über infsh app run aufrufst, verwendet er Playwright als zugrunde liegende Browser-Automatisierungs-Engine. Du sprichst Playwright nicht direkt an, sondern arbeitest mit den höherwertigen Skill-Funktionen und @e Element-Referenzen.
Wie installiere ich agent-browser?
Du installierst agent-browser nicht als eigenständiges Binary oder npm-Paket. Stattdessen:
- Installiere die inference.sh CLI (
infsh) anhand der offiziellen Anleitung incli-install.md. - Melde dich mit
infsh loginan. - Stelle sicher, dass deine Umgebung Zugriff auf den
agent-browserSkill aus deminferen-sh/skillsRepository hat (untertools/utilities/agent-browser).
Danach kannst du den Skill direkt über infsh app run agent-browser aufrufen.
Brauche ich Programmierkenntnisse, um agent-browser zu nutzen?
Grundlegende Erfahrung mit der Kommandozeile und JSON wird dringend empfohlen. Du musst keine Playwright-Skripte schreiben, solltest dich aber wohlfühlen mit:
- Dem Ausführen von
infshKommandos - Dem Übergeben von JSON als
--input - Dem Parsen von JSON-Output in deinem Agenten oder deinen Skripten
Für fortgeschrittenere Workflows (Bedingungen, Schleifen, Fehlerbehandlung) sind allgemeine Scripting- oder Programmierkenntnisse hilfreich.
Kann ich agent-browser außerhalb von inference.sh einsetzen?
Der Skill ist speziell für die Nutzung mit inference.sh gebaut und wird als „Browser automation for AI agents via inference.sh“ beschrieben. Die unterstützte und dokumentierte Art der Nutzung erfolgt über die infsh CLI. Wenn du eine eigenständige Bibliothek benötigst, ist es meist sinnvoller, Playwright direkt in der Sprache deiner Wahl zu verwenden.
Eignet sich agent-browser für groß angelegtes Web-Scraping?
agent-browser kann für gezieltes Scraping genutzt werden, insbesondere wenn Seiten Interaktion oder JavaScript-Rendering erfordern. Für sehr großvolumiges Scraping im großen Stil solltest du jedoch Folgendes berücksichtigen:
- Limits und Pricing deines inference.sh Kontos
- Einhaltung der Nutzungsbedingungen und robots.txt der Zielseiten
- Performance, Parallelität und Rate Limiting
Für kleinere, workflow-spezifische Scraping-Aufgaben, die in einen Agenten eingebettet sind, ist agent-browser sehr gut geeignet. Für massives Crawling über viele Sites ist ein dedizierter Scraping-Stack möglicherweise die bessere Wahl.
Wie funktioniert das Session-Management?
Das Session-Management wird über den --session Flag beim Aufruf von infsh app run gesteuert. Ein typisches Muster ist:
--session new, wenn duopenzum ersten Mal aufrufst- Wiederverwendung dieser Session-ID für nachfolgende
interactundsnapshotAufrufe - Aufruf der passenden close-Funktion, um die Session zu beenden und optional ein Video abzurufen
Prüfe stets das aktuelle SKILL.md, um die exakten Optionen und Outputs rund um das Session-Management zu kennen.
Wo finde ich die vollständige Spezifikation von Funktionen und Inputs?
Die maßgebliche Referenz für agent-browser befindet sich im Repository:
SKILL.mdim Root desinferen-sh/skillsRepos- Das Verzeichnis
tools/utilities/agent-browserfür Implementierungsdetails, Beispiele und weitere Dokumentation
Öffne diese Dateien, um die aktuelle Funktionsliste, die erwarteten JSON-Inputs und Output-Formate zu sehen und richte deinen Agenten oder deine Skripte an diesen Definitionen aus.
