Skip to content

Commit cf1d2ab

Browse files
ehfengmasnwilliamsclaude
authored
Add Create, Control, Observe introduction guides (#370)
* add Create, Control, Observe introduction guides Introduce three high-level concept guides under the Introduction group that orient new users around the core surface area: creating browsers, driving them (computer controls vs playwright execution), and observing them (live view, replays, screenshots, logs). * expand standby activity sources to include WebDriver and computer controls * reframe Control intro around three primitives (computer controls, CDP, BiDi) * add lifecycle strip, redirect create-a-browser, add CLI tabs to intro pages * lead with "Computer Use" framing, bridge to Computer Controls API * apply review suggestions: copy tweaks across create, control, observe * promote playwright execution to a peer primitive Add a Playwright Execution tab on Control (position 2, between Computer Use and CDP) and a parallel "Why playwright execution over a direct CDP connection" section. Swap the Create full example to use kernel.browsers.playwright.execute so the recommended path is the one readers see first. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * soften control framing, lead playwright execution with run-from-anywhere - Home page Control card now mentions playwright execution alongside the other three (was drifting from the page itself). - Reframe the Control intro from "four control primitives" to "four ways to drive a session" — playwright execution is a delivery mode on top of CDP, not a separate protocol. - Rewrite the playwright execution tab + bullets around the actual pitch: run any Playwright code from anywhere, no install, no Chromium, no CDP connection to manage. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * restore install snippet on Create, broaden computer-use vs playwright copy - Add the SDK install Info block back to Create (was on the old browsers/create-a-browser page). - Anchor the termination link to the automatic-deletion section. - Rewrite the "Computer use + playwright execution" intro: computer controls don't just lack DOM reads, they lack the whole programmatic surface (page.goto, file uploads, cookies, tab switching). Reach for playwright execution whenever you need any of that. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * Expand control.mdx with computer use + playwright execution patterns (#375) Adds three named patterns (tool, checkpoint, drop-the-agent) as short bullets under the existing recommended-pattern section. No new page. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> * drop checkpoint/drop-the-agent pattern bullets Two patterns that read more like marketing copy than guidance — the preceding paragraph already says what the combined pattern is for. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: ehfeng <279398+ehfeng@users.noreply.github.com> Co-authored-by: masnwilliams <43387599+masnwilliams@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent c1faa16 commit cf1d2ab

16 files changed

Lines changed: 516 additions & 246 deletions

File tree

.docs/code-example-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ Before publishing a code example, verify:
360360
## Reference
361361

362362
See these files for examples:
363-
- `browsers/create-a-browser.mdx` - Standard browser creation pattern
363+
- `introduction/create.mdx` - Standard browser creation pattern
364364
- `apps/develop.mdx` - App development pattern
365365
- `browsers/file-io.mdx` - Complex automation example
366366

auth/faq.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Call `.login()` on the connection to trigger auth immediately. See [Triggering r
3636

3737
## What types of flows does Managed Auth support?
3838

39-
Managed Auth handles login and authentication flows end-to-end: entering credentials, multi-step login forms (e.g. email on one page, password on the next), SSO redirects, MFA challenges, and keeping sessions alive. For post-login browser work like form filling, sign-ups, or other workflows, use [Kernel's browser automation](/browsers/create-a-browser) directly.
39+
Managed Auth handles login and authentication flows end-to-end: entering credentials, multi-step login forms (e.g. email on one page, password on the next), SSO redirects, MFA challenges, and keeping sessions alive. For post-login browser work like form filling, sign-ups, or other workflows, use [Kernel's browser automation](/introduction/control) directly.
4040

4141
## How do I debug a managed auth session?
4242

browsers/create-a-browser.mdx

Lines changed: 0 additions & 231 deletions
This file was deleted.

browsers/pools/scaling.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: "Recommended practices for scaling"
66

77
This guide explains how to architect production-scale browser automation systems using Kernel, how to handle high-concurrency workloads, and best practices for building resilient systems.
88

9-
After understanding the [basics](/browsers/create-a-browser) of our browsers, you should understand how to create and connect to individual browsers on-demand. This guide builds on that foundation to help you design systems using browser pools that can handle hundreds or thousands of concurrent browser tasks reliably.
9+
After understanding the basics of [creating](/introduction/create) and [controlling](/introduction/control) our browsers, you should understand how to create and connect to individual browsers on-demand. This guide builds on that foundation to help you design systems using browser pools that can handle hundreds or thousands of concurrent browser tasks reliably.
1010

1111
## Understanding your requirements
1212

browsers/standby.mdx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,16 @@ title: "Standby Mode"
44

55
Kernel browsers enter standby mode during periods of inactivity. When a browser goes into standby mode, the browser's state remains the same but incurs zero usage costs.
66

7-
Kernel browsers automatically enter standby when no CDP or Live View client is connected for `five seconds`. After it enters standby, the browser's [timeout](/browsers/termination#automatic-deletion-via-timeout) countdown begins.
7+
Kernel browsers automatically enter standby after `five seconds` with no activity. After it enters standby, the browser's [timeout](/browsers/termination#automatic-deletion-via-timeout) countdown begins.
8+
9+
A browser is considered active while any of the following is happening:
10+
11+
- A CDP client is connected (Playwright, Puppeteer, or a raw CDP client)
12+
- A WebDriver/BiDi client is connected
13+
- A [Live View](/browsers/live-view) client is connected
14+
- A [computer controls](/browsers/computer-controls) API request is in flight (clicks, keypresses, screenshots, etc.)
15+
16+
Any of the above resets the standby idle timer. As soon as none are active for five seconds, the browser enters standby.
817

918
<Info>
1019
See [here](/browsers/termination) to learn about destroying browsers. GPU-accelerated browsers do not support standby mode.

browsers/termination.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ kernel.browsers.delete_by_id("htzv5orfit78e1m2biiifpbv")
3131

3232
## Automatic deletion via timeout
3333

34-
If you don't manually delete a browser, it will be automatically deleted after a configurable `timeout` (default 60 seconds). The timeout begins when the browser does not see a CDP or live view connection.
34+
If you don't manually delete a browser, it will be automatically deleted after a configurable `timeout` (default 60 seconds). The timeout begins once the browser enters [standby](/browsers/standby) — i.e. when there's no CDP or WebDriver client, no Live View viewer, and no [computer controls](/browsers/computer-controls) request in flight.
3535

3636
You can set a custom timeout of up to 72 hours when creating a browser:
3737

changelog.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ For API library updates, see the [Node SDK](https://github.com/onkernel/kernel-n
199199

200200
## Documentation updates
201201

202-
- Renamed "Scaling in Production" to [Reserved Browsers](/browsers/pools/overview) and added a new [On-Demand Browsers](/browsers/create-a-browser) section for clearer guidance on browser provisioning strategies.
202+
- Renamed "Scaling in Production" to [Reserved Browsers](/browsers/pools/overview) and added a new [On-Demand Browsers](/introduction/create) section for clearer guidance on browser provisioning strategies.
203203
- Added [mobile and tablet viewport configurations](/browsers/viewport) with supported screen sizes and usage guidance.
204204
- Added [proxy-bypass-hosts](https://www.kernel.sh/docs/proxies/overview#bypass-hosts) documentation for configuring proxy bypass lists on browser pools.
205205
- Documented the `--force` flag for [viewport resizing](/browsers/viewport) during active recordings.

docs.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
{ "source": "/auth/agent/programmatic", "destination": "/auth/programmatic" },
1212
{ "source": "/auth/agent/faq", "destination": "/auth/faq" },
1313
{ "source": "/browsers/hardware-acceleration", "destination": "/browsers/gpu-acceleration" },
14+
{ "source": "/browsers/create-a-browser", "destination": "/introduction/create" },
1415
{ "source": "/introduction", "destination": "/" },
1516
{ "source": "/quickstart", "destination": "/" },
1617
{ "source": "/home", "destination": "/" }
@@ -64,9 +65,12 @@
6465
"tab": "Guides",
6566
"groups": [
6667
{
67-
"group": "home",
68+
"group": "Introduction",
6869
"pages": [
69-
"index"
70+
"index",
71+
"introduction/create",
72+
"introduction/control",
73+
"introduction/observe"
7074
]
7175
},
7276
{
@@ -76,7 +80,6 @@
7680
"group": "Basics",
7781
"expanded": true,
7882
"pages": [
79-
"browsers/create-a-browser",
8083
"browsers/live-view",
8184
"browsers/termination",
8285
"browsers/standby",

index.mdx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ mode: "wide"
88
We build crazy fast, open source infra for AI agents to access the internet. Trusted by Cash App, Framer, and 3,000+ teams.
99

1010
<Columns className="responsive-columns" cols={4}>
11-
<Card title="Sandboxed Chromium" img="/images/chromium.svg" href="/browsers/create-a-browser">
11+
<Card title="Sandboxed Chromium" img="/images/chromium.svg" href="/introduction/create">
1212
We spin up cloud browsers in &lt;30ms with GPU acceleration when needed.
1313
</Card>
1414
<Card title="Auth" img="/images/auth.svg" href="/auth/overview">
@@ -17,11 +17,25 @@ We build crazy fast, open source infra for AI agents to access the internet. Tru
1717
<Card title="Stealth Mode" img="/images/stealth.svg" href="/browsers/bot-detection/overview">
1818
We solve CAPTCHAs and manage residential proxies to help you see fewer of them.
1919
</Card>
20-
<Card title="o11y" img="/images/o11y.svg" href="/browsers/replays">
20+
<Card title="o11y" img="/images/o11y.svg" href="/introduction/observe">
2121
You can view sessions live and record them as MP4s for debugging.
2222
</Card>
2323
</Columns>
2424

25+
## start here
26+
27+
<Columns cols={3}>
28+
<Card title="Create" href="/introduction/create">
29+
Spin up a browser and pick the shape — headless, stealth, GPU, profiles.
30+
</Card>
31+
<Card title="Control" href="/introduction/control">
32+
Drive it with computer use, playwright execution, CDP, or WebDriver BiDi.
33+
</Card>
34+
<Card title="Observe" href="/introduction/observe">
35+
Watch it live, record replays, and capture screenshots.
36+
</Card>
37+
</Columns>
38+
2539
import { CopyPromptButton } from '/snippets/copy-prompt-button.jsx';
2640

2741
<div className="tinker-box">

integrations/notte.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ if __name__ == "__main__":
118118

119119
## Next steps
120120

121-
- Learn about [creating browsers](/browsers/create-a-browser) on Kernel
121+
- Learn about [creating browsers](/introduction/create) on Kernel
122122
- Check out [live view](/browsers/live-view) for debugging your automations
123123
- Learn about [stealth mode](/browsers/bot-detection/stealth) for avoiding detection
124124
- Explore [Profiles](/auth/profiles) for maintaining browser state across sessions

0 commit comments

Comments
 (0)