open-compute Vibe 项目
单机版 Cloudflare Workers 兼容运行时(一 Rust 二进制)
项目简介
open-compute 是一个自托管、兼容 Cloudflare Workers 编程模型的单机平台。作者在长期给金融、政企、医疗客户做 ToB 私有化交付时,发现 Cloudflare Workers + KV + D1 + R2 + Durable Objects 这一整套体验好、生态丰富,可一旦遇到「不能访问外网 / 数据必须留内网」的项目,又得退回 K8s + MinIO + Redis + 任务调度的传统路径;于是他把 Workers 运行时、网关、KV、D1、R2、Durable Objects、Queues、Workflows、Cache、Images、Vectorize、AI Search、Static Assets 和 Service Bindings 全部塞进了一个 Rust 二进制,目标是一台机器一分钟跑起来。
核心功能
- 兼容 Cloudflare Workers 编程模型:底层使用 Cloudflare 官方的 workerd 运行时,开发者用熟悉的写法直接落地,不再被 K8s 绑架。
- 零迁移成本复用生态:现有 Wrangler 配置、Bindings、框架适配器一行不改即可迁移;官方 SDK、wrangler CLI 等工具链保持兼容。
- 单机一体化存储 / 队列 / 调度:元数据用 SQLite,对象数据默认本地存储,可外接任意 S3 兼容存储,免去先搭一套数据库 + 缓存 + 对象存储的繁琐。
- 完整能力矩阵:Workers、KV、D1、R2、Durable Objects、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search、Static Assets、Service Bindings 全部支持;单机部署下的行为差异在官网产品矩阵中明确列出。
- 企业交付验证:作者已在客户 ToB 业务里把它作为 Agent Sandbox 和生成式应用的运行容器使用一段时间后才开源。
技术实现
open-compute 的核心是一个 Rust 编写的守护进程,对外提供与 Cloudflare 兼容的 HTTP / Workers API。请求进入网关后被转译到 workerd 内部运行,KV / D1 等模块以本地实现替换 Cloudflare 原版 API,但接口签名保持一致——这让使用 wrangler 部署的应用直接切换部署目标即可运行。对象存储默认落在本地文件系统或外接 S3,Durable Objects 状态由 SQLite + 本地文件承担,Queues / Workflows / Cron 由进程内调度器执行。整套架构刻意做成「一个二进制 + 一个守护进程 + 隔离实例」,既保留 Cloudflare 的开发体验,又把代码、数据、运行环境全部锁在单机或内网里。
快速上手
- 从 Releases 下载与平台匹配的二进制(macOS / Linux,lightgrey 验证)。
- 准备一个目录作为工作目录,执行
./open-compute init生成配置文件与本地 SQLite / 对象存储目录。 - 在配置文件中开启需要的模块(Workers、KV、D1、R2、DObjects、Workflows 等)。
- 把现有 Cloudflare Workers 项目的
wrangler.toml指向 open-compute 实例,复用现有 Bindings 与适配器。 - 执行
./open-compute deploy ./your-worker把 Worker 装载进本地运行时,再用 wrangler CLI 调用部署好的接口验证。 - 企业内网场景下,把二进制 + 工作目录通过常规运维流程分发到客户机器,配合 systemd / supervisor 守护。
适用人群
需要把 Cloudflare Workers 项目私有化部署到金融、政企、医疗等内网环境的 ToB 交付工程师;希望保留 Serverless 开发范式、但又想把代码与数据锁在自己机器上的独立开发者;以及正在搭建 Agent Sandbox / 生成式应用运行容器、想要一个轻量 Workers 兼容底座的 AI Infra 团队。
评论与建议
登录 后参与评论或提建议