使用说明
Chat Royale
人工智能驱动的《皇室冲突》特工使用Gemini 2.0和MCP工具进行实时游戏数据访问。
全方位技术深度潜水
我最近写了一篇关于这个项目的架构、构建过程和其他很酷的东西的技术分析。你可以在我的网站上阅读:
建筑
三种集装箱服务:
MCP 服务器 (src/mcp/)-Python FastMCP服务器公开Clash Royale API工具:
- 玩家、部落、卡片、排名
后端API (src/backend/)-Node.js/Express服务器:
- 通过以下方式将Gemini与MCP客户端集成
@modelcontextprotocol/sdk - 标准JSON请求/响应(无流)
- 通过迭代Gemini调用在内部处理工具执行
前端 (src/frontend/)-React/TypeScript用户界面:
- 简单的聊天界面,支持markdown
- 对后端API的标准HTTP请求
运作原理
- 用户向前端发送消息
- 前端发布到后端
/api/chat - 后端连接到MCP服务器并发现工具
- Gemini使用可用工具处理消息
- 如果需要工具:后端通过MCP执行,将结果反馈给OpenAI
- 最终响应以JSON格式返回给前端
部署
生产:使用Cloudflare CDN的AWS ESXi
CI/CD:GitHub操作自动部署在 main 分支推送/合并
# Deploy
docker-compose -f docker-compose.prod.yml up -d --build
发展
# Environment setup
# Backend: src/backend/.env - GEMINI_API_KEY
# MCP: src/mcp/.env - CR_API_KEY
# Run all services
docker-compose up -d
技术栈
- MCP 服务器:Python 3.12、FastMCP、Clash Royale API
- 后端:Node.js、Express、TypeScript、Gemini SDK
- 前端:React、TypeScript、Vite、TailwindCSS
- 部署:Docker、AWS ExpressRoute、Cloudflare、GitHub操作