Durable Streams Dev UI
To inspect streams and debug message flow, install and run the Durable Streams CLI:
npx durable-streams ui --url http://127.0.0.1:8787
This opens a web UI to browse streams, view messages, and monitor real-time activity. See the Durable Streams CLI documentation for more options.
Features
- Durable message delivery: Prompts and responses flow through durable streams, ensuring reliable delivery even if components restart
- Streaming AI responses: AI responses stream in real-time through durable streams to the frontend
- Actor-based processing: AI agent runs as a Rivet Actor with persistent state tracking processed prompts
Prerequisites
- Anthropic API Key (set as
ANTHROPIC_API_KEYenvironment variable) - (Optional) Durable Streams Test UI for inspecting streams and debugging message flow:
git clone https://github.com/durable-streams/durable-streams.git cd durable-streams/packages/test-ui pnpm dev
Implementation
The architecture uses two durable streams per conversation:
- Prompt Stream (
/conversations/{id}/prompts): Frontend writes user messages, actor consumes them - Response Stream (
/conversations/{id}/responses): Actor writes AI response chunks, frontend consumes them
Key implementation details:
- AI Agent Actor (
src/backend/registry.ts): Defines theaiAgentactor that consumes prompts from durable streams and writes AI responses back - Frontend (
src/frontend/App.tsx): React chat UI that reads/writes to durable streams - Streams Server (
src/streams-server/server.ts): In-memory durable streams server for development - Message Types (
src/backend/types.ts): TypeScript types for prompt and response messages
Resources
- Durable Streams - Reliable message delivery and persistence
- Architecture Slides - Visual overview of the durable streams architecture



