Convex 是一款开源响应式数据库,旨在让 Web 应用开发变得轻松,无论是人类开发者还是 LLM(大语言模型)。通过编写纯 TypeScript 代码即可实现数据获取和业务逻辑,并能以强一致性保证运行。它提供了数据库、执行服务器函数的环境以及客户端库,使构建和扩展动态实时更新的应用程序变得简单。
访问我们的文档以了解有关 Convex 的更多信息,并按照入门指南开始学习。使用 Convex 云平台构建应用是最简单的方式,其中包含慷慨的免费层,让你无需担心基础设施。许多小型应用程序和边角项目可以在完全免费的情况下运行,且无需维护。
自托管版本包括云产品中的大多数功能,例如仪表盘和 CLI 工具。自托管 Convex 适用于多种工具,包括 Neon、Fly.io、Vercel、Netlify、RDS、Sqlite 和 Postgres 等。你可以使用 Docker(推荐)或预编译二进制文件来自托管 Convex。查看我们的自托管指南以获取详细说明。社区对自托管的支持可在 Discord 的 #self-hosted
频道中获得。
Convex 后端开发由 Convex 团队领导。我们欢迎任何bug 修复并乐于接受反馈。我们将此仓库与内部开发工作保持同步,间隔不超过几天。阅读文档以了解更多信息。
crates/
包含 Rust 代码
local_backend/
是基于 Runtime
的应用服务器,用于 Convex 云服务。npm-packages/
包含公开和内部的 TypeScript 包。
udf-runtime/
设置用户定义函数(UDF)的 JavaScript 运行时环境,用于执行业务逻辑。udf-cli/
提供与 UDF 执行相关的命令行工具。文档中未提及许可证相关信息。
参见BUILD.md。
⚠️ 重要提示
- 如果你选择自托管,请按照自托管指南进行操作。如果你是从源代码构建,则确保更改实例密钥和管理员密钥,不要使用仓库中的默认值。
- Convex 在 Linux 和 Mac 上经过了最全面的测试。在 Windows 上,经验较少。如果你遇到问题,请在 Discord 的
#self-hosted
频道中与我们联系。- 自托管版本的 Convex 包含一个信标,用于帮助 Convex 改进产品。信息量很小且匿名,并且对 Convex 有帮助,但如果你确实想禁用它,请在后端二进制文件上设置
--disable-beacon
标志。信标的日志输出包括:
- 你部署的随机标识符(不用于其他地方)
- 数据库迁移版本
- 后端的 Git 版本
- 后端的运行时间