Skip to content
OPEN SOURCE · APACHE-2.0

Agents in your product. Infrastructure out of the box.

Built from running agents in production.

HydroHavilaPosten
Demo: a customer asks a billing assistant inside Acme's product why they were charged twice, the agent refunds the duplicate and streams the answer, while the Opengeni layer underneath lights up streaming, durable sessions, models, tools, sandboxes, credentials, memory and workspaces.
Why Opengeni

What you don’t have to build.

  1. 01 / 07Durable sessions

    One dropped connection and the run is gone.

    Sessions that survive failures.

  2. 02 / 07Sandboxes

    Agent code can't run next to your secrets.

    A sandbox for agents to work in.

  3. 03 / 07Credentials

    Every user needs their own OAuth tokens.

    Credentials, handled.

  4. 04 / 07Tools and MCP

    Every API needs wiring before an agent can use it.

    Plug tools in.

  5. 05 / 07Memory

    Agents forget everything between sessions.

    Memory, out of the box.

  6. 06 / 07Multi-tenancy

    Every query has to know who's asking.

    Customers kept apart.

  7. 07 / 07Any model

    A better model ships. You're locked in.

    Swap models freely.

Same Opengeni, any surface

Any session. Any surface.

Opengeni app

app.opengeni.ai
Acme support
New session
Active
  • Duplicate charge in March
  • Weekly churn summary
  • Update refund policy doc
  • Triage failed webhooks
Duplicate charge in MarchCompleted
Customer, via acme.com
Why was I charged twice in March?
  • stripe.invoices.list3 invoices found
  • detect_duplicateduplicate confirmed
  • stripe.refunds.createrefund issued
Two $49 charges landed on March 12. I refunded the duplicate, so it will be back on the customer's card in a few days.
Message the agent…gpt-5.4

Our app is one client of the same API.

Your product

app.acme.com/billing
OverviewBillingTeam
Invoices
INV-2031Mar 12$49.00Duplicate
INV-2030Mar 12$49.00Paid
INV-1987Feb 12$49.00Paid
INV-1940Jan 12$49.00Paid
a
Billing assistantAcme
Why was I charged twice in March?
  • Checked your invoices
  • Found a duplicate charge
  • Refunded the duplicate
You were charged $49 twice on March 12. I refunded the duplicate, so it will be back on your card in a few days.
Refund issued$49 to card ending 4242
Ask about your bill…

The same session, in your brand.

The code

BillingAssistant.tsx
import { OpenGeniClient } from "@opengeni/sdk";
import { OpenGeniProvider, SessionConversation } from "@opengeni/react";
import "@opengeni/react/compiled.css";

// Talks to your backend. The API key never reaches the browser.
const client = new OpenGeniClient({ baseUrl: "/opengeni-api" });

export function BillingAssistant({ workspaceId, sessionId }: Props) {
  return (
    <OpenGeniProvider client={client} workspaceId={workspaceId}>
      <div className="acme-agent" data-og-theme="light">
        <SessionConversation sessionId={sessionId} />
      </div>
    </OpenGeniProvider>
  );
}
acme.css
.acme-agent {
  --og-color-accent: #5b4bff;
  --og-radius-md: 6px;
  --og-font-sans: "Archivo", sans-serif;
}
  • Streaming, tool steps and the composer come with the component.
  • Your backend holds the API key and proxies the session routes.
  • Same packages the Opengeni app is built on.
Integration guide

A few lines. Your backend keeps the key.

React components

Make it yours. Restyle in seconds.

Accent
Corners
Font
Theme
your-app.css
.my-agent {
  --og-color-accent: #5b4bff;
  --og-radius-md: 10px;
  --og-font-sans: "DM Sans", sans-serif;
}

<div class="my-agent" data-og-theme="light">
Run it anywhere

Our cloud or yours. Same Opengeni.

Self-host

Your cloud

Our Helm chart on any Kubernetes, with Terraform for AWS, Azure and GCP.

$ git clone https://github.com/Cloudgeni-ai/opengeni.git
Self-hosting guide

Opengeni.Built for the long run.

Try it in our app. Ship it in yours.