Mit Webzugriff kann ein Agent während einer Ausführung Seiten lesen, im Web suchen und öffentliche APIs aufrufen. Die microVM selbst hat kein Internet: Jede Anfrage läuft über Ephemeral, das sie prüft, als EphemeralBot sendet und aufzeichnet.
Aktivieren
Webzugriff ist deaktiviert, solange eine Ausführung oder ein Workflow nicht web setzt. Der Playground im Dashboard aktiviert ihn für Sie.
"web": trueUm eine Ausführung auf bestimmte Websites zu beschränken, führen Sie diese in allow auf. api.github.com trifft nur auf diesen Host zu; *.github.com trifft auf jede Subdomain und auf github.com selbst zu. Weiterleitungen werden gegen dieselbe Liste geprüft. Setzen Sie search auf false, um die Websuche auszuschließen.
"web": { "allow": ["api.github.com", "*.stripe.com"], "search": false }In einer Workflow-Datei lautet dieselbe Einstellung web: true oder web: mit allow und search darunter. Das web einer Ausführungsanfrage ersetzt das des Workflows nur für diese Ausführung.
Was der Agent tun kann
| Tool | Funktion |
|---|---|
web_ | Sendet eine Anfrage mit beliebiger Methode, beliebigen Headern und Body und liefert den Status und die Antwort als Text. HTML-Seiten werden samt ihrer Links in lesbaren Text umgewandelt. Lange Antworten kommen in Teilen von 40.000 Zeichen; den nächsten Teil einer Seite zu lesen, die die Ausführung bereits abgerufen hat, ist kostenlos. |
web_ | Durchsucht das Web und liefert bis zu 10 Ergebnisse, jeweils mit Titel, URL und kurzem Auszug. Ein Ergebnis liest der Agent mit web_fetch vollständig. |
Dem Agenten jeder Ausführung wird mitgeteilt, wie seine Maschine funktioniert: dass die Shell kein Netzwerk hat, curl oder pip install also fehlschlagen, und dass er das Web stattdessen über diese Tools erreichen soll.
Was Ephemeral prüft
- Das Ziel ist eine öffentliche Adresse auf Port 80, 443, 8080 oder 8443, über HTTP oder HTTPS, und steht auf der Zulassungsliste der Ausführung. Jede Weiterleitung wird erneut geprüft, bis zu fünf.
- Ein Sicherheitsklassifikator liest jede Anfrage zusammen mit der Aufgabe der Ausführung und lehnt solche ab, die wie ein Angriff auf ein System, Spam oder Betrug aussehen oder bei denen Daten an einen Ort gesendet werden, den die Aufgabe nicht erfordert. Kann der Klassifikator nicht antworten, werden Lesezugriffe durchgelassen und Anfragen, die Daten ändern könnten, abgelehnt, bis er wieder antwortet.
- Eine Ausführung kann 50 Webanfragen und Suchen ausführen. Eine Organisation kann 120 pro Minute ausführen, und alle Kunden zusammen senden an eine einzelne Website höchstens 60 pro Minute. Ist ein Limit erreicht, wird der Agent informiert und die Anfrage wird nicht gesendet.
- Anfrage-Bodys sind bis zu 1 MiB groß, und von jeder Antwort werden bis zu 10 MiB gelesen.
- Anfragen befolgen die Regeln, die die robots.txt einer Website für EphemeralBot namentlich festlegt. Die EphemeralBot-Seite erklärt, wie Websitebetreiber ihn erkennen und blockieren.
Eine abgelehnte Anfrage wird mit ihrem Grund aufgezeichnet, und der Agent erhält denselben Grund, damit er seinen Kurs ändern kann. Die Ausführung läuft weiter.
Kosten
Beim gehosteten Dienst kostet jede Anfrage $0.001 und jede Suche $0.01. Beides wird wie Modellaufrufe vom Budget der Ausführung abgezogen; eine Anfrage, die es überschreiten würde, wird abgelehnt. Abgelehnte Anfragen werden nicht berechnet. Siehe Preise.
Ereignisse
| Typ | Aufgezeichnet, wenn |
|---|---|
web_ | eine Anfrage gesendet wurde. Enthält die Methode, die endgültige URL, den Status, die Größe, die Dauer, die Kosten, die Sicherheitswerte und die mitgesendete Anfrage-ID. |
web_ | eine Suche ausgeführt wurde. Enthält die Suchanfrage, die Anzahl der Ergebnisse und die Kosten. |
web_ | eine Anfrage oder Suche abgelehnt wurde, bevor sie gesendet wurde. Enthält den Grund. |
Zugangsdaten
web_fetch sendet alle Header, die der Agent setzt. Ein API-Schlüssel, den der Agent verwendet, muss also im Prompt oder in der Eingabe stehen, wo er mit der Ausführung gespeichert wird. Für eine API, die Sie mit einem Geheimnis aufrufen, ist eine Verbindung besser: Ephemeral verwahrt das Geheimnis, und der Agent sieht es nie.
Selbst gehostete Installationen
Die Engine sendet Webanfragen von ihrem eigenen Host. Setzen Sie EPHEMERAL_WEB_SOURCE_IP auf eine separate Adresse dieses Hosts, um sie von Ihrem übrigen Datenverkehr zu trennen. Die Websuche nutzt den OpenRouter-Schlüssel in INFERENCE_API_KEY; bei einem anderen Anbieter ist die Suche nicht verfügbar.
Der Sicherheitsklassifikator ist bei selbst gehosteten Installationen deaktiviert, weil er über Ihr Inferenzkonto läuft. Um ihn zu aktivieren, setzen Sie EPHEMERAL_WEB_CLASSIFIER_MODEL=typesafe/jev-1.13 mit einem OpenRouter-Schlüssel. Ohne ihn gelten Ihre Zulassungslisten, die Ratenlimits und die Netzwerkregeln weiterhin.