Let your site answer back.
A drop-in AI chat that has read every page of your site. A few lines on the server, one component in your layout.
Install for Something else?
$
pnpm add @chat-aide/sveltekit $
pnpm add @chat-aide/next @chat-aide/react Svelte, React, or any server that speaks fetch.
One core underneath: the same crawler, providers, limits and security rules. Every setup needs a server at run time, so static-only sites are out.
Svelte, on SvelteKit
- Server
@chat-aide/sveltekitOne line in hooks.server.ts.- Widget
@chat-aide/sveltekitSvelte components: shadcn, plain or headless.
React and Next.js
- Server
@chat-aide/nextApp Router route handlers.- Widget
@chat-aide/reactReact components: plain theme or headless parts.
Astro, React Router, Hono, Nuxt, Bun
- Server
@chat-aide/corecreateAide, on web-standard Request and Response.- Widget
@chat-aide/reactWhere React runs. There is no Vue widget yet.
They land on any page.
The chat already knows which page they are on.
It reads your site like a visitor does.
- Nothing to index
- It reads the running app. No embeddings, no build step, nothing to commit.
- llms.txt for free
- The same map is served as /llms.txt and a .md twin of every page.
- Costs stay bounded
- Per-visitor rate limits and daily token budgets, on by default.
Running in three steps.
- 1
Install the package
terminalpnpm add @chat-aide/sveltekit - 2
Add the server hook
src/hooks.server.tsimport { aide } from '@chat-aide/sveltekit/server'; import { ANTHROPIC_API_KEY } from '$env/static/private'; export const handle = aide({ provider: { name: 'anthropic', apiKey: ANTHROPIC_API_KEY, model: 'claude-haiku-4-5' }, origin: 'https://example.com' }); - 3
Drop in the widget
src/routes/+layout.svelte<script> import { ChatWidget } from '@chat-aide/sveltekit'; let { children } = $props(); </script> {@render children()} <ChatWidget />
That is the whole install. Read the SvelteKit guide for providers, origin and verification.
- 1
Install the packages
terminalpnpm add @chat-aide/next @chat-aide/react - 2
Add the route handler
app/api/chat/route.tsimport { createAide, fromEnv } from '@chat-aide/next'; const aide = createAide(() => ({ provider: fromEnv(process.env), origin: 'https://example.com' })); export const { GET, POST } = aide.chat; - 3
Drop in the widget
app/layout.tsximport '@chat-aide/react/plain.css'; import { ChatWidget } from '@chat-aide/react'; export default function RootLayout({ children }) { return ( <html lang="en"> <body> {children} <ChatWidget /> </body> </html> ); }
That is the whole install. Read the Next.js guide for providers, origin and verification.
On another framework, mount the same server with createAide: other frameworks.
Bring any model.
Every adapter of the AI SDK, called directly with your key.
- Anthropic
- OpenAI
- Google Gemini
- Mistral
- Groq
- xAI
- DeepSeek
- Cohere
- OpenRouter
- Amazon Bedrock
- Azure OpenAI
- Vertex AI
- Together AI
- Fireworks
- DeepInfra
- Cerebras
- Perplexity
- Ollama
Ask it something.
The chat on this page runs on chat-aide and has read all of these docs.