GET STARTED

OPEN SOURCE · SELF-HOSTED OR MANAGED

ADD AN AGENT
TO YOUR APP
IN MINUTES

Drop a Cursor-style agent into your product. It answers queries, interacts with your app, renders your UI components, and works with users' files.

GET STARTED

BUILD IT WITH YOUR CODING AGENT

  1. Copy the prompt below.
  2. Open a coding agent (Cursor, Claude Code, Codex, etc.) in your app’s code repository.
  3. Paste the prompt. The agent will install the SDK and integrate AstralBeam into your app.
Add an AstralBeam agent sidebar/screen to this app by following https://app.astralbeam.ai/docs/start/quickstart.md and these steps: install @astralbeam/sdk, add a server endpoint that mints a chat token with createAstralBeamToken for the signed-in user and their tenant, and mount the chat where the sidebar/screen belongs (<AstralBeamChat /> from @astralbeam/sdk/react in React apps, or mountAstralBeamChat from @astralbeam/sdk/client otherwise). Read ASTRALBEAM_API_KEY from the server environment and never expose it to browser code.

Sign up to generate an AstralBeam API key needed to authorize chat requests.

Your browser blocked the clipboard, so the prompt is selected. Copy it with Ctrl+C or ⌘C.

READ QUICKSTART

STEP 01

ADD THE FRONTEND SDK

Install one package and mount one component. You get a complete agent sidebar that already streams, retries, reads files, and matches your product.

sidebar.tsx
$ npm install @astralbeam/sdk+ added 1 package import { AstralBeamChat } from "@astralbeam/sdk/react" export function Sidebar() {  return (    <AstralBeamChat      title="Acme Assistant"      theme={{        light: {          "--primary": "#4f46e5",          "--radius": "0.75rem",        },        dark: {          "--primary": "#818cf8",        }}}      attachments={{ maxFiles: 5 }}    />  )}
  • Cursor-style agentic chat

    Streaming replies, visible tool calls, and follow-up questions. A React component, or a one-line mount anywhere else.

  • Managed backend

    Model calls, tool orchestration, and file handling run on AstralBeam. Nothing for you to deploy or scale.

  • Fully customizable

    Your title, copy, color scheme, and design tokens, or swap the header and empty state for your own components.

  • Users' files

    Users drop in screenshots, PDFs, spreadsheets, and code. The agent reads them and answers from them.

  • Sandboxes and artifacts

    Give the agent a sandbox to run code against uploaded data. The files it produces arrive as signed downloads.

  • Resumable streaming

    Reload mid-answer and the stream picks up where it left off, on the same device or another one.

    IN PROGRESS

STEP 02

IDENTIFY YOUR USERS

Your server already knows who is signed in. Mint a short-lived token that carries the user and their tenant, and the widget picks it up. API keys never reach the browser.

api/astralbeam/token.ts
import { createAstralBeamToken } from "@astralbeam/sdk/server" export async function POST(request: Request) {  const session = await getSession(request)  const token = await createAstralBeamToken({    apiKey: process.env.ASTRALBEAM_API_KEY,    user: {      id: session.user.id,      name: session.user.name,    },    tenant: {      id: session.org.id,      name: session.org.name,    },  })  return Response.json({ token })}
  • Conversation history

    Every user picks up their own threads, on any device, without you storing a message.

    IN PROGRESS

  • Rate limits

    Per-customer and per-user limits, so one tenant can never drain another's budget.

  • Usage tracking

    Tokens, tool calls, and sandbox time, broken down by tenant and by user.

    IN PROGRESS

  • Metered billing

    Charge for usage through Stripe, with plans, allowances, and overages.

    IN PROGRESS

  • Observability

    One click to send traces to Langfuse, Braintrust, or your OpenTelemetry collector.

    IN PROGRESS

  • Tenant isolation

    Organization and tenant boundaries are enforced in the database, not only at the API.

STEP 03

CONNECT TOOLS & WIDGETS

Declare what the agent can do and what it can draw. Tools run in your page against your own state. Widgets render your components inside the reply.

sidebar.tsx
<AstralBeamChat  tools={{    refundOrder: defineTool({      description: "Refund an order and notify the customer",      parameters: z.object({ orderId: z.string() }),      execute: ({ orderId }) => api.refund(orderId),    }),  }}  widgets={{    orderCard: defineWidget({      description: "Show an order's status and total",      parameters: z.object({ orderId: z.string() }),      render: ({ orderId }) => <OrderCard id={orderId} />,    }),  }}/>
  • Read user data

    Tools run in the page with the user's own session, so the agent sees exactly what they see.

  • Take actions

    Refund, create, assign, send. The agent does the work inside your app, behind your permission checks.

  • Interactive widgets

    Render your own components inside the reply. State stays live in both directions.

  • Ask before acting

    The agent can pause and ask the user a structured question before it commits.

  • Typed and validated

    Zod, Valibot, ArkType, or plain JSON Schema. Input is validated before your code runs.

  • Your app as an MCP server

    Expose the same tools over MCP, so users can drive your app from Claude, ChatGPT, or Cursor.

    IN PROGRESS

WORKS WITH YOUR STACK

AstralBeam sits between your app and the providers you already pay for. Swap any of them without touching the widget.

LLM PROVIDERS & GATEWAYS

Bring your own keys. Route through a gateway if you already have one.

  • OpenAI
  • Anthropic
  • Google
  • OpenRouter
  • Vercel AI Gateway

OBSERVABILITY

Every run traced where your team already looks.

  • Langfuse
  • Braintrust
  • LangSmith
  • OpenTelemetry

CODING SANDBOXES

Pick a provider in the dashboard. The agent gets a workspace per conversation.

  • Docker
  • Daytona
  • Vercel Sandbox
  • Sprites

IDENTITY & BILLING

Your session is the source of truth. Usage rolls up into your billing.

  • Any auth provider
  • Stripe

OPEN SOURCE FROM DAY ONE

The AstralBeam platform is open source under AGPL-3.0, built on open standards, and modular by design. Read it, fork it, run it, extend it.

SELF-HOST

Run the whole platform on your own infrastructure. Your data never leaves your orbit.

CLOUD

Let us run it for you: managed infrastructure, zero maintenance, always current.

MODULAR

Start with the entire platform, or adopt it incrementally, piece by piece.

OPEN PROTOCOLS

Built on open protocols: AG-UI, MCP, A2A. Swap pieces in and out instead of adopting a proprietary runtime.

READY FOR LAUNCH

Get started with a few lines of code, or come talk to us on Discord.