diff --git a/changelog.mdx b/changelog.mdx index 02d73f2b..88db3834 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -205,7 +205,7 @@ For API library updates, see the [Node SDK](https://github.com/onkernel/kernel-n ## 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. diff --git a/cookbooks.mdx b/cookbooks.mdx new file mode 100644 index 00000000..5d4fe782 --- /dev/null +++ b/cookbooks.mdx @@ -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. + +import { CookbookSearch } from '/snippets/cookbook-search.jsx'; + + + + + +
feature
+ Route browser traffic through Kernel's proxy options. +
+ +
feature
+ Persist browser session state and reuse it across runs. +
+ +
feature
+ Record browser sessions and download them as mp4. +
+ +
feature
+ Downloads, uploads, and browser filesystem access. +
+ +
feature
+ Run ad blocker extensions in Kernel browsers. +
+ +
feature
+ Apply Chromium Enterprise Policies to browser sessions. +
+ +
integration
+ Scrape JS-rendered pages behind a login, on Modal with a Kernel headful browser. +
+ +
integration
+ QA your PR previews with Claude computer use on Modal, recorded with Replays. +
+ +
integration
+ Run parallel computer-use agent swarms, with API keys secured via Vaults. +
+ +
integration
+ Minimal implementation of Anthropic's computer use loop. +
+ +
integration
+ Natural language browser automation with the Vercel AI SDK and Kernel's Playwright execution API. +
+ +
integration
+ Computer use agent with Google's Gemini 2.5 and Stagehand. +
+ +
integration
+ Run the Browser Use bu-1.0 model on Kernel browser infrastructure. +
+ +
integration
+ Human-in-the-loop web task assistant with memory, built on Mastra. +
+ +
integration
+ Vibium browser automation over WebDriver BiDi. +
+ +
integration
+ RL training for computer use agents, using Tinker. +
+
diff --git a/cookbooks/ad-blocker.mdx b/cookbooks/ad-blocker.mdx new file mode 100644 index 00000000..4af90ef6 --- /dev/null +++ b/cookbooks/ad-blocker.mdx @@ -0,0 +1,4 @@ +--- +title: "Ad Blocker" +url: "https://github.com/kernel/cookbooks/tree/main/features/ad-blocker" +--- diff --git a/cookbooks/ai-sdk-agent.mdx b/cookbooks/ai-sdk-agent.mdx new file mode 100644 index 00000000..13b1108c --- /dev/null +++ b/cookbooks/ai-sdk-agent.mdx @@ -0,0 +1,4 @@ +--- +title: "AI SDK Agent" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/ai-sdk-agent" +--- diff --git a/cookbooks/browser-use-model.mdx b/cookbooks/browser-use-model.mdx new file mode 100644 index 00000000..ca3eb39d --- /dev/null +++ b/cookbooks/browser-use-model.mdx @@ -0,0 +1,4 @@ +--- +title: "Browser Use Model" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/browser-use-model" +--- diff --git a/cookbooks/chrome-policies.mdx b/cookbooks/chrome-policies.mdx new file mode 100644 index 00000000..4359126e --- /dev/null +++ b/cookbooks/chrome-policies.mdx @@ -0,0 +1,4 @@ +--- +title: "Chrome Policies" +url: "https://github.com/kernel/cookbooks/tree/main/features/chrome-policies" +--- diff --git a/cookbooks/claude-computer-use-loop.mdx b/cookbooks/claude-computer-use-loop.mdx new file mode 100644 index 00000000..d4ed8cfd --- /dev/null +++ b/cookbooks/claude-computer-use-loop.mdx @@ -0,0 +1,4 @@ +--- +title: "Claude Computer Use Loop" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/claude-computer-use-loop" +--- diff --git a/cookbooks/claude-managed-agents.mdx b/cookbooks/claude-managed-agents.mdx new file mode 100644 index 00000000..b8146a13 --- /dev/null +++ b/cookbooks/claude-managed-agents.mdx @@ -0,0 +1,4 @@ +--- +title: "Claude Managed Agents" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/claude-managed-agents" +--- diff --git a/cookbooks/file-io.mdx b/cookbooks/file-io.mdx new file mode 100644 index 00000000..936cf7cc --- /dev/null +++ b/cookbooks/file-io.mdx @@ -0,0 +1,4 @@ +--- +title: "File I/O" +url: "https://github.com/kernel/cookbooks/tree/main/features/file-io" +--- diff --git a/cookbooks/mastra-web-task-assistant.mdx b/cookbooks/mastra-web-task-assistant.mdx new file mode 100644 index 00000000..4e2cc0b6 --- /dev/null +++ b/cookbooks/mastra-web-task-assistant.mdx @@ -0,0 +1,4 @@ +--- +title: "Mastra Web Task Assistant" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/mastra-web-task-assistant" +--- diff --git a/cookbooks/modal-pr-qa-agent.mdx b/cookbooks/modal-pr-qa-agent.mdx new file mode 100644 index 00000000..2131cb96 --- /dev/null +++ b/cookbooks/modal-pr-qa-agent.mdx @@ -0,0 +1,4 @@ +--- +title: "Modal PR QA Agent" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/modal-pr-qa-agent" +--- diff --git a/cookbooks/modal-web-scraper.mdx b/cookbooks/modal-web-scraper.mdx new file mode 100644 index 00000000..413c1bad --- /dev/null +++ b/cookbooks/modal-web-scraper.mdx @@ -0,0 +1,4 @@ +--- +title: "Modal Web Scraper" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/modal-web-scraper" +--- diff --git a/cookbooks/profiles.mdx b/cookbooks/profiles.mdx new file mode 100644 index 00000000..3c9dacd6 --- /dev/null +++ b/cookbooks/profiles.mdx @@ -0,0 +1,4 @@ +--- +title: "Profiles" +url: "https://github.com/kernel/cookbooks/tree/main/features/profiles" +--- diff --git a/cookbooks/proxies.mdx b/cookbooks/proxies.mdx new file mode 100644 index 00000000..76321411 --- /dev/null +++ b/cookbooks/proxies.mdx @@ -0,0 +1,4 @@ +--- +title: "Proxies" +url: "https://github.com/kernel/cookbooks/tree/main/features/proxies" +--- diff --git a/cookbooks/replays.mdx b/cookbooks/replays.mdx new file mode 100644 index 00000000..8fb42483 --- /dev/null +++ b/cookbooks/replays.mdx @@ -0,0 +1,4 @@ +--- +title: "Replays" +url: "https://github.com/kernel/cookbooks/tree/main/features/replays" +--- diff --git a/cookbooks/stagehand-google-cua-agent.mdx b/cookbooks/stagehand-google-cua-agent.mdx new file mode 100644 index 00000000..69671b6f --- /dev/null +++ b/cookbooks/stagehand-google-cua-agent.mdx @@ -0,0 +1,4 @@ +--- +title: "Stagehand Google CUA Agent" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/stagehand-google-cua-agent" +--- diff --git a/cookbooks/tinker-rl.mdx b/cookbooks/tinker-rl.mdx new file mode 100644 index 00000000..073a2c16 --- /dev/null +++ b/cookbooks/tinker-rl.mdx @@ -0,0 +1,4 @@ +--- +title: "Tinker RL" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/tinker-rl" +--- diff --git a/cookbooks/vibium.mdx b/cookbooks/vibium.mdx new file mode 100644 index 00000000..13f7cbd2 --- /dev/null +++ b/cookbooks/vibium.mdx @@ -0,0 +1,4 @@ +--- +title: "Vibium" +url: "https://github.com/kernel/cookbooks/tree/main/integrations/vibium" +--- diff --git a/docs.json b/docs.json index b239b73b..2a989028 100644 --- a/docs.json +++ b/docs.json @@ -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", + "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": [ diff --git a/images/cookbooks/ad-blocker.png b/images/cookbooks/ad-blocker.png new file mode 100644 index 00000000..a703a7b1 Binary files /dev/null and b/images/cookbooks/ad-blocker.png differ diff --git a/images/cookbooks/ai-sdk-agent.png b/images/cookbooks/ai-sdk-agent.png new file mode 100644 index 00000000..d25ada11 Binary files /dev/null and b/images/cookbooks/ai-sdk-agent.png differ diff --git a/images/cookbooks/browser-use-model.png b/images/cookbooks/browser-use-model.png new file mode 100644 index 00000000..c6d90035 Binary files /dev/null and b/images/cookbooks/browser-use-model.png differ diff --git a/images/cookbooks/chrome-policies.png b/images/cookbooks/chrome-policies.png new file mode 100644 index 00000000..2086d8f3 Binary files /dev/null and b/images/cookbooks/chrome-policies.png differ diff --git a/images/cookbooks/claude-computer-use-loop.png b/images/cookbooks/claude-computer-use-loop.png new file mode 100644 index 00000000..7fcd04b7 Binary files /dev/null and b/images/cookbooks/claude-computer-use-loop.png differ diff --git a/images/cookbooks/claude-managed-agents.png b/images/cookbooks/claude-managed-agents.png new file mode 100644 index 00000000..8e24669a Binary files /dev/null and b/images/cookbooks/claude-managed-agents.png differ diff --git a/images/cookbooks/file-io.png b/images/cookbooks/file-io.png new file mode 100644 index 00000000..7b34fe4a Binary files /dev/null and b/images/cookbooks/file-io.png differ diff --git a/images/cookbooks/mastra-web-task-assistant.png b/images/cookbooks/mastra-web-task-assistant.png new file mode 100644 index 00000000..cb997607 Binary files /dev/null and b/images/cookbooks/mastra-web-task-assistant.png differ diff --git a/images/cookbooks/modal-pr-qa-agent.png b/images/cookbooks/modal-pr-qa-agent.png new file mode 100644 index 00000000..c9e641f7 Binary files /dev/null and b/images/cookbooks/modal-pr-qa-agent.png differ diff --git a/images/cookbooks/modal-web-scraper.png b/images/cookbooks/modal-web-scraper.png new file mode 100644 index 00000000..48f4f063 Binary files /dev/null and b/images/cookbooks/modal-web-scraper.png differ diff --git a/images/cookbooks/profiles.png b/images/cookbooks/profiles.png new file mode 100644 index 00000000..b60886f5 Binary files /dev/null and b/images/cookbooks/profiles.png differ diff --git a/images/cookbooks/proxies.png b/images/cookbooks/proxies.png new file mode 100644 index 00000000..ffadcbe3 Binary files /dev/null and b/images/cookbooks/proxies.png differ diff --git a/images/cookbooks/replays.png b/images/cookbooks/replays.png new file mode 100644 index 00000000..ca513796 Binary files /dev/null and b/images/cookbooks/replays.png differ diff --git a/images/cookbooks/stagehand-google-cua-agent.png b/images/cookbooks/stagehand-google-cua-agent.png new file mode 100644 index 00000000..f54678b2 Binary files /dev/null and b/images/cookbooks/stagehand-google-cua-agent.png differ diff --git a/images/cookbooks/tinker-rl.png b/images/cookbooks/tinker-rl.png new file mode 100644 index 00000000..547f49a3 Binary files /dev/null and b/images/cookbooks/tinker-rl.png differ diff --git a/images/cookbooks/vibium.png b/images/cookbooks/vibium.png new file mode 100644 index 00000000..e45cd9b0 Binary files /dev/null and b/images/cookbooks/vibium.png differ diff --git a/integrations/browser-use.mdx b/integrations/browser-use.mdx index 406dca95..bcfb50d1 100644 --- a/integrations/browser-use.mdx +++ b/integrations/browser-use.mdx @@ -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. + +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). + + ## 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. diff --git a/integrations/claude/claude-managed-agents.mdx b/integrations/claude/claude-managed-agents.mdx index e3e15e73..e1e78a89 100644 --- a/integrations/claude/claude-managed-agents.mdx +++ b/integrations/claude/claude-managed-agents.mdx @@ -58,7 +58,7 @@ The example code below is TypeScript. The same API is exposed through the Anthro ## Quickstart -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. diff --git a/integrations/computer-use/anthropic.mdx b/integrations/computer-use/anthropic.mdx index b6c5467b..2f283605 100644 --- a/integrations/computer-use/anthropic.mdx +++ b/integrations/computer-use/anthropic.mdx @@ -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. + +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). + + ## Quick setup with Computer Use Get started with Computer Use and Kernel using our pre-configured app template: diff --git a/integrations/stagehand.mdx b/integrations/stagehand.mdx index 90314317..304e20f3 100644 --- a/integrations/stagehand.mdx +++ b/integrations/stagehand.mdx @@ -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. + +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). + + ## Quick start with the Stagehand template The fastest way to run Stagehand on Kernel is our app template, which comes pre-wired for v4: diff --git a/integrations/vercel/ai-sdk.mdx b/integrations/vercel/ai-sdk.mdx index 5f0a464f..8a50ac04 100644 --- a/integrations/vercel/ai-sdk.mdx +++ b/integrations/vercel/ai-sdk.mdx @@ -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. + +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). + + ## Installation Install the package along with its peer dependencies: diff --git a/integrations/vibium.mdx b/integrations/vibium.mdx index eaeae647..bb22e719 100644 --- a/integrations/vibium.mdx +++ b/integrations/vibium.mdx @@ -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. + +A complete, runnable version of this integration lives in the [Vibium + Kernel cookbook](https://github.com/kernel/cookbooks/tree/main/integrations/vibium). + + ## 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`. diff --git a/snippets/cookbook-search.jsx b/snippets/cookbook-search.jsx new file mode 100644 index 00000000..eb00f2fa --- /dev/null +++ b/snippets/cookbook-search.jsx @@ -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 ( +
+ + {matches === 0 && ( +

+ no cookbooks match your search. +

+ )} +
+ ); +}; diff --git a/style.css b/style.css index 2b7c61b5..bfee60c5 100644 --- a/style.css +++ b/style.css @@ -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; +} + +/* 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; +}