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
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
{
"expiresInSeconds": 60,
"tokenPrefix": "v1.eyJvcmdJZ..."
}