首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

启动 HN:Rivet (YC W23) – 在 S3 上扩展和编排代理

摘要

Fast, high-density, scalable orchestration with Rivet Actors. Built on S3 at SSD speeds. 4.99 ms p99 cold starts, 72 KB RAM per Actor, scales to billions Quickstart • Documentation • Changelog • Disco...

and await messages Actor for the agent const SQLite execute
2026-11-06 1 阅读 约9分钟阅读 NathanFlurry
分享:
字号:
使用 Rivet Actors 进行快速、高密度、可扩展的编排。以 SSD 速度构建于 S3 之上。 4.99 毫秒 p99 冷启动,每个 Actor 72 KB RAM,可扩展到数十亿 快速入门 • 文档 • 变更日志 • Discord • X Rivet 是一个基于 Actor 模型构建的代理工作负载的编排器。每个 Rivet Actor 都是一个长期存在的进程,具有内存状态、SQLite 数据库、用于实时的 WebSockets 和调度,并通过键寻址。为每个代理、会话、用户或租户创建一个,并在普通 Node.js、Bun 或 Rust 上运行它。每个 Actor 72 KB:Actor 共享一个节点进程,而不是每个启动一个沙箱,因此一台服务器可以容纳数十万个。 4.99 毫秒 p99 冷启动:无映像拉取且无 VM 启动。由 S3 支持的 SQLite,SSD 速度:p99 时持久写入 1.07 毫秒,读取 1.36 毫秒,比复制 SSD 存储少约 10.4 倍。空闲时休眠:空闲 Actor 不产生任何成本,并在下一个请求时唤醒,不会丢失任何内容。后端从“rivetkit”导入 { actor } ;从“rivetkit/db”导入 { db } ; const agent = actor ( { // 每个 Actor SQLite 数据库,在重新启动和休眠期间保留 db : db ( { onMigrate : async ( db ) => { // 应用 SQLite 模式 wait db .execute ( `CREATE TABLE IF NOT EXISTS messages (role TEXT, content TEXT)` ) ; } , } ) , actions : { chat : async ( c , text : string ) => { // 持久保存消息 wait c .execute ( "INSERT INTO messages VALUES (?, ?)" , "user" , text ) ; const messages = wait c .execute ( "SELECT role, content FROM messages" ) ; const response = streamText ( { model : openai ( "gpt-5" ) , messages } ) ; multiplayer for wait ( const delta of response . textStream ) { c .broadcast ( "token" , delta ) ; // 持久保存响应 wait c .execute ( "INSERT INTO messages VALUES (?, ?)" , wait response . text ) ;客户端(前端或后端) // 连接到 Actor const agent = client .代理人 。 getOrCreate(“agent-123”)。连接 ( ) ; // 监听实时事件代理。 on ( "token" , delta => process . stdout . write ( delta ) ) ; // 在 Actor 上调用一个动作等待代理。聊天(“草莓中有多少个R?”);与您的编码代理一起使用 将此提示粘贴到 Claude Code、Cursor、Codex 或任何编码代理中:运行 npx Skills add rivet-dev/skills,然后询问我要在本地构建并运行它。 Rivet 发布的每个产品都是一个 Actor,由同一控制平面调度。参与者:内置状态、实时和调度的长寿命进程。代理:每个代理都有一个持久进程,具有在重新启动后仍然存在的内存。工作流程:重播而不是重新开始的多步骤操作。 agentOS :安全地运行代理编写的代码,并对网络访问、文件系统访问和资源限制进行精细控制。动态应用程序(预览版):每个用户的后端,在生成时部署。专为代理所需的一切而构建 编码代理:每个代理一个 Actor,具有持久的进程和状态,可以在重新启动后继续存在。代理应用程序构建器:每个生成的后端都部署为自己的 Actor,可扩展到零。 VPC 中的代理:在数据库和 API 旁边运行代理,这样数据就不会离开您的云。实时应用程序:每个文档、房间或频道有一个 Actor,向每个客户端广播更改。 Actor 与沙箱的比较 公制 Rivet Actor 沙箱冷启动 (p99) 4.99 ms 1.70 s 每个实例内存 72.4 KB 512 MiB 每个沙箱 S3 磁盘上的存储 SQLite 存储成本便宜 10.4 倍 复制 SSD 基准详细信息和方法 Rivet 数字来自已发布的 Rivet Actors 与 Cloudflare Durable Objects 基准,在 Rivet 上运行3.0.3。它的存储库包含原始样本和重现它们的脚本。沙箱编号是记录的默认内存分配和第三方冷启动基准。存储成本按 AWS 标价将 S3 Standard 与三个 Amazon EBS gp3 副本进行比较。来源、日期和完整方法位于 rivet.dev/docs/benchmarking 。容错性:如果一个节点出现故障,它的 Actor 会在状态完好无损的情况下移动到其他地方。 HTTP 和 WebSocket 网络:通过 HTTP 调用 Actor 或为其保留实时 WebSocket。端到端类型安全:后端的类型化客户端和前端的 React hook。 Cron 和调度:按计划或在它自己设定的时间唤醒 Actor。 Actor 到 Actor 的调用:Actor 在集群中通过键相互调用。 OpenTelemetry:OTel 格式的跟踪、指标和日志。选项 描述 开始使用 本地和自托管 在构建时在本地运行 Rivet。在生产中,在 Docker、Kubernetes 或 VM 上运行控制平面。 S3 是唯一的依赖项。自托管文档 Rivet Cloud 在任何区域的 AWS 或 GCP 上完全托管的专用集群。在 Rivet Cloud 上运行您的节点或自带节点。仪表板 BYOC 控制平面在 AWS、GCP 或 Azure 上您自己的 VPC 内运行,由 Rivet 完全管理。您的数据永远不会离开您的云。 BYOC 文档 每个选项都运行相同的控制平面,从本地开发到产品
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱