AI Agent with Durable Streams (Experimental)

AI Agent with Durable Streams (Experimental)

Example project demonstrating how to build an AI agent that communicates through durable streams for reliable message delivery and persistence.

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_KEY environment 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:

  1. Prompt Stream (/conversations/{id}/prompts): Frontend writes user messages, actor consumes them
  2. Response Stream (/conversations/{id}/responses): Actor writes AI response chunks, frontend consumes them

Key implementation details:

Resources