SuperAPI AI 工具集

convex-backend

Convex 是面向应用开发者的开源响应式数据库,提供数据库、服务器函数编写位置及客户端库,可使用纯 TypeScript 获取数据并执行业务逻辑,实现强一致性。它支持构建和扩展动态实时更新应用,云端提供免费套餐,也支持自托管(Docker 或预编译二进制),自托管包含仪表盘和 CLI 等大部分云功能。

访问官网

工具介绍

Convex 是一个开源响应式数据库,专为 Web 应用开发者(包括人类和 LLM)设计,旨在简化开发工作。它通过纯 TypeScript 编写数据获取和业务逻辑,并保证强一致性。Convex 提供数据库、服务器函数编写位置和客户端库,帮助开发者轻松构建和扩展动态实时更新应用。

主要能力:

  • 响应式数据库:数据变更自动实时更新到客户端。
  • 纯 TypeScript 编写业务逻辑:查询和变更使用用户定义函数(UDF)。
  • 强一致性:数据操作保证一致性。
  • 云端平台:提供慷慨的免费套餐,适合小型应用和副项目零成本运行。
  • 自托管:包含仪表盘和 CLI 等大部分云功能,可与 Neon、Fly.io、Vercel、Netlify、RDS、Sqlite、Postgres 等工具配合使用。
  • 部署方式:推荐使用 Docker,也可使用预编译二进制。

使用方式:

  • 入门:访问官方文档查看指南。
  • 云端:使用 Convex 云平台快速构建。
  • 自托管:参考自托管指南,可使用 Docker 或预编译二进制。社区支持在 Discord 的 #self-hosted 频道。
  • 从源码构建:不推荐,若选择请参考自托管指南,并确保更改实例密钥和管理密钥。
  • 自托管构建包含一个信标(beacon)以帮助改进产品,信息匿名且最小化,可通过 --disable-beacon 标志禁用。信标消息包括:部署的随机标识符(不用于其他地方)、数据库迁移版本、后端 Git 版本、后端运行时间。

适用场景:

  • 需要实时数据更新的 Web 应用。
  • 希望用 TypeScript 统一前后端逻辑的项目。
  • 小型应用和副项目可利用免费套餐零维护运行。
  • 需要自托管或与现有工具集成的场景。

限制:

  • 开源版本不包含内部测试框架。
  • 在 Linux 和 Mac 上测试最充分,Windows 经验较少。
  • 自托管时需注意更改默认的实例密钥和管理密钥。
  • 信标可禁用,但默认开启。

仓库布局:

  • crates/:Rust 代码。主二进制 local_backend/ 是运行时的应用服务器,作为 Convex 云的 serving edge。
  • npm-packages/:公共和内部 TypeScript 包。内部包中 udf-runtime/ 设置用户定义函数的 JS 环境;system-udfs/ 包含 Convex 系统使用的函数(如 CLI)。

社区与支持:可通过 Discord 获取帮助,通过 GitHub Issues 报告问题。提交 PR 即表示确认 Convex 可按照其选择的条款使用、修改、复制和重新分发贡献。