lokeswaran-aj/open-fiesta

GitHub: lokeswaran-aj/open-fiesta

一个集成并实时对比200多种AI模型输出的聊天应用,帮助用户为特定任务选择最佳AI模型。

Stars: 25 | Forks: 8

# 开放 Fiesta **Open Fiesta** 是一款AI聊天应用,集成了OpenAI、Gemini、Claude、Perplexity、Deepseek和Grok等200多种AI模型。您可以实时并排比较多个AI模型的回复,并为每项任务选择最佳AI。 ## ✨ 功能特性(规划中 & 开发中) - [x] 具备**实时AI流式传输**的现代聊天界面 - [x] **多模型并行聊天**:同时与ChatGPT、Claude、Gemini、Grok等对话 - [x] 通过Better Auth实现**身份验证** - [x] **API密钥管理**,支持AIMLAPI、OpenRouter和Vercel AI Gateway - [x] 聊天记录**持久化存储于Postgres** - [ ] 聊天AI模型参数设置,如temperature、top-p、frequency penalty等 - [ ] 基于IndexedDB的**本地优先存储**,快速访问近期聊天记录 - [ ] (未来)可分享聊天记录 / 导出为Markdown或PDF格式 ## 🛠️ 技术栈 - Next.js - TypeScript - Tailwind CSS - Shadcn UI - Vercel AI SDK - Vercel AI Gateway - OpenRouter - PromptKit - Better Auth ## 🚀 本地开发设置 ### 前置条件 在本地设置Open Fiesta前,请确保已安装以下内容: ### 1. 克隆仓库 ``` git clone https://github.com/lokeswaran-aj/open-fiesta.git cd open-fiesta ``` ### 2. 安装依赖 ``` pnpm install ``` ### 3. 环境配置 将`.env.example`文件复制为`.env`并填写对应值: ``` cp .env.example .env ``` ### 4. 数据库设置 使用Docker Compose启动PostgreSQL数据库: ``` docker-compose up -d ``` 数据库将在`localhost:5432`上可用,配置如下: - 数据库:`postgres` - 用户名:`postgres` - 密码:`password` ### 5. 数据库迁移 生成并运行数据库迁移: ``` # 生成 migration 文件(如果 schema 变更) npx drizzle-kit generate # 将 migration 应用到数据库 npx drizzle-kit migrate ``` ### 6. API密钥设置 #### AI网关与模型 1. **AIMLAPI**:在[aimlapi.com](https://aimlapi.com/)注册以访问多种AI模型 2. **Vercel AI Gateway**:从[Vercel AI Gateway](https://vercel.com/docs/ai-gateway)获取您的网关密钥 #### 身份验证提供商(可选) **GitHub OAuth:** 1. 前往 [GitHub Settings > Developer settings > OAuth Apps](https://github.com/settings/applications/new) 2. 创建新的OAuth应用,填写以下信息: - 应用名称:`Open Fiesta Local` - 主页URL:`http://localhost:3000` - 授权回调URL:`http://localhost:3000/api/auth/callback/github` 3. 将Client ID和Client Secret复制到您的`.env`文件中 **Google OAuth:** 1. 前往 [Google Cloud Console](https://console.developers.google.com/) 2. 创建新项目或选择现有项目 3. 启用Google+ API 4. 进入凭证 > 创建凭证 > OAuth客户端ID 5. 配置同意屏幕 6. 设置授权的重定向URI:`http://localhost:3000/api/auth/callback/google` 7. 将Client ID和Client Secret复制到您的`.env`文件中 ### 7. 运行开发服务器 ``` pnpm dev ``` 在浏览器中打开 [http://localhost:3000](http://localhost:3000) 即可看到本地运行的Open Fiesta!🎉 ### 8. 可用脚本 - `pnpm dev` - 使用Turbopack启动开发服务器 - `pnpm build` - 构建生产环境应用 - `pnpm start` - 启动生产服务器 - `pnpm lint` - 运行Biome代码检查 - `pnpm format` - 使用Biome格式化代码 ### 故障排除 **数据库连接问题:** - 确保Docker正在运行且PostgreSQL容器状态健康 - 检查端口5432是否可用(未被其他服务占用) - 验证`.env`文件中的`DATABASE_URL`配置正确 **身份验证问题:** - 仔细检查OAuth应用配置 - 确保回调URL完全匹配 - 验证`BETTER_AUTH_SECRET`已设置且具有足够的随机性 **AI响应缺失:** - 验证您的API密钥正确且具有足够额度 - 检查AI网关配置 - 查看浏览器控制台和服务器日志中的错误信息 ## 🤝 参与贡献 Open Fiesta仍处于**早期开发阶段**。非常欢迎您的贡献! - 查看 [Issues](https://github.com/lokeswaran-aj/open-fiesta/issues) 页面 - 提交改进的PR - 在讨论区分享反馈/想法 ## 📜 许可证 Open Fiesta采用**Apache License 2.0**许可。 完整详情请参阅 [LICENSE](LICENSE)。
Lokeswaran Aruljothy 用 ❤️ 构建
标签:AI模型响应对比, AI聊天应用, API密钥管理, Docker容器化, Drizzle Kit ORM, Next.js框架, OpenRouter集成, PostgreSQL数据库, Shadcn UI组件库, Tailwind CSS, TypeScript语言, Vercel AI SDK, 人工智能技术, 任务优化, 共享聊天, 多模型集成, 实时流式传输, 实时聊天, 导出功能, 并行处理, 本地存储, 模型比较工具, 测试用例, 用户认证, 聊天历史管理, 自动化攻击