Every package that speaks RAIS.
Official packages, community adapters, and certified implementations — all verified against the RAIS Protocol v1 spec.
text, done, error), proper SSE framing, AbortController support, and clean stream termination. Test any endpoint →Official SDK
First-party packages published by the react-ai-stream project.
Zero-dependency RAIS streaming engine. SSE parser, AbortController support, TypeScript types.
React hooks — useAIChat, useStreamingText. Works with any RAIS-compliant endpoint.
Pre-built UI components — ChatWindow, MessageBubble, StreamingText — with zero style opinions.
Express.js middleware — raisMiddleware(). OpenAI, Anthropic, and Groq (via OpenAI-compatible API) support built-in.
Vue 3 composable — useAIChat(). Returns shallowRefs for fine-grained reactivity.
Server Adapters
Drop-in RAIS middleware for popular Node.js frameworks.
Express 4/5 middleware. raisMiddleware({ provider, apiKey, model }) — one line integration.
Hono adapter — raisHandler() for Cloudflare Workers and Deno Deploy. Edge-first.
Fastify plugin — @fastify/rais. Adds schema validation and lifecycle hooks.
Python async generator — stream_response(). Returns text/event-stream compatible with StreamingResponse.
Flask extension using generator + Response(stream_with_context). For sync Python stacks.
Client SDKs
Connect to any RAIS endpoint from your UI framework of choice.
useAIChat — messages, sendMessage, loading, stop, error. Works in React 18 and 19.
useAIChat composable for Vue 3. shallowRef for performance; tree-shakeable.
Svelte store — createAIChat(). Returns a writable store with streaming state.
SolidJS signal-based hook — createAIChat(). Fine-grained reactivity, zero virtual DOM.
streamSSE() is framework-agnostic. Use it with any async iterator in plain JS or any framework.
Tooling
CLI tools and developer utilities built on the RAIS ecosystem.
Project scaffolder — 6 platforms (Next.js, Vite React, Vite Vue, Express, FastAPI, HTML), 3 providers, auto-installs deps.
This app — inspect, compare, benchmark, replay, and compliance-check any SSE streaming endpoint.
Built a RAIS adapter?
If your package implements RAIS Protocol v1, open a PR to add it here. Use the Stream Inspector to validate compliance before submitting.
{ "type": "text", "text": "..." }{ "type": "done" }{ "type": "error", "error": "..." }data: {...}\n\n