Skip to content
Fresh 🌱

Live View ​

Humans-in-the-loop can access the live view of Kernel browsers in real-time to resolve errors or take unscripted actions.

To access the live view, visit the browser_live_view_url provided when you create a Kernel browser:

typescript
  import Kernel from '@onkernel/sdk';

  const kernel = new Kernel();

  const browser = await kernel.browsers.create();
  console.log(browser.browser_live_view_url);
python
from kernel import Kernel

kernel = Kernel()

browser = kernel.browsers.create()
print(browser.browser_live_view_url)

Query parameters ​

The browser_live_view_url supports additional query parameters to customize the live view:

  • readOnly (bool): when set to true, the view will be non-interactive.

Example:

https://api.onkernel.com/browser/live/?readOnly=true

Embedding in an iframe ​

The live view URL can be embedded in an iframe to integrate the browser view into your own application or dashboard.

html
<iframe src={browser.browser_live_view_url}></iframe>

INFO

Embedded third-party iframes like live view must have focus to receive keyboard events. On Safari, focus requires a user-initiated event , calling .focus() on the iframe element within a user-initiated event handler is recommended.

To enable clipboard sharing, add allow="autoplay; clipboard-read; clipboard-write" to the iframe element.

If your application uses a Content Security Policy (CSP), you'll need to add the following directives to allow the live view iframe and its WebSocket connection:

frame-src https://*.onkernel.com:8443;
connect-src https://*.onkernel.com:8443
            wss://*.onkernel.com:8443;

Kiosk mode ​

Kiosk mode provides a fullscreen live view experience without browser UI elements like the address bar and tabs. You can enable kiosk mode when creating a browser by setting the kiosk_mode parameter to true.

INFO

Kiosk mode triggers a Chromium restart, which can take several seconds. Use browser pools to access kiosk mode browsers faster.

typescript
  const browser = await kernel.browsers.create({
      kiosk_mode: true
  });
python
kernel_browser = kernel.browsers.create(
    kiosk_mode=True
)

URL lifetime ​

browser_live_view_url becomes invalid once the browser is deleted manually or via timeout.