diff --git a/docs.json b/docs.json index 2788c0f..a933800 100644 --- a/docs.json +++ b/docs.json @@ -194,6 +194,7 @@ "integrations/computer-use/yutori" ] }, + "integrations/docker-sandboxes", "integrations/laminar", "integrations/magnitude", "integrations/notte", diff --git a/integrations/docker-sandboxes.mdx b/integrations/docker-sandboxes.mdx new file mode 100644 index 0000000..f2dcd6b --- /dev/null +++ b/integrations/docker-sandboxes.mdx @@ -0,0 +1,44 @@ +--- +title: "Docker Sandboxes" +description: "Run agents inside Docker Sandboxes with access to Kernel" +--- + +The [Kernel kit](https://github.com/kernel/docker-sbx-kit) is a [Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) [mixin](https://docs.docker.com/ai/sandboxes/customize/kits/) that gives any `sbx` agent: + +- **Kernel CLI** (`@onkernel/cli`) installed at sandbox creation +- **Kernel agent skills** from [`kernel/skills`](https://github.com/kernel/skills), so Claude Code (and any agent that reads `~/.agents/skills`) can drive Kernel without prompting +- **Proxy-managed `KERNEL_API_KEY`** — your real key stays on the host. The `sbx` proxy injects it as `Authorization: Bearer …` on requests to `api.onkernel.com`. The agent inside the sandbox never sees the secret. + +The last point is the main reason to use this kit over installing `@onkernel/cli` yourself inside a custom kit. + +## Quickstart + +```bash +export KERNEL_API_KEY=sk-kernel-... +export ANTHROPIC_API_KEY=sk-ant-... + +sbx run --name kernel-demo \ + --kit "git+https://github.com/kernel/docker-sbx-kit.git" \ + claude -- \ + "Using the Kernel CLI, create a browser and navigate to news.ycombinator.com. Tell me the top five articles." +``` + +Claude calls `kernel` inside the sandbox → CLI hits `api.onkernel.com` → the `sbx` proxy attaches your `KERNEL_API_KEY` → the request authenticates as you. + +The kit's full `spec.yaml`, install commands, and allowed domains live in the [repo README](https://github.com/kernel/docker-sbx-kit#readme). + +## Prerequisites + +- `sbx` installed and signed in — see [Docker's getting started guide](https://docs.docker.com/ai/sandboxes/get-started/) +- A Kernel API key from the [Kernel Dashboard](https://dashboard.onkernel.com/api-keys) +- An Anthropic API key from the [Anthropic Console](https://console.anthropic.com/) if you're using the built-in `claude` agent + +## Customizing or extending + +For everything not specific to Kernel — loading kits from local paths or OCI registries, stacking multiple mixins, building your own agent kit, debugging the proxy, `sbx kit add` for running sandboxes — see [Docker's kit reference](https://docs.docker.com/ai/sandboxes/customize/kits/). The Kernel kit is a standard mixin and composes with anything else you put on top. + +## Next steps + +- Browse [`kernel/skills`](https://github.com/kernel/skills) to see what Claude can do out of the box +- Read the [Kernel CLI reference](/reference/cli) for commands available inside the sandbox +- Learn about [browser creation](/browsers/create-a-browser), [stealth mode](/browsers/bot-detection/stealth), and [Profiles](/auth/profiles) for harder automation targets diff --git a/integrations/overview.mdx b/integrations/overview.mdx index ca7e727..20aab48 100644 --- a/integrations/overview.mdx +++ b/integrations/overview.mdx @@ -30,6 +30,7 @@ Kernel provides detailed guides for popular agent frameworks: - **[Agent Browser](/integrations/agent-browser)** - Browser automation CLI for AI agents - **[Browser Use](/integrations/browser-use)** - AI browser agent framework - **[Claude Agent SDK](/integrations/claude-agent-sdk)** - Run Claude Agent SDK automations in cloud browsers +- **[Docker Sandboxes](/integrations/docker-sandboxes)** - Add Kernel tooling and proxy-managed auth to Docker sandboxes via the Kernel kit - **[Stagehand](/integrations/stagehand)** - AI browser automation with natural language - **[Computer Use (Anthropic)](/integrations/computer-use/anthropic)** - Claude's computer use capability - **[Computer Use (OpenAI)](/integrations/computer-use/openai)** - OpenAI's computer use capability