Skip to content

runvendo/vendo

Vendo: your product, shaped to every customer

Vendo puts an agent inside your product.
Customers automate work, build their own views, and connect their tools. You set the guardrails.

Website  ·  Docs  ·  Quickstart  ·  Demos  ·  Cloud

npm install vendoai
npx vendo init

See it in action

Every capture below is a real agent run in a demo host app, not a mockup.

A Maple customer asks where their money went and the agent composes a live spending view

Build views. Ask a question, get a live view composed from the host's own components and API.

A Cadence user hovers the deadlines card, asks for urgency color-coding, and applies the remix in place

Remix the UI. Hover a component, describe the change, apply it in place.

A Cadence user asks for a morning document-chase automation and turns it on with per-tool approvals

Automate across tools. Plain language in, standing automation out, every tool gated by approval.

A Maple voice session: the user asks out loud where their money went and the agent renders the view while talking back

Talk to it. A live voice session: ask out loud, the agent talks back and renders the view.

Why Vendo

Every customer wants your product to be a little different. A rearranged dashboard, a missing report, a workflow they repeat by hand every morning. Today those wishes die in a feature-request queue. Vendo turns them into things customers do themselves, safely, inside your product.

It is not a chatbot bolted onto your app. The agent works through the same API and components you already ship, renders in your brand, and never steps outside your permission policy.

What it does

Views on demand Customers describe what they want to see. The agent composes it from your component catalog and live API data, rendered in your brand.
Remix Any component you wrap becomes customer-editable in place. Changes are scoped to that customer and reversible.
Automations Standing workflows from plain language, run on schedules or triggers, durable across restarts.
Integrations Gmail, Slack, Calendar, and any MCP server, each behind per-tool consent.
Guardrails Generated UI runs in a sandboxed iframe with no network egress. Every mutating action passes your permission policy: consent prompts, approval tokens, judged rules.
Any provider Bring your own key for Anthropic, OpenAI, or Google. Works with any AI SDK provider.

Get started

  1. Install the package, then run the codemod in your Next.js app:

    npm install vendoai
    npx vendo init

    The codemod extracts your theme, derives agent tools from your OpenAPI spec, and wires the routes.

  2. Add one provider key to .env.local: ANTHROPIC_API_KEY, OPENAI_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY.

  3. Start your dev server. The Vendo surface is live in your product.

vendo init running against a real Next.js app: theme extracted, tools derived from the OpenAPI spec, components wrapped, routes wired

A real vendo init run: theme extracted from your CSS, 17 agent tools derived from the app's OpenAPI spec, 11 components wrapped for generated UI, routes wired.

Full walkthrough: docs.vendo.run/quickstart.

Want to try it before integrating? pnpm demo runs Maple, a demo bank with Vendo embedded. pnpm demo:accounting runs Cadence, an accounting firm app with remix, automations, and voice.

How it works

The agent acts through your product's OpenAPI surface as the signed-in user. Generated UI renders in a sandboxed iframe with no network egress, and host components render natively from your catalog. Every mutating action flows through your permission policy. Deeper docs: docs.vendo.run.

Packages
Package What it is
vendoai The public install (interim name; bare vendo pending an npm name-dispute): vendoai/server (createVendoHandler) + vendoai/react (<VendoRoot>)
@vendoai/cli vendo init installs Vendo into a Next.js app; refresh catches up, doctor checks the install
@vendoai/core Manifest schemas, GenUI format, the five platform seams
@vendoai/server Provider-agnostic agent server (bring any AI SDK provider)
@vendoai/runtime Embedded runtime: tools, automations, MCP client
@vendoai/react React provider + useVendoChat
@vendoai/shell The embedded surfaces: tabbed page, overlay, slot
@vendoai/components Brand-themeable component catalog
@vendoai/stage Sandboxed stage runtime and bridge for generated UI
@vendoai/store Durable persistence (PGlite default, Postgres in prod)
@vendoai/telemetry Anonymous, opt-out build/dev telemetry

FAQ

Is customer data safe?
Generated UI runs in a sandboxed iframe with no network egress. The agent acts through your API as the signed-in user, so your existing authorization applies. Nothing leaves your infrastructure except calls to the model provider key you configure.
Do I need a Vendo account?
No. Vendo is open source and self-hosted. You bring a provider API key. No signup, no hosted dependency, and no telemetry on end users.
What does it cost?
Self-hosting is free: the code is Apache-2.0 and you pay your model provider for the tokens your customers use. A managed cloud with enterprise controls is on the way, see vendo.run/pricing.
Which frameworks are supported?
Next.js App Router today via the vendoai package's ready-made route pair. The agent server is a plain fetch handler underneath (plus a Node adapter for Express/node:http), so other frameworks can wire it manually.
How does it match my brand?
vendo init extracts design tokens from your app, and generated UI composes your own wrapped components plus a themeable catalog.

About

Embedded agents your customers use to automate work, build views, and connect their tools.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

15 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors