MCP + 双子座聊天机器人用户界面
为您的MCP + Gemini AI聊天机器人打造一个现代的、ChatGPT风格的网页界面。该界面采用React构建,并使用Tailwind CSS进行样式设计。
特点/功能
- 🎨(彩绘/艺术创作) 现代暗色主题 - 受ChatGPT启发的设计
- 💬(表示对话或评论的符号,无实际文字含义) 对话历史 - 在您的会话期间,消息会持续保留
- 🔄 翻译成中文是:🔄(这个符号本身在中文中没有特定含义,但通常表示“循环”或“重新开始”的意思,类似于英文中的“🔄”或“↺”。如果需要一个更具体的翻译,可以根据上下文来解释,比如“循环进行”、“重新开始”等。) 实时响应 - 顺畅的加载动画
- 📱 表示“手机”或“移动设备”的符号。 响应式设计 - 适用于桌面和移动设备
- 🎯(目标) 可折叠侧边栏 - 简洁、有序的界面
- ⚡(闪电符号,无直接对应中文翻译,可表示“闪电”或在网络语境中用作表情符号) 快速且轻便 - 性能优化
屏幕截图
主聊天界面
- 用户和AI回复的简洁消息气泡
- 用于视觉区分的渐变头像
- 平滑滚动到最新消息
侧边栏
- 快速访问新对话
- 对话历史记录显示
- 包含AI助手信息的品牌专区
先决条件
在开始之前,请确保您已具备:
- Node.js (v14 或更高版本) - 在此下载
- npm (随Node.js一起提供)
- 后端API 在……上运行
http://localhost:9009/{endpoint}
检查你的 Node.js 版本:
node --version安装
1. 克隆或创建项目
如果从头开始:
npx create-react-app my-chatbot
cd my-chatbot2. 安装依赖项
npm install lucide-react
npm install -D tailwindcss@3.3.0 postcss autoprefixer3. 配置 Tailwind CSS
创造 tailwind.config.js 在你的项目根目录中:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}创建 postcss.config.js 在你的项目根目录中:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}4. 更新CSS
替换内容为 src/index.css:
@tailwind base;
@tailwind components;
@tailwind utilities;5. 替换应用组件
将聊天机器人代码复制到 src/App.js
6. 启动开发服务器
npm start该应用将在 http://localhost:3000
后端设置
这个用户界面需要一个运行在(指定地址)的后端API http://localhost:9009/query
API端点要求
POST(邮政) /query
- 请求体:
{ "query": "your question here" } - 回应:
{ "response": "AI response here" }
使用 Node.js/Express 的示例:
app.post('/query', async (req, res) => {
const { query } = req.body;
// Process with your MCP + Gemini backend
const aiResponse = await processQuery(query);
res.json({ response: aiResponse });
});项目结构
my-chatbot/
├── public/
│ └── index.html
├── src/
│ ├── App.js # Main chat component
│ ├── index.js # React entry point
│ └── index.css # Tailwind imports
├── package.json
├── tailwind.config.js
└── postcss.config.js定制化
改变颜色
编辑渐变颜色 App.js:
// Current: Purple to Pink gradient
className="bg-gradient-to-br from-purple-500 to-pink-500"
// Change to: Blue to Cyan
className="bg-gradient-to-br from-blue-500 to-cyan-500"更改后端URL
更新fetch URL handleSubmit 功能:
const res = await fetch("YOUR_BACKEND_URL/query", {
// ...
});修改品牌标识
更改标题和描述:
Your App Name
故障排除
问题:“react-scripts 未被识别”
解决方案跑 npm install 首先
问题:用户界面显示的是未加样式的纯HTML
解决方案Tailwind CSS 未配置。请按照上述 Tailwind 设置步骤进行操作。
问题:后端连接错误
解决方案:
- 确保后端在9009端口上运行
- 检查你后端的CORS设置
- 验证API端点URL
问题:npm 缓存错误
解决方案:
npm cache clean --force
rm -rf node_modules package-lock.json
npm install可用脚本
npm start
在开发模式下运行应用程序,位于 http://localhost:3000
npm run build
为生产环境构建应用程序到 build 文件夹
npm test
启动测试运行器
npm run eject
警告:此操作不可逆! 从 Create React App 中导出。
所使用的技术
- React 18+ - 用户界面框架
- Tailwind CSS - 实用优先的样式设计
- Lucide React(可译为“Lucide反应”或根据上下文具体含义调整,但直接翻译保持为“Lucide React”以保留原名) - 图标库
- Fetch API - HTTP 请求
功能路线图
- \[ \] 会话持久化(保存到数据库)
- \[ \] 导出聊天记录
- \[ \] 支持多文件上传
- \[ \] 语音输入
- \[ \] 切换深色/浅色主题
- \[ \] 用于AI回复的Markdown渲染
- \[ \] 代码语法高亮
贡献;做出贡献
欢迎随时提交问题和增强请求!
许可证
MIT 许可证 - 欢迎自由使用此项目来开发您自己的应用程序。
支持
如果您遇到问题:
- 查看上面的故障排除部分
- 确保所有依赖项都已安装
- 确认您的后端正在运行且可访问
- 检查浏览器控制台中的错误
致谢
- 受ChatGPT启发的设计
- 使用 Create React App 构建
- 由Lucide设计的图标
