Documentation Index
Fetch the complete documentation index at: https://kernel.sh/docs/llms.txt
Use this file to discover all available pages before exploring further.
Notte 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
2. Initialize Kernel and create a browser
Import the libraries and create a cloud browser session:
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:
# 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:
kernel.browsers.delete_by_id(kernel_browser.session_id)
Complete example script
Here’s a complete, runnable script that demonstrates the full integration:
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