rivet-dev

rivet: Orchestrate Durable Actors for Agent Workloads

Rivet is a platform for durable Actors: stateful processes for AI agents, workflows, and realtime apps. Its Rust control plane schedules Actors that run on Node.js, Bun, or Rust, with per-Actor persistence and self-hosting options.

Stars
6.5k
Forks
295
Last commit
today
Contributors
29
Releases, 12 months
100+

Our take

Activeregular commits and releases

Health score

70/100

How it is scored
Activity
90
Community
58
Issues
67
Pull requests
63
  • Releases more often than 93% of the projects we track
  • Merges more pull requests than 93% of the projects we track

Rivet is an actively developed option for teams that want a self-hostable, Rust-based control plane for durable, stateful processes, but adopting its preview release means evaluating a young and evolving platform.

Good fit if

  • You need keyed, persistent processes for agents, realtime sessions, or workflows, and want scheduling and storage integrated.
  • You can operate the Rust control plane and object-storage-backed deployment, or prefer Rivet Cloud or BYOC.
  • You want to build on native Node.js, Bun, or Rust runtimes and use an Apache-2.0-licensed project.

Look elsewhere if

  • Your workload is stateless and does not benefit from per-process persistence, scheduling, or realtime connections.
  • You need a stable, established release rather than the current preview series.
  • Your team cannot accommodate the Node.js or Rust requirements or does not want to adopt Rivet's Actor model.
All health signals
Last commit2026-10-30 (today)
Commits, last 90 days100+
Releases, last 12 months100+ (latest v3.0.0-preview.4, 2026-10-29, pre-release)
Contributors29 (top contributor: 57% of commits)
Issues closed, last 90 days4+ (typically closed in 1 day)
Pull requests merged, last 90 days89 (typically merged in 1 day)
Project age3 years

Checked on 2026-10-31 with the GitHub API.

Overview

Rivet is an orchestrator for Rivet Actors, durable processes for AI agents, workflows, and other stateful workloads. Its Rust control plane schedules and routes Actors, while the Actor code runs on native Node.js, Bun, or Rust. The goal is to give each keyed process persistent state and realtime communication without requiring teams to build their own scheduling and recovery layer.

An Actor can have its own SQLite database, key-value storage, queue, and realtime connections, and can hibernate when idle. Rivet is aimed at teams building agent backends, collaborative applications, and durable execution systems that want to self-host or use Rivet Cloud.

Key Features

  • Schedules keyed, long-lived Actors across a cluster and reschedules them after node failures.
  • Provides each Actor with SQLite persistence and key-value storage, with writes replicated before acknowledgement and data moved to object storage.
  • Supports idle hibernation and on-demand wake-up with Actor state preserved.
  • Includes HTTP and WebSocket access, event broadcasting, Actor-to-Actor calls, and scheduled execution.
  • Offers typed SDKs for TypeScript and Rust, plus experimental Python and Swift clients.
  • Runs Actor code on native Node.js, Bun, or Rust rather than requiring a custom runtime.
  • Can be run locally, self-hosted, deployed through Rivet Cloud, or operated in a customer's cloud through BYOC.

Use Cases

  • AI agent developers can keep an Actor per agent or session to preserve memory and handle scheduled work across restarts.
  • Teams building collaborative apps can assign Actors to rooms or documents and broadcast updates to connected clients.
  • Agent-platform builders can isolate generated backends or untrusted code in separate Actors with their own state.
  • Developers implementing multi-step operations can use durable workflows that resume or replay rather than restarting from scratch.

What you need

Detected in the repository

  • Node.js >=20 (from package.json)
  • Rust (from Cargo.toml)
  • Automated checks on GitHub Actions

License in plain words

Apache-2.0permissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license, the NOTICE file and a note of your changes
  • Share your changes: no
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

For a Node.js or Bun project, install the SDK:

npm install rivetkit@next

See the README and quickstart documentation for setup and deployment details.

Considerations

Rivet is active, with frequent commits and releases, and contributions come from multiple developers rather than being concentrated in one person. Its latest release is a preview, however, and the repository has a substantial open issue backlog, so teams should validate the APIs and operational model against their needs before committing. Self-hosting requires operating control-plane instances, persistent disks, and an object-storage bucket; Actor applications also need a supported runtime. The repository's Python and Swift clients are explicitly experimental.

Found this useful?

Share it with someone who would like rivet.