diff --git a/templates/python/advanced-sample/main.py b/templates/python/advanced-sample/main.py index 17994cc..32dcec2 100644 --- a/templates/python/advanced-sample/main.py +++ b/templates/python/advanced-sample/main.py @@ -25,7 +25,6 @@ async def test_captcha_solver(ctx: kernel.KernelContext) -> None: kernel_browser = client.browsers.create( invocation_id=ctx.invocation_id, stealth=True, - persistence={"id": "captcha-solver"} ) async with async_playwright() as playwright: diff --git a/templates/python/sample-app/main.py b/templates/python/sample-app/main.py index 15587b0..bd329de 100644 --- a/templates/python/sample-app/main.py +++ b/templates/python/sample-app/main.py @@ -62,13 +62,13 @@ async def get_page_title(ctx: kernel.KernelContext, input_data: PageTitleInput) return {"title": title} finally: - await browser.close() + client.browsers.delete_by_id(kernel_browser.session_id) """ -Example app that instantiates a persisted Kernel browser that can be reused across invocations +Example app that creates a long-running Kernel browser for manual testing Invoke this action to test Kernel browsers manually with our browser live view -https://onkernel.com/docs/browsers/persistence +https://onkernel.com/docs/browsers/live-view Args: ctx: Kernel context containing invocation information Returns: @@ -76,20 +76,20 @@ async def get_page_title(ctx: kernel.KernelContext, input_data: PageTitleInput) Invoke this via CLI: kernel login # or: export KERNEL_API_KEY= kernel deploy main.py # If you haven't already deployed this app - kernel invoke python-basic create-persisted-browser + kernel invoke python-basic create-browser-for-testing kernel logs python-basic -f # Open in separate tab """ -class CreatePersistedBrowserOutput(TypedDict): +class CreateBrowserForTestingOutput(TypedDict): browser_live_view_url: str -@app.action("create-persisted-browser") -async def create_persisted_browser(ctx: kernel.KernelContext) -> CreatePersistedBrowserOutput: +@app.action("create-browser-for-testing") +async def create_browser_for_testing(ctx: kernel.KernelContext) -> CreateBrowserForTestingOutput: kernel_browser = client.browsers.create( invocation_id=ctx.invocation_id, - persistence={"id": "persisted-browser"}, - stealth=True, # Turns on residential proxy & auto-CAPTCHA solver + stealth=True, + timeout_seconds=3600, # Keep browser alive for 1 hour ) return { "browser_live_view_url": kernel_browser.browser_live_view_url, - } \ No newline at end of file + } diff --git a/templates/typescript/advanced-sample/index.ts b/templates/typescript/advanced-sample/index.ts index 86bd531..85d392b 100644 --- a/templates/typescript/advanced-sample/index.ts +++ b/templates/typescript/advanced-sample/index.ts @@ -24,9 +24,6 @@ app.action("test-captcha-solver", async (ctx: KernelContext): Promise => { const kernelBrowser = await kernel.browsers.create({ invocation_id: ctx.invocation_id, stealth: true, - persistence: { - id: "captcha-solver", - }, }); const browser = await chromium.connectOverCDP(kernelBrowser.cdp_ws_url); diff --git a/templates/typescript/sample-app/index.ts b/templates/typescript/sample-app/index.ts index 09fcaa0..ea3a94c 100644 --- a/templates/typescript/sample-app/index.ts +++ b/templates/typescript/sample-app/index.ts @@ -70,15 +70,15 @@ app.action( const title = await page.title(); return { title }; } finally { - await browser.close(); + await kernel.browsers.deleteByID(kernelBrowser.session_id); } } ); /** - * Example app that instantiates a persisted Kernel browser that can be reused across invocations + * Example app that creates a long-running Kernel browser for manual testing * Invoke this action to test Kernel browsers manually with our browser live view - * https://onkernel.com/docs/browsers/persistence + * https://onkernel.com/docs/browsers/live-view * Args: * ctx: Kernel context containing invocation information * Returns: @@ -86,21 +86,19 @@ app.action( * Invoke this via CLI: * kernel login # or: export KERNEL_API_KEY= * kernel deploy index.ts # If you haven't already deployed this app - * kernel invoke ts-basic create-persisted-browser + * kernel invoke ts-basic create-browser-for-testing * kernel logs ts-basic -f # Open in separate tab */ -interface CreatePersistedBrowserOutput { +interface CreateBrowserForTestingOutput { browser_live_view_url: string; } app.action( - "create-persisted-browser", - async (ctx: KernelContext): Promise => { + "create-browser-for-testing", + async (ctx: KernelContext): Promise => { const kernelBrowser = await kernel.browsers.create({ invocation_id: ctx.invocation_id, - persistence: { - id: "persisted-browser", - }, - stealth: true, // Turns on residential proxy & auto-CAPTCHA solver + stealth: true, + timeout_seconds: 3600, // Keep browser alive for 1 hour }); return {