diff --git a/docs.json b/docs.json index 0dec9f89..45148ed3 100644 --- a/docs.json +++ b/docs.json @@ -24,7 +24,8 @@ { "source": "/quickstart", "destination": "/" }, { "source": "/home", "destination": "/" }, { "source": "/llm.md", "destination": "/integrations/stripe-projects" }, - { "source": "/llm-browser.md", "destination": "/integrations/stripe-projects-browser" } + { "source": "/llm-browser.md", "destination": "/integrations/stripe-projects-browser" }, + { "source": "/integrations/agent-browser", "destination": "/integrations/vercel/agent-browser" } ], "theme": "palm", "appearance": { @@ -180,33 +181,11 @@ } ] }, - { - "group": "deploying your agent", - "pages": [ - "apps/develop", - "apps/deploy", - "apps/invoke", - "apps/stop", - "apps/secrets", - "apps/status", - "apps/logs" - ] - }, - { - "group": "Agent Skills", - "pages": [ - "skills/overview", - "skills/bot-detection", - "skills/profiles" - ] - }, { "group": "Integrations", "pages": [ "integrations/overview", - "integrations/agent-browser", "integrations/browser-use", - "integrations/hermes-agent", { "group": "Claude", "pages": [ @@ -217,7 +196,7 @@ ] }, { - "group": "Computer Use", + "group": "Computer Use Models", "pages": [ "integrations/computer-use/overview", "integrations/computer-use/anthropic", @@ -228,30 +207,30 @@ "integrations/computer-use/yutori" ] }, + "integrations/hermes-agent", "integrations/laminar", - "integrations/magnitude", - "integrations/notte", - "integrations/vibium", "integrations/stagehand", + { + "group": "Stripe Projects", + "pages": [ + "integrations/stripe-projects", + "integrations/stripe-projects-browser" + ] + }, "integrations/terraform", "integrations/valtown", { "group": "Vercel", "pages": [ "integrations/vercel/overview", + "integrations/vercel/agent-browser", "integrations/vercel/ai-sdk", "integrations/vercel/marketplace", "integrations/vercel/eve-extension", "integrations/vercel/foreman" ] }, - { - "group": "Stripe Projects", - "pages": [ - "integrations/stripe-projects", - "integrations/stripe-projects-browser" - ] - }, + "integrations/vibium", "integrations/1password" ] }, @@ -261,6 +240,27 @@ "migrations/scrapybara" ] }, + { + "group": "deploying your agent", + "pages": [ + "apps/develop", + "apps/deploy", + "apps/invoke", + "apps/stop", + "apps/secrets", + "apps/status", + "apps/logs" + ] + }, + { + "group": "Agent Skills", + "pages": [ + "skills/overview", + "skills/bot-detection", + "skills/profiles", + "skills/kernel-auth" + ] + }, { "group": "Community", "pages": [ @@ -273,11 +273,11 @@ "pages": [ "browsers/faq", "info/concepts", + "info/zero-data-retention", "info/pricing", "info/spending-caps", "info/support", - "info/unikernels", - "info/zero-data-retention" + "info/unikernels" ] } ] diff --git a/integrations/magnitude.mdx b/integrations/magnitude.mdx deleted file mode 100644 index 81b9aa83..00000000 --- a/integrations/magnitude.mdx +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Magnitude" ---- - -[Magnitude](https://magnitude.run) is an open source AI browser automation framework. It uses vision AI to enable you to control your browser with natural language. By integrating with Kernel, you can run Magnitude agents and automations with cloud-hosted browsers. - -## Adding Kernel to existing Magnitude implementations - -If you already have a Magnitude implementation, you can easily switch to using Kernel's cloud browsers by updating your browser configuration. - -### 1. Install the Kernel SDK - -```bash -npm install @onkernel/sdk -``` - -### 2. Initialize Kernel and create a browser - -Import the libraries and create a cloud browser session: - -```typescript -import { startBrowserAgent } from "magnitude-core"; -import Kernel from '@onkernel/sdk'; -import z from 'zod'; - -const kernel = new Kernel(); - -const kernelBrowser = await kernel.browsers.create({ - stealth: true, -}); - -console.log(`Live view url: ${kernelBrowser.browser_live_view_url}`); -``` - -### 3. Update your browser configuration - -Replace your existing browser setup to use Kernel's CDP URL and display settings: - -```typescript -const agent = await startBrowserAgent({ - url: 'https://magnitasks.com', - narrate: true, - browser: { - cdp: kernelBrowser.cdp_ws_url, - }, - llm: { - provider: 'anthropic', - options: { - model: 'claude-sonnet-4-20250514' - } - } -}); -``` - -### 4. Use your agent - -Use Magnitude's agent methods with the Kernel-powered browser: - -```typescript -await agent.act([ - 'click on "Tasks" in the sidebar', - 'click on the first item in the "In Progress" column' -]); - -const assignee = await agent.extract('Extract the task Assignee', z.string()); - -await agent.stop(); - -// Clean up the Kernel Browser Session -await kernel.browsers.deleteByID(kernelBrowser.session_id); -``` - -## Quick setup with our Magnitude example app - -Alternatively, you can use our Kernel app template that includes a pre-configured Magnitude integration: - -```bash -kernel create --name my-magnitude-app --language typescript --template magnitude -``` - -Then follow the [deploy](/apps/deploy) and [invoke](/apps/invoke) guides to deploy and run your Magnitude automation on Kernel's infrastructure. - -## Benefits of using Kernel with Magnitude - -- **No local browser management**: Run automations without installing or maintaining browsers locally -- **Scalability**: Launch multiple browser sessions in parallel -- **Stealth mode**: Built-in anti-detection features for web scraping -- **Session state**: Maintain browser state across runs via [Profiles](/auth/profiles) -- **Live view**: Debug your automations with real-time browser viewing - -## Next steps - -- Check out [live view](/browsers/live-view) for debugging your automations -- Learn about [stealth mode](/browsers/bot-detection/stealth) for avoiding detection -- Learn how to properly [terminate browser sessions](/browsers/termination) -- Learn how to [deploy](/apps/deploy) your Magnitude app to Kernel diff --git a/integrations/notte.mdx b/integrations/notte.mdx deleted file mode 100644 index 895226e4..00000000 --- a/integrations/notte.mdx +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: "Notte" ---- - -[Notte](https://www.notte.cc/) is an AI agent framework that enables you to build sophisticated browser automation tasks. By integrating with Kernel, you can run Notte agents with cloud-hosted browsers using Chrome DevTools Protocol (CDP). - -## Adding Kernel to existing Notte implementations - -If you already have a Notte implementation, you can easily switch to using Kernel's cloud browsers by connecting via CDP. - -### 1. Install the Kernel SDK - -```bash -uv pip install kernel -``` - -### 2. Initialize Kernel and create a browser - -Import the libraries and create a cloud browser session: - -```python -from kernel import Kernel -from notte_sdk import NotteClient - -# Initialize clients -kernel = Kernel() -notte_client = NotteClient(api_key="your-notte-api-key") - -# Create a browser on Kernel -kernel_browser = kernel.browsers.create() -``` - -### 3. Connect Notte to Kernel's CDP endpoint - -Use Kernel's CDP URL to create a Notte session: - -```python -# Connect Notte to Kernel's browser via CDP -with notte_client.Session(cdp_url=kernel_browser.cdp_ws_url) as session: - # Create an agent with a task - agent = notte_client.Agent(session=session, max_steps=10) - - # Run your automation task - result = agent.run( - task="extract pricing plans from https://www.notte.cc" - ) -``` - -### 4. Clean up the browser session - -After your automation completes, clean up the Kernel browser: - -```python -kernel.browsers.delete_by_id(kernel_browser.session_id) -``` - -## Complete example script - -Here's a complete, runnable script that demonstrates the full integration: - -```python -from kernel import Kernel -from notte_sdk import NotteClient -import os -from dotenv import load_dotenv - -# Load environment variables from .env file -load_dotenv() - -def main(): - # Initialize clients - kernel = Kernel() - - notte_api_key = os.getenv("NOTTE_API_KEY") - if not notte_api_key: - raise ValueError("NOTTE_API_KEY not found in environment variables") - - notte_client = NotteClient(api_key=notte_api_key) - - # Create a headful browser on Kernel - print("Creating browser session on Kernel...") - kernel_browser = kernel.browsers.create() - # print(kernel_browser.browser_live_view_url) - - try: - # Connect Notte to Kernel's browser via CDP - print("Connecting Notte to Kernel browser...") - with notte_client.Session(cdp_url=kernel_browser.cdp_ws_url) as session: - # Create an agent with a task - agent = notte_client.Agent(session=session, max_steps=10) - - # Run your automation task - result = agent.run( - task="extract pricing plans from https://www.notte.cc" - ) - - print(f"Task completed: {result.answer}") - - except Exception as e: - print(f"Error during automation: {e}") - - finally: - # Always clean up the browser session - kernel.browsers.delete_by_id(kernel_browser.session_id) - print("Browser session cleaned up") - -if __name__ == "__main__": - main() -``` - -## Benefits of using Kernel with Notte - -- **No local browser management**: Run agents without installing or maintaining browsers locally -- **Scalability**: Launch multiple browser sessions in parallel for concurrent tasks -- **Cloud infrastructure**: Leverage Kernel's optimized browser infrastructure -- **Stealth mode**: Built-in anti-detection features for web scraping -- **Session control**: Programmatic control over browser lifecycle - -## Next steps - -- Learn about [creating browsers](/introduction/create) on Kernel -- Check out [live view](/browsers/live-view) for debugging your automations -- Learn about [stealth mode](/browsers/bot-detection/stealth) for avoiding detection -- Explore [Profiles](/auth/profiles) for maintaining browser state across sessions diff --git a/integrations/overview.mdx b/integrations/overview.mdx index 9bb54af6..5efd3850 100644 --- a/integrations/overview.mdx +++ b/integrations/overview.mdx @@ -27,7 +27,7 @@ This approach works with any computer use model, including Anthropic Claude, Ope Kernel provides detailed guides for popular agent frameworks: -- **[Agent Browser](/integrations/agent-browser)** - Browser automation CLI for AI agents +- **[Agent Browser](/integrations/vercel/agent-browser)** - Browser automation CLI for AI agents - **[Browser Use](/integrations/browser-use)** - AI browser agent framework - **[Hermes Agent](/integrations/hermes-agent)** - Run Hermes browser tools on Kernel cloud browsers - **[Claude Code and Desktop](/integrations/claude/claude-code-and-desktop)** - Give the Claude apps a Kernel browser via the marketplace plugin or MCP @@ -41,8 +41,6 @@ Kernel provides detailed guides for popular agent frameworks: - **[Computer Use (OpenAGI)](/integrations/computer-use/openagi)** - OpenAGI's computer use capability - **[Computer Use (Yutori)](/integrations/computer-use/yutori)** - Yutori Navigator n1.5 pixels-to-actions model - **[Laminar](/integrations/laminar)** - Observability and tracing for AI browser automations -- **[Magnitude](/integrations/magnitude)** - Vision-focused browser automation framework -- **[Notte](/integrations/notte)** - AI agent framework for browser automation - **[Val Town](/integrations/valtown)** - Serverless function runtime - **[Stripe Projects](/integrations/stripe-projects)** - Provision Kernel plans and API keys via the Stripe Projects CLI - **[Vercel](https://github.com/onkernel/vercel-template)** - Deploy browser automations to Vercel diff --git a/integrations/agent-browser.mdx b/integrations/vercel/agent-browser.mdx similarity index 100% rename from integrations/agent-browser.mdx rename to integrations/vercel/agent-browser.mdx diff --git a/integrations/vercel/overview.mdx b/integrations/vercel/overview.mdx index 2119cbab..a1a524d0 100644 --- a/integrations/vercel/overview.mdx +++ b/integrations/vercel/overview.mdx @@ -7,6 +7,12 @@ description: "Integrate Kernel with Vercel for seamless browser automation in yo Kernel and Vercel have partnered to provide seamless browser automation capabilities for your Vercel applications. Our integration offers several ways to add browser automation to your projects: +### Agent Browser + +[Agent Browser](https://github.com/vercel-labs/agent-browser) is a minimal browser automation CLI for AI agents. Connect it to Kernel browsers to use our bot anti-detection, agent authentication, profile reuse, and gpu browser features. + +[Learn more about Agent Browser →](/integrations/vercel/agent-browser) + ### AI SDK Tool for Browser Automation The `@onkernel/ai-sdk` package provides a Vercel AI SDK-compatible tool that enables AI agents to execute Playwright code on Kernel remote browsers. This tool integrates seamlessly with: diff --git a/skills/kernel-auth.mdx b/skills/kernel-auth.mdx new file mode 100644 index 00000000..f4a1f864 --- /dev/null +++ b/skills/kernel-auth.mdx @@ -0,0 +1,4 @@ +--- +title: "Kernel Auth" +url: "https://www.skills.sh/kernel/skills/kernel-auth" +--- diff --git a/skills/overview.mdx b/skills/overview.mdx index be6dcc9f..0edf64cc 100644 --- a/skills/overview.mdx +++ b/skills/overview.mdx @@ -5,7 +5,8 @@ title: "Overview" Kernel offers a suite of agent skills that can be used to debug your development workflows and give your browser agents runtime superpowers. Especially useful skills: -- [Bot Detection](/skills/bot-detection) -- [Browser Profiles](/skills/profiles) +- [Bot Detection](/skills/bot-detection) — teaches your agent how to profile a site's bot-detection setup and land on a browser configuration that gets through it. +- [Browser Profiles](/skills/profiles) — teaches your agent how to compare the actual contents of two Kernel browser profiles to identify state differences that could explain a reported issue. +- [Kernel Auth](/skills/kernel-auth) — teaches your agent best practices for using managed auth to log in to websites. View Kernel's full list of available skills [here](https://skills.sh/kernel/skills). \ No newline at end of file