Skip to content
Open
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
2 changes: 1 addition & 1 deletion changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ For API library updates, see the [Node SDK](https://github.com/onkernel/kernel-n
<Update label="June 12" tags={["Product", "Docs"]}>
## Product updates

- Released the [Kernel × Claude Managed Agents cookbook](https://github.com/kernel/claude-managed-agents-kernel), a public recipe for running parallel computer-use agent swarms with [Claude Managed Agents](/integrations/claude/claude-managed-agents) on Kernel cloud browsers, with API keys secured via Vaults.
- Released the [Kernel × Claude Managed Agents cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/claude-managed-agents), a public recipe for running parallel computer-use agent swarms with [Claude Managed Agents](/integrations/claude/claude-managed-agents) on Kernel cloud browsers, with API keys secured via Vaults.
- Shipped a `kernel-browser-harness` [skill](https://github.com/kernel/skills) for setting up Kernel browser sessions inside Claude Code with persistent session IDs across calls.
- Extended `kernel browsers acquire` in the [CLI](https://github.com/kernel/cli) with `name` and `tags` parameters, so pooled browsers can be labeled at acquisition time alongside `browsers create`.
- Made browser [telemetry](/browsers/telemetry) categories opt-in. The `--telemetry` flag (and `telemetry` request config) now records only the categories you list; enabling telemetry without specifying categories ships a small default set instead of every category.
Expand Down
78 changes: 78 additions & 0 deletions cookbooks.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
title: "cookbooks"
description: "end-to-end recipes to teach agents to use the internet"
mode: "wide"
---

Every cookbook is self-contained: clone it, set your secrets, run. Use them as 1-click starts for your agents or as templates for your own automations.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Every cookbook is self-contained: clone it, set your secrets, run. Use them as 1-click starts for your agents or as templates for your own automations.
Self-contained cookbooks to clone and run. Use as 1-click starts for your agents or as templates for your own build.


import { CookbookSearch } from '/snippets/cookbook-search.jsx';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool addition, tysm!


<CookbookSearch />

<Columns className="responsive-columns" cols={3}>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove features section per canvas notes

<Card title="Proxies" img="/images/cookbooks/proxies.png" href="https://github.com/kernel/cookbooks/tree/main/features/proxies">
<div className="cookbook-tag">feature</div>
Route browser traffic through Kernel's proxy options.
</Card>
<Card title="Profiles" img="/images/cookbooks/profiles.png" href="https://github.com/kernel/cookbooks/tree/main/features/profiles">
<div className="cookbook-tag">feature</div>
Persist browser session state and reuse it across runs.
</Card>
<Card title="Replays" img="/images/cookbooks/replays.png" href="https://github.com/kernel/cookbooks/tree/main/features/replays">
<div className="cookbook-tag">feature</div>
Record browser sessions and download them as mp4.
</Card>
<Card title="File I/O" img="/images/cookbooks/file-io.png" href="https://github.com/kernel/cookbooks/tree/main/features/file-io">
<div className="cookbook-tag">feature</div>
Downloads, uploads, and browser filesystem access.
</Card>
<Card title="Ad Blocker" img="/images/cookbooks/ad-blocker.png" href="https://github.com/kernel/cookbooks/tree/main/features/ad-blocker">
<div className="cookbook-tag">feature</div>
Run ad blocker extensions in Kernel browsers.
</Card>
<Card title="Chrome Policies" img="/images/cookbooks/chrome-policies.png" href="https://github.com/kernel/cookbooks/tree/main/features/chrome-policies">
<div className="cookbook-tag">feature</div>
Apply Chromium Enterprise Policies to browser sessions.
</Card>
<Card title="Modal Web Scraper" img="/images/cookbooks/modal-web-scraper.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/modal-web-scraper">
<div className="cookbook-tag">integration</div>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this "integration" subheader

Scrape JS-rendered pages behind a login, on Modal with a Kernel headful browser.
</Card>
<Card title="Modal PR QA Agent" img="/images/cookbooks/modal-pr-qa-agent.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/modal-pr-qa-agent">
<div className="cookbook-tag">integration</div>
QA your PR previews with Claude computer use on Modal, recorded with Replays.
</Card>
<Card title="Claude Managed Agents" img="/images/cookbooks/claude-managed-agents.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/claude-managed-agents">
<div className="cookbook-tag">integration</div>
Run parallel computer-use agent swarms, with API keys secured via Vaults.
</Card>
<Card title="Claude Computer Use Loop" img="/images/cookbooks/claude-computer-use-loop.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/claude-computer-use-loop">
<div className="cookbook-tag">integration</div>
Minimal implementation of Anthropic's computer use loop.
</Card>
<Card title="AI SDK Agent" img="/images/cookbooks/ai-sdk-agent.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/ai-sdk-agent">
<div className="cookbook-tag">integration</div>
Natural language browser automation with the Vercel AI SDK and Kernel's Playwright execution API.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try to get this in the default desktop presentation in under 3 lines:
Browser automation with the Vercel AI SDK and Kernel's Playwright execution API.

</Card>
<Card title="Stagehand Google CUA Agent" img="/images/cookbooks/stagehand-google-cua-agent.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/stagehand-google-cua-agent">
<div className="cookbook-tag">integration</div>
Computer use agent with Google's Gemini 2.5 and Stagehand.
</Card>
<Card title="Browser Use Model" img="/images/cookbooks/browser-use-model.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/browser-use-model">
<div className="cookbook-tag">integration</div>
Run the Browser Use bu-1.0 model on Kernel browser infrastructure.
</Card>
<Card title="Mastra Web Task Assistant" img="/images/cookbooks/mastra-web-task-assistant.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/mastra-web-task-assistant">
<div className="cookbook-tag">integration</div>
Human-in-the-loop web task assistant with memory, built on Mastra.
</Card>
<Card title="Vibium" img="/images/cookbooks/vibium.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/vibium">
<div className="cookbook-tag">integration</div>
Vibium browser automation over WebDriver BiDi.
</Card>
<Card title="Tinker RL" img="/images/cookbooks/tinker-rl.png" href="https://github.com/kernel/cookbooks/tree/main/integrations/tinker-rl">
<div className="cookbook-tag">integration</div>
RL training for computer use agents, using Tinker.
</Card>
</Columns>
4 changes: 4 additions & 0 deletions cookbooks/ad-blocker.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Ad Blocker"
url: "https://github.com/kernel/cookbooks/tree/main/features/ad-blocker"
---
4 changes: 4 additions & 0 deletions cookbooks/ai-sdk-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "AI SDK Agent"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/ai-sdk-agent"
---
4 changes: 4 additions & 0 deletions cookbooks/browser-use-model.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Browser Use Model"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/browser-use-model"
---
4 changes: 4 additions & 0 deletions cookbooks/chrome-policies.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Chrome Policies"
url: "https://github.com/kernel/cookbooks/tree/main/features/chrome-policies"
---
4 changes: 4 additions & 0 deletions cookbooks/claude-computer-use-loop.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Claude Computer Use Loop"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/claude-computer-use-loop"
---
4 changes: 4 additions & 0 deletions cookbooks/claude-managed-agents.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Claude Managed Agents"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/claude-managed-agents"
---
4 changes: 4 additions & 0 deletions cookbooks/file-io.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "File I/O"
url: "https://github.com/kernel/cookbooks/tree/main/features/file-io"
---
4 changes: 4 additions & 0 deletions cookbooks/mastra-web-task-assistant.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Mastra Web Task Assistant"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/mastra-web-task-assistant"
---
4 changes: 4 additions & 0 deletions cookbooks/modal-pr-qa-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Modal PR QA Agent"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/modal-pr-qa-agent"
---
4 changes: 4 additions & 0 deletions cookbooks/modal-web-scraper.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Modal Web Scraper"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/modal-web-scraper"
---
4 changes: 4 additions & 0 deletions cookbooks/profiles.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Profiles"
url: "https://github.com/kernel/cookbooks/tree/main/features/profiles"
---
4 changes: 4 additions & 0 deletions cookbooks/proxies.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Proxies"
url: "https://github.com/kernel/cookbooks/tree/main/features/proxies"
---
4 changes: 4 additions & 0 deletions cookbooks/replays.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Replays"
url: "https://github.com/kernel/cookbooks/tree/main/features/replays"
---
4 changes: 4 additions & 0 deletions cookbooks/stagehand-google-cua-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Stagehand Google CUA Agent"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/stagehand-google-cua-agent"
---
4 changes: 4 additions & 0 deletions cookbooks/tinker-rl.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Tinker RL"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/tinker-rl"
---
4 changes: 4 additions & 0 deletions cookbooks/vibium.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: "Vibium"
url: "https://github.com/kernel/cookbooks/tree/main/integrations/vibium"
---
32 changes: 32 additions & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,38 @@
"tab": "API Reference",
"openapi": "https://api.onkernel.com/spec.json"
},
{
"tab": "Cookbooks",
"pages": [
"cookbooks",
{
"group": "Features",
"pages": [
"cookbooks/proxies",
"cookbooks/profiles",
"cookbooks/replays",
"cookbooks/file-io",
"cookbooks/ad-blocker",
"cookbooks/chrome-policies"
]
},
{
"group": "Integrations",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naming this "integrations" is confusing imo because we have guides called "Integrations" --> https://www.kernel.sh/docs/integrations/overview . What should this be called, "Examples?" "Samples?" "Reference Implementations?"

"pages": [
"cookbooks/modal-web-scraper",
"cookbooks/modal-pr-qa-agent",
"cookbooks/claude-managed-agents",
"cookbooks/claude-computer-use-loop",
"cookbooks/ai-sdk-agent",
"cookbooks/stagehand-google-cua-agent",
"cookbooks/browser-use-model",
"cookbooks/mastra-web-task-assistant",
"cookbooks/vibium",
"cookbooks/tinker-rl"
]
}
]
},
{
"tab": "CLI",
"groups": [
Expand Down
Binary file added images/cookbooks/ad-blocker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/ai-sdk-agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/browser-use-model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/chrome-policies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/claude-computer-use-loop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/claude-managed-agents.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/file-io.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/mastra-web-task-assistant.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/modal-pr-qa-agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/modal-web-scraper.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/profiles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/proxies.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/replays.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/stagehand-google-cua-agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/tinker-rl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/cookbooks/vibium.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions integrations/browser-use.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ icon: "/images/integration-icons/browser-use-logo-transparent.svg"

[Browser Use](https://github.com/browser-use/browser-use) is the AI browser agent that empowers anyone to automate repetitive online tasks, no code required. By integrating with Kernel, you can run Browser Use Agents and automations with cloud-hosted browsers.

<Tip>
A complete, runnable example that drives the Browser Use bu-1.0 model on Kernel browsers lives in the [Browser Use + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/browser-use-model).
</Tip>

## Adding Kernel to existing Browser Use implementations

If you already have a Browser Use implementation, you can easily switch to using Kernel's cloud browsers by updating your Browser definition.
Expand Down
2 changes: 1 addition & 1 deletion integrations/claude/claude-managed-agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ The example code below is TypeScript. The same API is exposed through the Anthro
## Quickstart

<Tip>
The complete, runnable version of this quickstart lives in the [Claude Managed Agents + Kernel cookbook](https://github.com/kernel/claude-managed-agents-kernel), alongside more recipes for parallel computer-use agent swarms.
The complete, runnable version of this quickstart lives in the [Claude Managed Agents + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/claude-managed-agents), alongside more recipes for parallel computer-use agent swarms.
</Tip>

<Steps>
Expand Down
4 changes: 4 additions & 0 deletions integrations/computer-use/anthropic.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ title: "Anthropic"

By integrating Computer Use with Kernel, you can run these AI-powered browser automations on cloud-hosted infrastructure, eliminating the need for local browser management and enabling scalable, reliable AI agents.

<Tip>
A minimal, runnable implementation of Anthropic's computer use loop lives in the [Claude computer use loop cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/claude-computer-use-loop).
</Tip>

## Quick setup with Computer Use

Get started with Computer Use and Kernel using our pre-configured app template:
Expand Down
4 changes: 4 additions & 0 deletions integrations/stagehand.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ icon: "/images/integration-icons/stagehand-logo-transparent.svg"
This guide covers both Stagehand SDK v4 and v3. v4 runs as a Chrome extension alongside the browser rather than driving it purely over CDP, so a remote Kernel browser needs the extension loaded into it — the version tabs below show each setup. To move between versions, see the [Stagehand migration guide](https://docs.stagehand.dev). The CLI template uses v4.
</Note>

<Tip>
A complete, runnable computer use agent built with Stagehand and Google's Gemini 2.5 lives in the [Stagehand + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/stagehand-google-cua-agent).
</Tip>

## Quick start with the Stagehand template

The fastest way to run Stagehand on Kernel is our app template, which comes pre-wired for v4:
Expand Down
4 changes: 4 additions & 0 deletions integrations/vercel/ai-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ The `@onkernel/ai-sdk` package provides Vercel AI SDK-compatible tools for brows

With this tool, AI agents can execute Playwright code on Kernel's remote browsers, enabling powerful browser automation capabilities in your AI-powered applications.

<Tip>
A complete, runnable agent built on this tool lives in the [AI SDK + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/ai-sdk-agent).
</Tip>

## Installation

Install the package along with its peer dependencies:
Expand Down
4 changes: 4 additions & 0 deletions integrations/vibium.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ icon: "/images/integration-icons/vibium.svg"

[Vibium](https://github.com/VibiumDev/vibium) is a brand-new browser automation framework for AI agents that is built on WebDriver BiDi, a W3C standard. As of [v26.3.9](https://github.com/VibiumDev/vibium/releases/tag/v26.3.9), any agent can now use Vibium to connect to Kernel cloud browsers to navigate pages, fill forms, click buttons, and take screenshots. We're really excited to keep working with Jason Huggins and to keep supporting open web standards.

<Tip>
A complete, runnable version of this integration lives in the [Vibium + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/vibium).
</Tip>

## Adding Kernel to existing Vibium implementations

If you already have a Vibium implementation, you can switch to using Kernel's cloud browsers by creating a Kernel browser session and connecting Vibium to the returned `webdriver_ws_url`.
Expand Down
51 changes: 51 additions & 0 deletions snippets/cookbook-search.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
const { useState, useCallback } = React;

export const CookbookSearch = () => {
const [matches, setMatches] = useState(null);

const getCards = () => {
const anchors = Array.from(
document.querySelectorAll('a[href^="https://github.com/kernel/cookbooks/tree/main/"]')
).filter((a) => !a.closest('nav') && !a.closest('aside'));
const cards = anchors.map((a) => a.closest('.card') || a);
return Array.from(new Set(cards));
};

const handleInput = useCallback((e) => {
const q = e.target.value.trim().toLowerCase();
const cards = getCards();
let count = 0;
cards.forEach((card) => {
const hit = q === '' || card.textContent.toLowerCase().includes(q);
card.style.display = hit ? '' : 'none';
if (hit) count++;
});
setMatches(q === '' ? null : count);
}, []);

return (
<div style={{ margin: '1.5rem 0 0.5rem' }}>
<input
type="search"
placeholder="search cookbooks..."
onInput={handleInput}
aria-label="Search cookbooks"
style={{
width: '100%',
padding: '0.625rem 0.875rem',
fontSize: '0.9375rem',
fontFamily: 'inherit',
border: '1px solid rgba(128, 128, 128, 0.35)',
borderRadius: '0.5rem',
background: 'transparent',
outline: 'none',
}}
/>
{matches === 0 && (
<p style={{ marginTop: '1rem', opacity: 0.7 }}>
no cookbooks match your search.
</p>
)}
</div>
);
};
17 changes: 17 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
Expand Up @@ -308,3 +308,20 @@ html.dark .callout[class*="yellow"] svg {
html.dark #navigation-items img[src*="/images/integration-icons/"] {
filter: invert(1);
}

/* cookbooks: sidebar entries under /cookbooks/ are external GitHub links (url frontmatter),
so hide pagination that would point at them */
#pagination a[href^="/cookbooks/"] {
display: none;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pagination hide misses production URLs

Medium Severity

The pagination hide rule matches only hrefs that start with /cookbooks/. Docs are served under /docs, so production pagination links likely will not match and will still send readers to the empty cookbook stubs this rule is meant to hide.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 10dcac3. Configure here.


/* cookbooks card category label */
.cookbook-tag {
display: block;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
opacity: 0.55;
margin-bottom: 0.375rem;
}
Loading