kernel-typescript-sdk
Original:🇺🇸 English
Translated
Build browser automation scripts using the Kernel TypeScript SDK with Playwright, CDP, and remote browser management.
2installs
Sourcekernel/skills
Added on
NPX Install
npx skill4agent add kernel/skills kernel-typescript-sdkTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →When to Use This Skill
Use the Kernel TypeScript SDK when you need to:
- Build browser automation scripts - Create TypeScript programs that control remote browsers
- Execute server-side automation - Run Playwright code directly in the browser VM without local dependencies
- Manage browser sessions programmatically - Create, configure, and control browsers from code
- Build scalable scraping/testing tools - Use browser pools and profiles for high-volume automation
- Deploy automation as actions - Package scripts as Kernel actions for invocation via API
When NOT to use:
- For CLI commands (e.g., ), use the
kernel browsers createskill insteadkernel-cli - For quick one-off tasks, the CLI may be simpler than writing code
Core Concepts
SDK Architecture
The SDK is organized into resource-based modules:
- - Browser session management (create, list, delete)
kernel.browsers - - Server-side Playwright execution
kernel.browsers.playwright - - OS-level controls (mouse, keyboard, screenshots)
kernel.browsers.computer - - Pre-warmed browser pool management
kernel.browserPools - - Persistent browser profiles (auth state)
kernel.profiles - - Managed auth (create, login, submit, follow, retrieve, delete)
kernel.auth.connections - - External credential providers (1Password)
kernel.credentialProviders - - Proxy configuration
kernel.proxies - - Chrome extension management
kernel.extensions - - App deployment
kernel.deployments - - Action invocation
kernel.invocations
Two Automation Approaches
1. Server-side Execution (RECOMMENDED)
- Execute Playwright code directly in browser VM using
kernel.browsers.playwright.execute() - Response accessed via - MUST use
response.resultin code to get data backreturn - Best for: Most use cases, production automation, parallel execution, actions
2. CDP Connection (Client-side)
- Connect Playwright/Puppeteer to browser via CDP WebSocket URL ()
browser.cdp_ws_url - Code runs locally, browser runs remotely; requires local Playwright installation
- Best for: Complex debugging, specific local development needs
Patterns Reference
SDK Initialization
typescript
import { Kernel } from "@onkernel/sdk";
const kernel = new Kernel(); // Reads KERNEL_API_KEY from environmentAttribute Access: Use (e.g., , )
snake_casebrowser.session_idbrowser.cdp_ws_urlBinary Data Handling
Binary data does not serialize through (returns ). Use dedicated APIs:
playwright.executeundefinedtypescript
// For screenshots:
const response = await kernel.browsers.computer.captureScreenshot(browser.session_id);
// For files:
const response = await kernel.browsers.filesystem.readFile(browser.session_id, { path: '/path/to/file' });
// Convert to buffer:
const blob = await response.blob();
const buffer = Buffer.from(await blob.arrayBuffer());Note: This differs from the Python SDK where binary data CAN be returned viaas a Buffer object. In TypeScript, always use dedicated APIs.playwright.execute
References
- Kernel Documentation: https://www.kernel.sh/docs
- Quickstart Guide: https://www.kernel.sh/docs/quickstart
- Templates: https://www.kernel.sh/docs/reference/cli/create#available-templates
- TypeScript Types: Available in package
@onkernel/sdk - Examples: examples