内容
# SpeedPy
**免费、开源的 Django SaaS 样板,适用于 AI 时代。**
[](LICENSE.md)
[](https://github.com/speedpy/speedpy/stargazers)
立即开始您的下一个 SaaS 项目。建立在 Django 的坚实基础上,配备生产就绪的 API、Webhook、OAuth2 和模型上下文协议(MCP),适用于 AI 代理。永久免费,MIT 许可,任意部署。
[官网](https://speedpy.com) · [文档](https://docs.speedpy.com) · [Discord](https://speedpy.com/discord)
> ⭐ **为本仓库点赞**,如果 SpeedPy 为您节省了时间 — 它可以帮助其他开发者找到它。
## 功能
* **坚实的基础:** Django 的经过充分测试的 ORM、服务器渲染的 UI,搭配 HTMX、Alpine.js 和 TailwindCSS。
* **API 优先和集成就绪:** 使用 Django Rest Framework(DRF)构建的全面 REST API,并通过 OpenAPI 进行文档化。用于实时事件的 Webhook 引擎。
* **企业级身份验证:** OAuth2 提供商、个人访问令牌(PAT)、粒度范围和团队范围资源。
* **为 AI 时代而构建:** 开箱即用的 MCP 服务器模板、第一方 CLI 和预写的代理配方,帮助 AI 编码助手编写集成。
* **多租户 SaaS:** 团队、角色和邀请开箱即用,具备智能基于角色的权限。
* **后台任务:** 用于异步处理的 Celery 集成。
* **安全第一:** 多因素身份验证(OTP)和加密数据库字段。
* **12 因素应用:** 使用环境变量进行配置。
## 快速开始
### 要求
* Linux 或 macOS
* 已安装并配置 Git
* 以下环境之一:
* **Docker 模式:** Docker 和 Docker Compose
* **本地模式:** [`uv`](https://docs.astral.sh/uv/) 和 Node.js(LTS)
### 安装
如果您尚未克隆仓库,可以使用单行下载和启动脚本:
```bash
wget -qO- https://speedpy.com/install | bash
```
如果您已经克隆了仓库,请选择一种模式,并在项目根目录中运行匹配的初始化脚本:
```bash
# Docker Compose:Postgres + Redis + Celery + nginx 媒体
bash init-docker.sh
# 主机上的 uv + npm:SQLite,无 Redis,Celery 在 always-eager 模式下
bash init-local.sh
```
### 运行项目
**本地模式(uv):**
在一个终端中启动开发服务器,在另一个终端中启动 Tailwind 监视:
```bash
uv run bash dev.sh
npm run tailwind:watch
```
**Docker 模式:**
`web` 服务会自动运行 `bash dev.sh`。使用以下命令启动所有服务:
```bash
docker compose up -d
```
## 文档
详尽的文档可在 [docs.speedpy.com](https://docs.speedpy.com) 访问。
关键文档页面:
* [安装和要求](https://docs.speedpy.com/installation)
* [项目布局](https://docs.speedpy.com/project-layout)
* [身份验证](https://docs.speedpy.com/authentication)
* [API 参考](https://docs.speedpy.com/api)
* [Webhook](https://docs.speedpy.com/webhooks)
* [集成](https://docs.speedpy.com/integrations)
* [团队](https://docs.speedpy.com/teams)
* [部署](https://docs.speedpy.com/deployment)
## 项目结构
SpeedPy 使用单应用 Django 项目布局。大多数代码将位于 `mainapp` 目录中,该目录被组织为一系列 Python 包,而不是单个文件(例如,`mainapp/models/`、`mainapp/views/`、`mainapp/forms/`)。
一个单独的 `usermodel` 应用处理具有基于电子邮件的身份验证的自定义用户模型。
## 生产就绪
在部署到生产环境之前,请确保删除演示内容和占位页面。请参阅仓库中的 `PRODUCTION_READY.md` 文件或[生产就绪](https://docs.speedpy.com/production-readiness)文档,获取完整的检查清单。
## 部署
SpeedPy 包含一个 `appliku.yml` 文件,用于与 [Appliku](https://appliku.com) 进行自动配置。请参阅[部署文档](https://docs.speedpy.com/deployment),获取有关设置应用程序、数据库和后台工作器的详细说明。
## 许可证
SpeedPy 在 [MIT 许可证](LICENSE.md)下发布。
捆绑的 Inter 字体(`static/fonts/Inter-SemiBold.ttf`,用于生成 Open Graph 图片)单独在 [SIL Open Font License 1.1](static/fonts/OFL-Inter.txt)下获得许可。