Zum Inhalt springen

Live-Ansicht und Übernahme

Beobachte jede laufende Session im Browser und übernimm die Steuerung, wenn ein menschlicher Schritt ansteht: Takeover-Lease, Heartbeats und die Rückgabe.

Zuletzt aktualisiert:

Viele Zuschauer, ein Schreiber

Session Screencast /v1/live/:id CDP /v1/connect/:id immer nur ein Schreiber Mitglied sieht zu, nur lesend Mitglied sieht zu, nur lesend Owner hält den Takeover-Lease Agent pausiert während des Takeovers, läuft nach der Rückgabe weiter der Lease verfällt mit den Heartbeats des Halters -- ein zugeklapptes Laptop blockiert keine Session -- und der Zugriff läuft über kurzlebige signierte Tokens, nie über den API-Schlüssel
Die Takeover-Lease ist exklusiv und an Heartbeats gebunden: Die Steuerung fällt an den Agenten zurück, sobald sie freigegeben wird oder abläuft.
Die Live-Ansicht einer Browserberg-Session, in der eine Person dem Agenten die Steuerung abnimmt
Ein Run, der auf eine 2FA-Abfrage trifft, wartet auf eine menschliche Hand und läuft dann weiter.

So funktioniert eine Übernahme

Jede Session lässt sich live beobachten, von beliebig vielen gleichzeitig — aber es gibt immer nur einen Schreiber, und diese Exklusivität ist die Takeover-Lease. Solange eine Person die Lease hält, ist der Agent angehalten; nach der Freigabe macht er weiter, wo er stand. Im Dashboard heißen die beiden Schaltflächen „Steuerung übernehmen“ und „Steuerung abgeben“.

Die Lease verfällt, wenn ihre Heartbeats ausbleiben — ein zugeklappter Laptop kann eine Session also nicht dauerhaft in Menschenhand stranden lassen. Gebaut ist das für den 2FA- oder photoTAN-Moment: Der Run pausiert, eine Person erledigt den Schritt auf der Live-Seite, gibt die Steuerung ab, und der Agent macht weiter.

Ein Ansichts-Token ausstellen

Voraussetzungen: api-key dashboard-session

BASE="https://browserberg.com"
AUTH="Authorization: Bearer $BROWSERBERG_API_KEY"
JSON="Content-Type: application/json"

ID=$(curl -s -X POST "$BASE/v1/sessions" -H "$AUTH" -H "$JSON" -d '{"ttlSeconds": 120}' \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)["session"]["id"])')

# Access to the live socket rides on a short-lived signed token, never on the
# API key. Today the dashboard session mints it; only an owner gets the write
# lease, a member watches read-only.
curl -s -X POST "$BASE/v1/dashboard/sessions/$ID/live-token" \
  -H 'x-browserberg-app: 1' -H "Cookie: $BB_DASHBOARD_COOKIE" \
  | python3 -c 'import json,sys; t = json.load(sys.stdin); print(json.dumps({
      "expiresInSeconds": t["expiresInSeconds"], "tokenPrefix": t["token"][:12] + "..."}, indent=2))'

curl -s -X DELETE "$BASE/v1/sessions/$ID" -H "$AUTH" > /dev/null

Seiten in der Nähe

  • Playwright verbinden Dasselbe Token, genutzt zum Andocken von Tooling
  • Referenz Audit Übernahmen werden protokolliert, Vergabe wie Rückgabe
  • Session-Lebenszyklus Was die Unterbrechung für Deadlines bedeutet