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, 人工智能技术, 任务优化, 共享聊天, 多模型集成, 实时流式传输, 实时聊天, 导出功能, 并行处理, 本地存储, 模型比较工具, 测试用例, 用户认证, 聊天历史管理, 自动化攻击