🤖 双子座Chatbotv6
具有多模式功能的高级AI聊天机器人
一个功能强大、功能丰富的人工智能聊天机器人,使用Next.js 15和React 19构建,具有多模式对话、内容生成、网络搜索和通过MCP服务器进行的可扩展工具集成等功能。
✨ 特性
🧠 多模式AI聊天
- 文本对话 具有多种AI模型(Gemini、GPT-4、Claude)
- 图像分析 生成(DALL-E、Flux、Replicate)
- 视频处理 与转录和生成
- 音频支持 具有转录和文本转语音功能
- 文件上传 具有自动分析和处理功能
🎨 内容生成
- 图像生成DALL-E 3,流模型,复制
- 视频创作:文本到视频和图像到视频
- 音频合成:具有上下文感知的多扬声器TTS
- 图像编辑:AI驱动的图像修改
- 粗化:高质量图像增强
🌐 web集成
- 智能网络搜索 与困惑整合
- 内容提取 通过Firecrawl
- 浏览器自动化 与剧作家
- 深入研究 多步分析
- 社交媒体 cookie管理
🔧 高级工具
- MCP服务器:可扩展的工具生态系统
- LangGraph工作流:复杂的任务编排
- 桌面指挥官:文件系统和终端访问
- GitHub集成:存储库管理
- 数据库工具:SQL查询执行
💾 持久性和存储
- 聊天历史记录:完整的对话持久性
- 媒体库:有组织的图像/视频/音频存储
- 云存储:Vercel Blob集成
- 数据库:Supabase PostgreSQL后端
- 缓存:Redis和本地存储优化
🚀 快速开始
先决条件
- Node.js 20+ (建议通过nvm管理)
- npm 或 pnpm
- Git
- 至少一个API密钥(至少:
GEMINI_API_KEY)
1.克隆和安装
git clone https://github.com/AjWestfield/geminichatbotv6.git
cd geminichatbotv6
npm install2.环境设置
cp .env.example .env.local将API密钥添加到 .env.local:
# Required - Get from Google AI Studio
GEMINI_API_KEY=your_gemini_api_key
# Recommended for full functionality
PERPLEXITY_API_KEY=your_perplexity_key # Web search
OPENAI_API_KEY=your_openai_key # GPT-4, DALL-E3.启动开发服务器
npm run dev
# or use the helper script
./start.sh打开 http://localhost:3000 开始聊天吧! 🎉
📋 完整安装指南
必需的API密钥
基本(最低设置)
GEMINI_API_KEY=your_gemini_key # Google AI Studio (free tier available)推荐使用完整功能
PERPLEXITY_API_KEY=your_perplexity_key # Web search capabilities
OPENAI_API_KEY=your_openai_key # GPT-4 and DALL-E access可选增强功能
ANTHROPIC_API_KEY=your_claude_key # Claude models
REPLICATE_API_KEY=your_replicate_key # Video generation
WAVESPEED_API_KEY=your_wavespeed_key # Advanced TTS and Flux
TAVILY_API_KEY=your_tavily_key # Alternative web search
XAI_API_KEY=your_xai_key # X.AI models
OPENROUTER_API_KEY=your_openrouter_key # OpenRouter models存储和持久性(可选)
有关聊天记录、媒体存储和高级功能:
Supabase设置(推荐)
- 在以下位置创建帐户 supabase.com (免费版可用)
- 创建新项目
- 转到“设置”→ API → 复制您的URL和匿名密钥
- 增添
.env.local:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_API_KEY=your_anon_keyVercel Blob存储(推荐)
- 在以下位置创建帐户 vercel.com (免费版可用)
- 转到存储→ 创建Blob存储区
- 生成读/写令牌
- 增添
.env.local:
BLOB_READ_WRITE_TOKEN=your_blob_token数据库设置
# Verify database connection
npm run db:check
# Create all required tables
npm run db:setup-all
# Run any pending migrations
npm run db:migrateMCP服务器(可选)
对于高级工具集成:
FIRECRAWL_API_KEY=your_firecrawl_key # Web scraping
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token # GitHub integration🛠️ 发展
可用脚本
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
# Testing
npm run test:e2e # Run Playwright tests
npm run test:e2e:ui # Run tests with UI
npm run check-api-keys # Verify API configuration
# Database Management
npm run db:check # Verify database connection
npm run db:setup-all # Create all tables
npm run db:migrate # Run migrations
# Utilities
npm run setup-persistence # Setup database and storage
npm run verify:install # Verify installation项目结构
geminichatbotv6/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main application
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ ├── chat-interface.tsx
│ ├── app-sidebar.tsx
│ └── canvas-view.tsx
├── lib/ # Core utilities
│ ├── services/ # Business logic
│ ├── database/ # Database utilities
│ ├── storage/ # File storage
│ └── utils/ # Helper functions
├── hooks/ # Custom React hooks
├── scripts/ # Utility scripts
├── tests/ # Test files
└── docs/ # Documentation技术栈
- 框架:Next.js 15.2.4,带应用路由器
- 前端:React 19,TypeScript 5
- 样式:顺风CSS、shadcn/ui、Framer Motion
- 状态:Zustand,React钩子形式
- 人工智能:Vercel AI SDK,多家提供商
- 数据库:Supabase(PostgreSQL)
- 存储:Vercel Blob、IndexedDB
- 测试:剧作家,杰斯特
- 工具:ESLint、Prettier、哈士奇
🧪 测试
端到端测试
# Run all tests
npm run test:e2e
# Run with UI
npm run test:e2e:ui
# Run specific test
npx playwright test tests/chat-functionality.spec.tsAPI测试
# Test specific features
npm run test-image-generation
npm run test-tts-functionality
npm run test-web-search手动测试
综合测试指南见 docs/ 用于手动验证所有功能的目录。
🚀 部署
Vercel(推荐)
- 将您的GitHub存储库连接到Vercel
- 在Vercel仪表板中添加环境变量
- 推送到主分支时自动部署
自托管
# Build for production
npm run build
# Start production server
npm run start生产环境变量
确保在生产环境中设置了所有必需的环境变量。该应用程序将优雅地降低缺少可选服务的功能。
🔧 配置
功能切换
应用程序会自动检测可用服务,并相应地启用/禁用功能:
- 缺失
SUPABASE_URL:禁用持久性,使用本地存储 - 缺失
BLOB_READ_WRITE_TOKEN:禁用云存储 - 缺少AI API键:隐藏相应的模型选项
定制
- 模型:在中配置可用的AI模型
lib/models/ - 主题:在中自定义外观
app/globals.css - 组件:在中扩展UI组件
components/ - 工具:在中添加MCP服务器
mcp.config.json
📚 文档
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
🆘 支持
- 问题:
- 讨论:
- 文档: 维基工程
______________________________________________________________________
由以下材料制成❤️ 双子座聊天机器人社区
