mirror of
https://github.com/katanemo/plano.git
synced 2026-06-23 15:38:07 +02:00
| .. | ||
| .github/workflows | ||
| app | ||
| artifacts | ||
| components | ||
| hooks | ||
| lib | ||
| public/images | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| biome.jsonc | ||
| components.json | ||
| config.yaml | ||
| docker-compose.yaml | ||
| drizzle.config.ts | ||
| instrumentation.ts | ||
| LICENSE | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| proxy.ts | ||
| README.md | ||
| tsconfig.json | ||
| vercel-template.json | ||
| vercel.json | ||
Plano Demo: Next.js + AI SDK + Observability (Jaeger)
This is a quick demo of Plano’s capabilities as an LLM gateway:
- Routing & model selection: all LLM traffic goes through Plano.
- OpenAI-compatible gateway: the app talks to Plano using the OpenAI API shape.
- Observability: traces exported to Jaeger so you can inspect requests end-to-end.
The app also includes tool calling with generative UI:
getWeathergetCurrencyExchange
Both use open and free APIs.
Quickstart
1) Start Plano + Jaeger (Docker)
From demos/use_cases/vercel-ai-sdk/:
docker compose up
- Plano Gateway:
http://localhost:12000/v1 - Jaeger UI:
http://localhost:16686
2) Point the app at Plano
Create demos/use_cases/vercel-ai-sdk/.env.local:
# Generate a random secret: https://generate-secret.vercel.app/32 or `openssl rand -base64 32`
AUTH_SECRET=****
# Instructions to create a Vercel Blob Store here: https://vercel.com/docs/vercel-blob
BLOB_READ_WRITE_TOKEN=****
# Instructions to create a PostgreSQL database here: https://vercel.com/docs/postgres
POSTGRES_URL=****
# Instructions to create a Redis store here:
# https://vercel.com/docs/redis
REDIS_URL=****
PLANO_BASE_URL=http://localhost:12000/v1
3) Start the Next.js app (local)
In a second terminal (same directory):
npm install --legacy-peer-deps
npm run dev
Now open the app at http://localhost:3000.
Note
: This repo uses fast-moving dependencies (AI SDK betas, React 19, Next.js 16). npm’s strict peer dependency resolver can fail installs; passing
--legacy-peer-depshelps keep the install unblocked.
What to try
- Currency: “Convert 100 USD to EUR”
- Weather: “What’s the weather in San Francisco?”
Tracing
Open Jaeger (http://localhost:16686) and search traces for the Plano service to see routing + latency breakdowns.