Erlang/OTPに着想を得たGo向けアクターモデルフレームワーク。監視機能とネットワーク透過性を備えた分散システムを構築できます。
rivet-dev/rivet
Rivetは、Podベースのスケジューリングに代わる、エージェント、ワークフロー、リアルタイムアプリ向けの永続状態を持つActorをスケジュールするオープンソースのオーケストレーターです。
代替できる製品:Cloudflare Durable Objects
- スター
- 6,322
- フォーク
- 280
- 未解決の Issue
- 350
- 最終コミット
- 14 時間前
これは何?
Rivetは、永続状態、SQLiteデータベース、キュー、リアルタイム接続、スケジューリング機能をそれぞれ備え、キーで指定できる長時間稼働プロセスであるActorをスケジュールします。エージェント、セッション、ユーザー、テナントごとにActorを作成できます。Actorは専用のコンテナやVMではなく、通常のNode.js、Bun、Rustのワーカープロセス内で動作し、アイドル状態になると休止して次のリクエスト時に再開します。
このプロジェクトには、型付きクライアントとReact hooksを備えたTypeScript(RivetKit)およびRust SDKが含まれており、独自のランタイムを用意しなくても既存のパッケージ、ツール、テストを利用できます。コントロールプレーンは単一のRustバイナリで、PostgresまたはFoundationDBとS3への階層化ストレージを使ってセルフホストできるほか、Rivet Cloudまたは顧客のVPC内(BYOC)で実行できます。
リポジトリには、複数ステップの処理を永続化するワークフローと、信頼できない生成コードに専用のファイルシステムとシェルを提供するagentOSサンドボックスも含まれています。
主な機能
- 01Actorはアイドル時に休止し、状態を保ったまま次のリクエストで再開する
- 02ActorごとのSQLiteデータベース、またはS3に階層化されたPOSIXファイルシステム
- 03リアルタイム状態を扱うReact hooksを備えた、型付きのTypeScriptおよびRust SDK
- 04ActorへのHTTPおよびWebSocket接続と、キーによるActor間呼び出し
- 05コントロールプレーンに組み込まれたCronおよびタイムスタンプベースのスケジューリング
- 06OpenTelemetryによるトレース、メトリクス、ログ
ユースケース
- 再起動後も動作を継続する、コーディングエージェントやチャットエージェントごとの永続プロセスの実行
- ドキュメントやルームごとに、接続中のクライアントへ変更を配信するリアルタイムコラボレーション
- 専用ストレージを備えた分離されたActorでの、生成コードや信頼できないコードの実行
- 既存のデータベースやAPIの近くにある社内VPCでのエージェント基盤のセルフホスト
クイックスタート
- 1
RivetKit パッケージをインストールする
npm install rivetkit - 2
コーディングエージェントにエージェントスキルを追加する(任意)
npx skills add rivet-dev/skills - 3
ドキュメントの Node.js と Bun 向けバックエンドクイックスタートに従う
使う前に知っておきたいこと
- コールドスタート 12 ms、Actor あたり 72 KB という数値は、独立したテストではなく、プロジェクト独自のベンチマークによるものです。
- コールドスタートを高速化する方法など、一部の機能は実験的とされています。
- コントロールプレーンをセルフホストするには、Postgres または FoundationDB を実行し、インフラを自分で運用する必要があります。
トピック
よくある質問
- rivet とは?
- Rivetは、Podベースのスケジューリングに代わる、エージェント、ワークフロー、リアルタイムアプリ向けの永続状態を持つActorをスケジュールするオープンソースのオーケストレーターです。 Rivetは、永続状態、SQLiteデータベース、キュー、リアルタイム接続、スケジューリング機能をそれぞれ備え、キーで指定できる長時間稼働プロセスであるActorをスケジュールします。エージェント、セッション、ユーザー、テナントごとにActorを作成できます。Actorは専用のコンテナやVMではなく、通常のNode.js、Bun、Rustのワーカープロセス内で動作し、アイドル状態になると休止して次のリクエスト時に再開します。
- rivet は無料で使えますか?ライセンスは?
- rivet は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- rivet は今もメンテナンスされていますか?
- 活発にメンテナンス中。rivet の最終コミットは 2026年10月22日 です。
- rivet は何に使えますか?
- 再起動後も動作を継続する、コーディングエージェントやチャットエージェントごとの永続プロセスの実行 ドキュメントやルームごとに、接続中のクライアントへ変更を配信するリアルタイムコラボレーション 専用ストレージを備えた分離されたActorでの、生成コードや信頼できないコードの実行 既存のデータベースやAPIの近くにある社内VPCでのエージェント基盤のセルフホスト
- rivet のインストール方法は?
- RivetKit パッケージをインストールする: npm install rivetkit コーディングエージェントにエージェントスキルを追加する(任意): npx skills add rivet-dev/skills ドキュメントの Node.js と Bun 向けバックエンドクイックスタートに従う
- rivet はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/rivet-dev/rivet
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Auth、Database、Storageなどを備え、Dockerでセルフホストできるオープンソースのアプリ開発向けバックエンドプラットフォーム。
リトライとフロー制御に対応し、サーバーレス、サーバー、エッジでステップ関数、バックグラウンドジョブ、AIワークフローを実行する耐久性の高いワークフローエンジン。
Restateは、インフラ障害が発生しても処理を継続できる、耐障害性の高いアプリケーションを構築するためのランタイムです。
独自サーバーなしで、WebRTCによるブラウザー間のP2P接続を実現するマルチプレイヤーWebアプリ向けJavaScriptライブラリ。
Pi Durableを基盤とするセルフホスト型の個人向けAIエージェント。再起動後もタスクを再開でき、サブエージェントや定期実行、ブラウザーUI、任意のWeChat連携に対応します。