AI Stream Studio
RAIS Protocol
RAIS Spec ↗GitHub
RAIS Ecosystem

Every package that speaks RAIS.

Official packages, community adapters, and certified implementations — all verified against the RAIS Protocol v1 spec.

11
Official packages
5
Community adapters
5+
Languages
v1.0
Protocol version
RAIS Certified
Packages with the "Certified" badge have been verified to implement all RAIS Protocol v1 requirements: correct event types (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.

@react-ai-stream/core✓ Certifiedofficial

Zero-dependency RAIS streaming engine. SSE parser, AbortController support, TypeScript types.

@react-ai-stream/react✓ Certifiedofficial

React hooks — useAIChat, useStreamingText. Works with any RAIS-compliant endpoint.

TypeScript / React
@react-ai-stream/ui✓ Certifiedofficial

Pre-built UI components — ChatWindow, MessageBubble, StreamingText — with zero style opinions.

TypeScript / React
@react-ai-stream/express✓ Certifiedofficial

Express.js middleware — raisMiddleware(). OpenAI, Anthropic, and Groq (via OpenAI-compatible API) support built-in.

TypeScript / Node.js
@react-ai-stream/vue✓ Certifiedofficial

Vue 3 composable — useAIChat(). Returns shallowRefs for fine-grained reactivity.

TypeScript / Vue 3
rais (Python)✓ Certifiedofficial

Python package — stream_response() for FastAPI and any ASGI framework. Supports OpenAI and Anthropic.

Server Adapters

Drop-in RAIS middleware for popular Node.js frameworks.

@react-ai-stream/express✓ Certifiedadapter

Express 4/5 middleware. raisMiddleware({ provider, apiKey, model }) — one line integration.

Node.js
rais-honocommunity

Hono adapter — raisHandler() for Cloudflare Workers and Deno Deploy. Edge-first.

TypeScript / Hono
rais-fastifycommunity

Fastify plugin — @fastify/rais. Adds schema validation and lifecycle hooks.

TypeScript / Fastify
rais (FastAPI)✓ Certifiedadapter

Python async generator — stream_response(). Returns text/event-stream compatible with StreamingResponse.

Python / FastAPI
rais-flaskcommunity

Flask extension using generator + Response(stream_with_context). For sync Python stacks.

Python / Flask

Client SDKs

Connect to any RAIS endpoint from your UI framework of choice.

@react-ai-stream/react✓ Certifiedofficial

useAIChat — messages, sendMessage, loading, stop, error. Works in React 18 and 19.

React
@react-ai-stream/vue✓ Certifiedofficial

useAIChat composable for Vue 3. shallowRef for performance; tree-shakeable.

Vue 3
rais-sveltecommunity

Svelte store — createAIChat(). Returns a writable store with streaming state.

Svelte 5
rais-solidcommunity

SolidJS signal-based hook — createAIChat(). Fine-grained reactivity, zero virtual DOM.

SolidJS
@react-ai-stream/core (vanilla)✓ Certifiedofficial

streamSSE() is framework-agnostic. Use it with any async iterator in plain JS or any framework.

Vanilla JS

Tooling

CLI tools and developer utilities built on the RAIS ecosystem.

create-ai-stream-app✓ Certifiedofficial

Project scaffolder — 6 platforms (Next.js, Vite React, Vite Vue, Express, FastAPI, HTML), 3 providers, auto-installs deps.

AI Stream Studio✓ Certifiedofficial

This app — inspect, compare, benchmark, replay, and compliance-check any SSE streaming endpoint.

Next.js 15

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.

Submit your package →Validate compliance
RAIS Protocol v1 — Quick Reference
text
{ "type": "text", "text": "..." }
done
{ "type": "done" }
error
{ "type": "error", "error": "..." }
All events transported as SSE frames: data: {...}\n\n