AI 全栈 SaaS 样板
基于 Fastify、tRPC 和 React 的全栈 SaaS 样板,集成 AI 聊天与认证功能,快速启动您的项目。
- Star 数
- ★ 1.4k
- 最近更新
- 10 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 20/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望快速搭建包含认证和支付等基础功能的 SaaS 应用的开发者。
- 不适合
- 需要 SEO 友好、面向内容或营销站点的团队
- 希望避免 Fastify/tRPC 技术栈绑定的团队
这个 Agent 能做什么,适合哪些场景?
这是一个开源的 SaaS 样板项目,采用 Fastify、tRPC 和 React 构建,提供类型安全的端到端开发体验。它集成了 Drizzle ORM 管理 PostgreSQL 数据库,并内置 Better Auth 作为认证方案。项目支持 AI 聊天功能,通过 Server-Sent Events (SSE) 实现流式响应,无需 WebSocket。尽管名为“AI”,它并非提供现成的 Agent 能力,而是提供 AI 集成的基础设施,如 OpenAI 客户端接入。该项目专注于快速搭建全栈 Web 应用,前端为静态文件,便于部署到云存储。
项目通过 pnpm 工作空间管理客户端和服务端代码。服务端基于 Fastify,使用 tRPC 提供类型安全的 API,并与 Drizzle ORM 配合操作 PostgreSQL 数据库。它实现了基于 SSE 的聊天端点,能够将 OpenAI 的流式响应推送给前端。客户端使用 React 19 和 Tailwind CSS v4 构建,包含登录注册界面、搜索防抖、健康检查等功能,并通过 Better Auth 实现用户认证。
- 希望快速搭建包含认证和支付等基础功能的 SaaS 应用的开发者。
- 需要在 React 前端和 Node.js 后端之间实现类型安全 API 的团队。
- 想集成 AI 聊天功能,但希望避免配置 WebSocket 的开发者。
- 需要一个不使用 Next.js、前端可静态化部署的全栈模板的开发者。
- 希望学习 tRPC、Fastify 和 Drizzle ORM 如何协同工作的开发者。
如何安装或部署这个 Agent?
确保已安装 pnpm(npm install -g pnpm)和 PostgreSQL。将 example.env 重命名为 .env 并填写凭据(服务端和客户端各一个)。创建数据库:psql -U user 后执行 CREATE DATABASE fsb;。在项目根目录运行:pnpm install、pnpm run push 设置数据库 schema,pnpm run seed 填充种子数据。
如何使用这个 Agent?
安装后,在项目根目录运行 pnpm run dev,它会同时启动客户端和服务端。服务端提供健康检查端点(如 http://localhost:2022/health.trpc)。要构建生产版本,运行 pnpm run build 和 pnpm run start。测试需要应用运行中,执行 pnpm run test 运行端到端测试。
这个 Agent 有哪些优点和局限?
- 使用 tRPC 实现端到端类型安全,减少 API 集成错误。
- 前端无需 Next.js,可部署为静态文件,易于托管在 S3 等对象存储。
- 基于 SSE 的聊天功能简化了 AI 流式响应的实现。
- 集成了多种主流工具(Drizzle、Better Auth、Tailwind v4),开箱即用。
- 并非 SEO 友好,不适用于需要搜索引擎优化的传统网站。
- 依赖特定技术栈(Fastify、tRPC、Drizzle),迁移成本较高。
- 示例中使用的开源数据库和免费托管服务有资源限制,可能影响性能。
- 项目尚在早期阶段,可能存在未文档化的边界情况。
这个 Agent 与同类方案有什么区别?
与 T3 App (create.t3.gg) 相比,此项目避免使用 Next.js,使前端可以静态部署,更专注于构建 Web 应用而非 SEO 网站。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AI 全栈 SaaS 样板 当前 | 20 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.4k | 10 天前 | TypeScript | — |
| Sandbox Agent | 67 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 1.6k | 5 天前 | TypeScript | Codex · Claude Code |
| SGR Agent Core | 56 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 1.1k | 1 个月前 | Python | OpenAI API |
| Atmosphere JVM 实时智能体引擎 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.8k | 1 天前 | Java | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示这是一个全栈SaaS样板,包含认证、数据库和外部API调用,但没有提供权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的证据。因此所有信任标准得分为0。
自一致性:README和package.json中的脚本名称一致,但测试文件中有注释掉的代码,表明测试不完整。依赖可用性:列出了依赖,但没有锁定文件或版本范围,可能不稳定。失败消息:没有提供错误处理或用户友好错误消息的证据。
受众和场景:README描述了目标受众和用例。能力边界:说明了不是SEO友好的,但未明确边界。触发精度:没有定义触发条件。环境适配:提供了安装说明,但未提及环境变量配置细节。
信息架构:有清晰的目录结构。安装说明:提供了详细的安装步骤。命名稳定性:项目名称和包名一致。示例和FAQ:有示例和演示,但没有FAQ。已知限制:提到了不是SEO友好的。许可证:MIT许可证。版本变更日志:没有CHANGELOG。维护责任:有贡献指南和赞助链接。
输出可用性:提供了演示和截图。边际价值:提供了独特的特性,如SSE聊天。成本效益:免费开源,但未提供性能或成本分析。
声明可追溯性:README中的声明与代码部分对应。跨来源佐证:没有外部验证。事实与推断分离:README区分了事实和推断。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 测试文件中有注释掉的代码,表明测试可能不完整。
- 没有提供依赖锁定文件,可能导致依赖不一致。
- 未提供安全审计或依赖漏洞扫描的证据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。