Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -259,17 +259,30 @@
},
{
"tab": "CLI",
"pages": [
"reference/cli",
"reference/cli/create",
"reference/cli/auth",
"reference/cli/browsers",
"reference/cli/apps",
"reference/cli/managed-auth",
"reference/cli/projects",
"reference/cli/api-keys",
"reference/cli/mcp",
"reference/cli/extensions"
"groups": [
{
"group": "Getting Started",
"pages": [
"reference/cli",
"reference/cli/create",
"reference/cli/auth"
]
},
{
"group": "Commands",
"pages": [
"reference/cli/apps",
"reference/cli/browsers",
"reference/cli/browser-pools",
"reference/cli/profiles",
"reference/cli/proxies",
"reference/cli/extensions",
"reference/cli/managed-auth",
"reference/cli/projects",
"reference/cli/api-keys",
"reference/cli/mcp"
]
}
]
},
{
Expand Down
11 changes: 10 additions & 1 deletion reference/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The Kernel CLI helps you access and manage your Kernel resources.

```bash
# Using brew
brew install onkernel/tap/kernel
brew install kernel/tap/kernel

# Using pnpm
pnpm install -g @onkernel/cli
Expand All @@ -34,6 +34,15 @@ kernel --version
<Card icon="browsers" title="Browsers" href="/reference/cli/browsers">
Create, view, and manage Kernel browsers.
</Card>
<Card icon="layer-group" title="Browser Pools" href="/reference/cli/browser-pools">
Pre-warm and reuse pools of browsers.
</Card>
<Card icon="fingerprint" title="Profiles" href="/reference/cli/profiles">
Persist and reuse browser profiles.
</Card>
<Card icon="globe" title="Proxies" href="/reference/cli/proxies">
Create and manage proxy configurations.
</Card>
<Card icon="rocket" title="Apps" href="/reference/cli/apps">
Deploy apps, invoke actions, and stream logs.
</Card>
Expand Down
93 changes: 93 additions & 0 deletions reference/cli/browser-pools.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: "Browser Pools"
---

Manage pools of pre-warmed browsers for high-concurrency workloads. For background and scaling guidance, see [Browser Pools](/browsers/pools/overview).

## `kernel browser-pools list`
List all browser pools.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON array. |

## `kernel browser-pools get <id-or-name>`
Get details of a browser pool.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON object. |

## `kernel browser-pools create [name]`
Create a new browser pool.

| Flag | Description |
|------|-------------|
| `--name <name>` | Optional unique name for the pool. |
| `--size <n>` | Number of browsers in the pool. |
| `--fill-rate <n>` | Fill rate per minute. |
| `--timeout <seconds>` | Idle timeout in seconds. |
| `--start-url <url>` | Initial page to open for new browsers. |
| `--profile-id <id>` | Profile ID to load into pool browsers. |
| `--profile-name <name>` | Profile name to load into pool browsers. |
| `--save-changes` | Save changes back to the profile when sessions end. |
| `--proxy-id <id>` | Proxy ID to use for pool browsers. |
| `--extension <id-or-name>` | Extension IDs or names to load (repeatable). |
| `--viewport <size>` | Viewport size (e.g. `1280x800`). |
| `--headless` | Enable headless mode. |
| `--stealth` | Enable stealth mode. |
| `--kiosk` | Enable kiosk mode. |
| `--output json`, `-o json` | Output raw JSON object. |

```bash
kernel browser-pools create my-pool --size 10 --fill-rate 5 --stealth
```

## `kernel browser-pools update <id-or-name>`
Update a browser pool's configuration.

| Flag | Description |
|------|-------------|
| `--name <name>` | Update the pool name. |
| `--size <n>` | Updated pool size. |
| `--fill-rate <n>` | Fill rate per minute. |
| `--timeout <seconds>` | Idle timeout in seconds. |
| `--start-url <url>` | Initial page to open for new browsers. |
| `--clear-start-url` | Clear the pool start URL. |
| `--discard-all-idle` | Discard all idle browsers. |
| `--profile-id <id>` | Profile ID to load into pool browsers. |
| `--profile-name <name>` | Profile name to load into pool browsers. |
| `--save-changes` | Save changes back to the profile when sessions end. |
| `--proxy-id <id>` | Proxy ID to use for pool browsers. |
| `--extension <id-or-name>` | Extension IDs or names to load (repeatable). |
| `--viewport <size>` | Viewport size (e.g. `1280x800`). |
| `--headless` | Enable headless mode. |
| `--stealth` | Enable stealth mode. |
| `--kiosk` | Enable kiosk mode. |
| `--output json`, `-o json` | Output raw JSON object. |

## `kernel browser-pools acquire <id-or-name>`
Acquire a browser from the pool.

| Flag | Description |
|------|-------------|
| `--timeout <seconds>` | Acquire timeout in seconds. |
| `--output json`, `-o json` | Output raw JSON object. |

## `kernel browser-pools release <id-or-name>`
Release a browser back to the pool.

| Flag | Description |
|------|-------------|
| `--session-id <id>` | Browser session ID to release. |
| `--reuse` | Reuse the browser instance (default: `true`). |

## `kernel browser-pools delete <id-or-name>`
Delete a browser pool.

| Flag | Description |
|------|-------------|
| `--force` | Force delete even if browsers are leased. |

## `kernel browser-pools flush <id-or-name>`
Flush idle browsers from the pool.
153 changes: 0 additions & 153 deletions reference/cli/browsers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -367,156 +367,3 @@ Delete an uploaded extension.

### `kernel browsers extensions upload <session-id> <extension-path>...`
Upload one or more unpacked Chrome extensions directly into a running browser session.

## Proxy management

### `kernel proxies list`
List available proxy configurations.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON array. |

### `kernel proxies get <id>`
Show details for a proxy configuration.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel proxies create`
Create a new proxy configuration.

| Flag | Description |
|------|-------------|
| `--name <name>` | Proxy configuration name. |
| `--type <type>` | `datacenter`, `isp`, `residential`, `mobile`, or `custom` (required). |
| `--protocol <protocol>` | Protocol to use (`http` or `https`; default: `https`). |
| `--country <code>` | ISO 3166 country code or `EU`. |
| `--city <name>` | City (residential, mobile; requires `--country`). |
| `--state <code>` | State/region code (residential, mobile). |
| `--zip <zip>` | ZIP/postal code (residential, mobile). |
| `--asn <asn>` | Autonomous system number (residential, mobile). |
| `--os <os>` | Operating system (`windows`, `macos`, `android`; residential). |
| `--carrier <carrier>` | Mobile carrier (mobile). |
| `--host <host>` | Proxy host (custom; required). |
| `--port <port>` | Proxy port (custom; required). |
| `--username <username>` | Proxy username (custom). |
| `--password <password>` | Proxy password (custom). |
| `--bypass-host <hostname>` | Hostname to bypass proxy (repeatable; max 100). |
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel proxies delete <id>`
Delete a proxy configuration.

| Flag | Description |
|------|-------------|
| `--yes`, `-y` | Skip confirmation. |

## Browser pools

For more details on browser pools, see [Browser Pools](/browsers/pools/overview).

### `kernel browser-pools list`
List all browser pools.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON array. |

### `kernel browser-pools create`
Create a new browser pool.

| Flag | Description |
|------|-------------|
| `--name <name>` | Optional unique name for the pool. |
| `--size <n>` | Number of browsers in the pool (required). |
| `--fill-rate <n>` | Percentage of the pool to fill per minute. |
| `--timeout <seconds>` | Idle timeout for browsers acquired from the pool. |
| `--start-url <url>` | Initial page to open for new browsers. |
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel browser-pools get <id-or-name>`
Get pool details.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel browser-pools update <id-or-name>`
Update pool configuration.

| Flag | Description |
|------|-------------|
| `--size <n>` | Updated pool size. |
| `--start-url <url>` | Initial page to open for new browsers. |
| `--clear-start-url` | Clear the pool start URL. |
| `--discard-all-idle` | Discard all idle browsers and refill. |
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel browser-pools acquire <id-or-name>`
Acquire a browser from the pool.

| Flag | Description |
|------|-------------|
| `--timeout <seconds>` | Acquire timeout before returning 204. |
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel browser-pools release <id-or-name>`
Release a browser back to the pool.

| Flag | Description |
|------|-------------|
| `--session-id <id>` | Browser session ID to release (required). |
| `--reuse` | Reuse the browser instance (default: true). |

### `kernel browser-pools delete <id-or-name>`
Delete a pool.

| Flag | Description |
|------|-------------|
| `--force` | Force delete even if browsers are leased. |

### `kernel browser-pools flush <id-or-name>`
Destroy all idle browsers in the pool.

## Profiles

For more details on browser profiles, see [Profiles](/auth/profiles).

### `kernel profiles list`
List all browser profiles.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON array. |

### `kernel profiles get <id-or-name>`
Get profile details.

| Flag | Description |
|------|-------------|
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel profiles create`
Create a new browser profile.

| Flag | Description |
|------|-------------|
| `--name <name>` | Optional unique name for the profile. |
| `--output json`, `-o json` | Output raw JSON object. |

### `kernel profiles download <id-or-name>`
Download a profile as a ZIP archive.

| Flag | Description |
|------|-------------|
| `--to <path>` | Output zip file path. Required. |
| `--pretty` | Pretty-print JSON to file. |

### `kernel profiles delete <id-or-name>`
Delete a profile by ID or name.

| Flag | Description |
|------|-------------|
| `--yes`, `-y` | Skip confirmation prompt. |
29 changes: 18 additions & 11 deletions reference/cli/create.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,28 @@ Create a new Kernel application from a template. The CLI provides an interactive
## Available templates

### TypeScript templates
- **`sample-app`** — Basic template with Playwright integration for page title extraction
- **`sample-app`** — Basic Kernel app with Playwright integration
- **`captcha-solver`** — Demo of Kernel's auto-CAPTCHA solving capability
- **`anthropic-computer-use`** — Anthropic Computer Use API sample implementation
- **`openai-computer-use`** — OpenAI Computer Using Agent (CUA) sample implementation
- **`gemini-computer-use`** — Google Gemini CUA sample implementation
- **`stagehand`** — Returns the first result of a specified Google search
- **`magnitude`** — [Magnitude framework](https://github.com/magnitude-labs/magnitude) integration
- **`anthropic-computer-use`** — Anthropic computer use agent
- **`openai-computer-use`** — OpenAI Computer Using Agent (CUA)
- **`gemini-computer-use`** — Google Gemini computer use agent
- **`claude-agent-sdk`** — Claude Agent SDK browser automation agent
- **`stagehand`** — [Stagehand](https://github.com/browserbase/stagehand) v3 SDK integration
- **`magnitude`** — [Magnitude](https://github.com/magnitude-labs/magnitude) SDK integration
- **`tzafon`** — Tzafon Northstar CUA Fast computer use agent
- **`yutori`** — Yutori n1.5 computer use agent

### Python templates
- **`sample-app`** — Basic template with Playwright integration for page title extraction
- **`sample-app`** — Basic Kernel app with Playwright integration
- **`captcha-solver`** — Demo of Kernel's auto-CAPTCHA solving capability
- **`openagi-computer-use`** — OpenAGI's Lux Computer Use API sample implementation
- **`anthropic-computer-use`** — Anthropic Computer Use API sample implementation
- **`openai-computer-use`** — OpenAI Computer Using Agent (CUA) sample implementation
- **`browser-use`** — Integrates the Browser Use for AI-powered web automation
- **`anthropic-computer-use`** — Anthropic computer use agent
- **`openai-computer-use`** — OpenAI Computer Using Agent (CUA)
- **`gemini-computer-use`** — Google Gemini computer use agent
- **`claude-agent-sdk`** — Claude Agent SDK browser automation agent
- **`openagi-computer-use`** — OpenAGI computer use agent
- **`browser-use`** — [Browser Use](https://github.com/browser-use/browser-use) SDK integration
- **`tzafon`** — Tzafon Northstar CUA Fast computer use agent
- **`yutori`** — Yutori n1.5 computer use agent

## Examples

Expand Down
Loading
Loading