Фреймворк для Go на основе акторной модели, вдохновлённый Erlang/OTP, для создания распределённых систем с супервизией и прозрачным взаимодействием по сети.
rivet-dev/rivet
Rivet — оркестратор с открытым исходным кодом, который распределяет долговечные Actor с состоянием для агентов, рабочих процессов и приложений реального времени — альтернатива планированию на основе подов.
Open source альтернатива:Cloudflare Durable Objects
- Звёзды
- 6,322
- Форки
- 280
- Открытые issues
- 350
- Последний коммит
- 14 часов назад
Что это?
Rivet распределяет Actor — долгоживущие процессы, каждый из которых хранит устойчивое состояние, базу данных SQLite, очередь, подключения реального времени и логику планирования, а обращаться к ним можно по ключу. Можно создать отдельный Actor для каждого агента, сеанса, пользователя или арендатора. Actor работают в обычном процессе-воркере Node.js, Bun или Rust, а не в собственном контейнере или VM; простаивающие Actor переходят в спящий режим и пробуждаются при следующем запросе.
В проект входят SDK для TypeScript (RivetKit) и Rust с типизированными клиентами и React hooks, поэтому можно использовать существующие пакеты, инструменты и тесты без специальной среды выполнения. Control plane — это один бинарный файл на Rust, который можно развернуть самостоятельно с Postgres или FoundationDB и многоуровневым хранилищем на S3, либо запускать в Rivet Cloud или внутри VPC заказчика (BYOC).
В репозитории также есть workflows для долговечных многоэтапных операций и песочницы agentOS, предоставляющие недоверенному сгенерированному коду собственную файловую систему и shell.
Ключевые возможности
- 01Actor переходят в спящий режим при простое и пробуждаются при следующем запросе, сохраняя состояние
- 02Отдельная база данных SQLite или POSIX-файловая система для каждого Actor с многоуровневым хранением на S3
- 03Типизированные SDK для TypeScript и Rust с React hooks для состояния реального времени
- 04Подключения к Actor по HTTP и WebSocket, а также вызовы между Actor по ключу
- 05Планирование по cron и временным меткам встроено в control plane
- 06Трейсы, метрики и логи OpenTelemetry
Сценарии использования
- Запуск отдельного долговечного процесса для каждого агента программирования или чата, сохраняющего состояние после перезапусков
- Совместная работа в реальном времени, когда каждый документ или комната рассылает изменения подключённым клиентам
- Запуск сгенерированного или недоверенного кода в изолированных Actor с собственным хранилищем
- Самостоятельное размещение инфраструктуры для агентов внутри корпоративной VPC, рядом с существующими базами данных и API
Быстрый старт
- 1
Установите пакет RivetKit
npm install rivetkit - 2
Добавьте навыки агента для своего агента программирования (необязательно)
npx skills add rivet-dev/skills - 3
Следуйте краткому руководству по настройке бэкенда для Node.js и Bun в документации
Что важно знать
- Показатели холодного запуска в 12 мс и 72 КБ на Actor получены в собственных бенчмарках проекта, а не в независимом тестировании.
- Некоторые функции, например ускоренный путь холодного запуска, обозначены как экспериментальные.
- Для самостоятельного размещения плоскости управления потребуется запустить Postgres или FoundationDB и самостоятельно обслуживать инфраструктуру.
Темы
Частые вопросы
- Что такое rivet?
- Rivet — оркестратор с открытым исходным кодом, который распределяет долговечные Actor с состоянием для агентов, рабочих процессов и приложений реального времени — альтернатива планированию на основе подов. Rivet распределяет Actor — долгоживущие процессы, каждый из которых хранит устойчивое состояние, базу данных SQLite, очередь, подключения реального времени и логику планирования, а обращаться к ним можно по ключу. Можно создать отдельный Actor для каждого агента, сеанса, пользователя или арендатора. Actor работают в обычном процессе-воркере Node.js, Bun или Rust, а не в собственном контейнере или VM; простаивающие Actor переходят в спящий режим и пробуждаются при следующем запросе.
- rivet можно использовать бесплатно? Какая у него лицензия?
- rivet распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- rivet всё ещё поддерживается?
- Активно поддерживается. Последний коммит в rivet — 22 окт. 2026 г..
- Для чего можно использовать rivet?
- Запуск отдельного долговечного процесса для каждого агента программирования или чата, сохраняющего состояние после перезапусков Совместная работа в реальном времени, когда каждый документ или комната рассылает изменения подключённым клиентам Запуск сгенерированного или недоверенного кода в изолированных Actor с собственным хранилищем Самостоятельное размещение инфраструктуры для агентов внутри корпоративной VPC, рядом с существующими базами данных и API
- Как установить rivet?
- Установите пакет RivetKit: npm install rivetkit Добавьте навыки агента для своего агента программирования (необязательно): npx skills add rivet-dev/skills Следуйте краткому руководству по настройке бэкенда для Node.js и Bun в документации
- Где скачать rivet?
- Исходный код и инструкции по установке — на GitHub: https://github.com/rivet-dev/rivet
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Опенсорсная backend-платформа для разработки приложений с Auth, Databases, Storage, Functions, Messaging, Realtime и Hosting, которую можно развернуть самостоятельно через Docker.
Надёжный движок workflow для запуска пошаговых функций, фоновых задач и AI-workflow на serverless-платформах, серверах и edge-инфраструктуре — с повторами и управлением потоком выполнения.
Restate — среда выполнения для создания отказоустойчивых приложений с долговечным выполнением, надежной передачей сообщений и состоянием, сохраняющимися при сбоях инфраструктуры.
Библиотека JavaScript для создания многопользовательских веб-приложений с прямым P2P-подключением браузеров по WebRTC без собственного сервера.
Персональный AI-агент на базе Pi Durable для самостоятельного хостинга: продолжает задачи после перезапуска процесса, поддерживает субагентов, задачи по расписанию, веб-интерфейс и дополнительную интеграцию с WeChat.