Open-Fiesta
综合介绍
Open-Fiesta 是一个开源的 AI 聊天平台,基于 Next.js 14 开发,支持多种 AI 模型和提供商,如 OpenRouter(包括 DeepSeek R1、Llama 3.3、Qwen 等)和 Gemini。用户可以同时选择最多 5 种模型进行对话,比较不同模型的输出结果。它提供简洁的界面,支持键盘提交、流式响应、图像附件(仅限 Gemini)和可选的网页搜索功能。项目使用 TypeScript 和 Tailwind CSS,确保代码规范和界面美观。Open-Fiesta 适合开发者、AI 爱好者和需要对比模型输出的用户,代码完全开源,遵循 MIT 许可证,欢迎社区贡献。
功能列表
- 多模型支持:集成 OpenRouter(支持 DeepSeek R1、Llama 3.3、Qwen、Mistral 等)和 Gemini,允许用户选择最多 5 种模型进行对话。
- 并排比较输出:支持同时运行多个模型,方便用户比较不同模型的回答。
- 网页搜索功能:每条消息可单独开启网页搜索,增强回答的实时性和准确性。
- 图像附件支持:Gemini 模型支持上传图像作为输入,适合需要图像分析的场景。
- 简洁用户界面:支持键盘提交,流式响应,提供流畅的交互体验。
- API 规范化:后端处理 DeepSeek R1 等模型的输出,移除推理标签,将 Markdown 转为纯文本,提升可读性。
- 开源与可扩展:基于 MIT 许可证,代码公开,鼓励社区贡献新功能和模型。
使用帮助
安装流程
- 克隆仓库在 GitHub 上访问 Open-Fiesta 仓库,点击 “Fork” 按钮,将仓库 fork 到自己的 GitHub 账户。然后克隆到本地:
git clone https://github.com/<你的用户名>/Open-Fiesta.git cd Open-Fiesta
- 安装依赖确保本地已安装 Node.js(建议版本 18 或以上)。在项目根目录运行以下命令安装依赖:
npm install
- 配置环境变量在项目根目录创建
.env.local
文件,添加以下 API 密钥:OPENROUTER_API_KEY=your_openrouter_api_key GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_api_key
- 获取
OPENROUTER_API_KEY
:访问 OpenRouter,注册并生成 API 密钥。 - 获取
GOOGLE_GENERATIVE_AI_API_KEY
:访问 Google AI Studio,生成 Gemini 模型的 API 密钥。 - 如果不想在
.env.local
中配置密钥,也可以在 UI 的设置面板中输入密钥。
- 获取
- 运行开发服务器安装完成后,运行以下命令启动本地开发服务器:
npm run dev
打开浏览器,访问
http://localhost:3000
,即可看到 Open-Fiesta 的界面。 - 代码检查与构建在提交代码或部署前,运行以下命令检查代码规范和构建项目:
npm run lint npm run build
使用方法
- 访问界面:启动后,浏览器会显示 Open-Fiesta 的主界面,包含聊天框、模型选择器和设置面板。
- 选择模型:
- 在界面顶部或设置面板中,选择 AI 模型(最多 5 个)。可用模型包括 OpenRouter 的 DeepSeek R1、Llama 3.3、Qwen 等,以及 Gemini。
- 点击模型名称即可切换或添加模型。
- 输入消息:
- 在聊天框输入问题或指令,按回车键或点击发送按钮提交。
- 支持流式响应,模型会逐步返回结果。
- 使用网页搜索:
- 每条消息旁边有一个搜索开关,开启后,系统会结合网页搜索结果生成回答。
- 上传图像(仅限 Gemini):
- 在聊天框旁边,点击图像上传按钮,选择本地图片。
- 上传后,Gemini 模型会分析图像并结合文本输入生成回答。
- 比较模型输出:
- 选择多个模型后,界面会并排显示每个模型的回答,方便比较差异。
- 调整设置:
- 在设置面板中,可以输入或更新 API 密钥,调整模型参数(如温度、最大输出长度)。
功能操作流程
- 多模型对话:
- 打开模型选择器,选择 2-5 个模型(如 DeepSeek R1 和 Gemini)。
- 输入问题,例如“解释量子力学的基本原理”。
- 系统会同时向所选模型发送请求,并将结果并排显示。
- DeepSeek R1 的输出会自动移除推理标签,转换为纯文本,易于阅读。
- 网页搜索增强:
- 对于需要最新信息的提问(如“2025 年科技趋势”),打开消息旁边的搜索开关。
- 系统会调用外部搜索 API,结合搜索结果生成更准确的回答。
- 图像分析:
- 使用 Gemini 模型时,点击聊天框旁边的图像图标。
- 上传图片(支持 PNG、JPEG 等格式),并输入相关问题,如“描述这张图片的内容”。
- Gemini 会分析图像并返回详细描述。
- 开发者贡献:
- 如果想添加新模型,修改
lib/models.ts
或lib/customModels.ts
,并更新app/api/
下的对应路由。 - 提交代码前,运行
npm run lint
和npm run build
,确保代码通过检查。 - 提交 PR 时,使用描述性提交信息,如
feat: add support for new model X
。
- 如果想添加新模型,修改
注意事项
- API 密钥安全:不要将
.env.local
文件上传到 GitHub,以免泄露密钥。 - 模型限制:部分模型(如 DeepSeek R1)需要 OpenRouter 的免费或付费账户支持。
- 性能优化:本地运行时,确保机器有足够内存(建议 8GB 以上),以处理多模型请求。
应用场景
- AI 模型对比开发者或研究人员需要评估不同 AI 模型的性能。Open-Fiesta 允许同时运行多个模型,比较它们的回答质量和风格,适合选择最适合特定任务的模型。
- 教育与学习学生或教师可以输入学术问题,结合网页搜索功能获取最新信息,并通过多模型输出获得多样化的解释,适合学习复杂概念。
- 内容创作创作者可以使用 Open-Fiesta 生成文本或分析图像,快速获取灵感或草稿。Gemini 的图像分析功能尤其适合需要视觉描述的场景。
- 开源开发开发者可以 fork 仓库,添加新功能或模型,参与社区贡献,学习 Next.js 和 AI API 集成的开发流程。
QA
- Open-Fiesta 支持哪些 AI 模型?支持 OpenRouter 的模型(如 DeepSeek R1、Llama 3.3、Qwen、Mistral 等)和 Google 的 Gemini 模型。用户可通过
lib/models.ts
查看完整模型列表。 - 如何获取 API 密钥?访问 OpenRouter 获取
OPENROUTER_API_KEY
,访问 Google AI Studio 获取GOOGLE_GENERATIVE_AI_API_KEY
。 - 为什么 DeepSeek R1 的输出更易读?Open-Fiesta 后处理 DeepSeek R1 的输出,移除推理标签并将 Markdown 转为纯文本,确保内容简洁。
- 可以离线使用吗?不支持离线使用,所有模型请求都需要联网调用 OpenRouter 或 Google 的 API。
- 如何贡献代码?Fork 仓库,创建功能分支,修改代码后运行
npm run lint
和npm run build
,提交 PR 到主分支,附上详细说明和测试记录。