Podverse 是一个为播客带来 AI 增强能力的 Web 应用,项目定位为展示如何利用 AI 能力构建全栈 Web 应用。
主要能力:
- 通过提供播客的 RSS 订阅源 URL 导入播客。
- 使用 Deepgram 自动生成文字转录。
- 自动生成 AI 说话人分离和说话人识别。
- 自动生成 AI 单集摘要。
- LLM 驱动的聊天机器人,采用 RAG(检索增强生成)。
- 针对播客转录、元数据和摘要的全文搜索。
使用方式: 用户通过 RSS 订阅源 URL 导入播客后,系统会自动处理生成转录、说话人识别和摘要。用户可以使用 LLM 聊天机器人进行问答,并利用全文搜索查找播客内容。
技术架构: Podverse 采用完全无服务器架构,使用 Next.js 构建,可部署到 Vercel。样式使用 TailwindCSS,UI 组件使用 ShADCN。
依赖服务:
- Supabase:后端数据库
- Clerk:身份验证
- Inngest:后台数据处理
- Deepgram:转录生成
- OpenAI 模型:LLM
- Stripe:账单支付
- Mailgun:发送邮件
本地部署与开发(基于官方说明): 确保已安装 npm 和 yarn。 克隆仓库。 运行 yarn 安装所有依赖包。
环境设置(假设部署到 Vercel):
- 为部署创建 Vercel 项目。
- 向 Vercel 项目添加 Supabase 和 Inngest 集成,这会添加 Supabase、Inngest 和 Postgres 所需的环境变量。
- 创建 OpenAI API 密钥,并将其作为环境变量 OPENAI_API_KEY 添加到 Vercel 项目的环境变量中。
- 创建 Deepgram API 密钥,并将其作为环境变量 DEEPGRAM_API_KEY 添加到 Vercel 项目的环境变量中。同时将密钥标识符添加为 DEEPGRAM_API_KEY_IDENTIFIER。
- 创建 Clerk API 密钥,并将环境变量 CLERK_SECRET_KEY 和 NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY 添加到 Vercel 项目。
- 创建 Mailgun API 密钥,并将环境变量 MAILGUN_DOMAIN 和 MAILGUN_API_KEY 添加到 Vercel 项目。
- 可选:如需启用账单支付,可设置 Stripe 账户,并设置环境变量 NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY、STRIPE_SECRET_KEY 和 STRIPE_WEBHOOK_SECRET。
数据库初始化: supabase-schema.sql 文件包含 Podverse 的 Supabase schema 导出(使用 supabase db dump 生成)。初始化 Supabase 项目后,可使用该文件恢复。
本地开发: 创建 packages/webapp/.env.local 文件,包含所需值。 运行服务。 注意:后台处理任务(例如导入新播客)使用 Inngest 执行。本地运行时,也需要在本地运行 Inngest 开发服务器。
帮助与支持: 如有问题或需要帮助,请提交 issue。