# rtzl_aiweb **Repository Path**: wendgit/rtzl_aiweb ## Basic Information - **Project Name**: rtzl_aiweb - **Description**: AI Agent 配置平台 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-27 - **Last Updated**: 2025-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RTZL AI Web 智能管理平台 基于 Vue3 + Element Plus + FastAPI + LangGraph 构建的现代化AI智能管理平台,支持多智能体协作、模块化RAG、记忆管理、语音交互等功能。 ## 🚀 项目特性 - **现代化前端**: Vue3 + Element Plus + TypeScript + Vite - **高性能后端**: FastAPI + Hypercorn + Python 3.8+ - **多智能体系统**: 基于 LangGraph 的智能体协作框架 - **模块化RAG**: 支持向量检索和知识增强生成 - **记忆管理**: 基于 Mem0 的智能记忆系统 - **语音交互**: 支持语音识别和语音合成 - **MCP工具集成**: 模型上下文协议工具支持 - **场景化配置**: 灵活的工具集合场景配置 - **多数据库支持**: MySQL + Redis + ChromaDB - **Docker部署**: 完整的容器化部署方案 ## 📁 项目结构 ``` rtzl_AIWeb/ ├── frontend/ # 前端项目 (Vue3 + Element Plus) │ ├── src/ │ │ ├── api/ # API服务层 │ │ │ ├── agent.ts # 智能体API │ │ │ ├── mcp.ts # MCP工具API │ │ │ ├── navigation.ts # 导航API │ │ │ ├── scene.ts # 场景API │ │ │ └── tools.ts # 工具API │ │ ├── components/ # 可复用组件 │ │ │ ├── ChatWindow.vue # 聊天窗口 │ │ │ ├── DocumentRAG.vue # 文档RAG │ │ │ ├── NavigationRAG.vue # 导航RAG │ │ │ ├── TTSSettings.vue # TTS设置 │ │ │ ├── VideoCallWindow.vue # 视频通话 │ │ │ └── VoiceCallWindow.vue # 语音通话 │ │ ├── views/ # 页面组件 │ │ │ ├── Config.vue # 配置主页 │ │ │ └── config/ # 配置子页面 │ │ │ ├── AgentManagement.vue # 智能体管理 │ │ │ ├── DialogManagement.vue # 对话管理 │ │ │ ├── MCPManagement.vue # MCP管理 │ │ │ ├── MemoryManagement.vue # 记忆管理 │ │ │ ├── PermissionManagement.vue # 权限管理 │ │ │ ├── RAGManagement.vue # RAG管理 │ │ │ ├── SceneManagement.vue # 场景管理 │ │ │ └── ToolsManagement.vue # 工具管理 │ │ ├── types/ # TypeScript类型定义 │ │ └── utils/ # 工具函数 │ ├── package.json │ ├── vite.config.ts │ └── tsconfig.json │ ├── backend/ # 后端项目 (FastAPI + LangGraph) │ ├── AIAgents/ # AI智能体核心 │ │ ├── actions/ # 智能体动作 │ │ │ ├── execute.py # 执行动作 │ │ │ ├── generate.py # 生成动作 │ │ │ ├── memory.py # 记忆动作 │ │ │ ├── reflect.py # 反思动作 │ │ │ ├── review.py # 回顾动作 │ │ │ └── think.py # 思考动作 │ │ ├── decorators/ # 装饰器 │ │ │ └── mcpDecorator.py # MCP装饰器 │ │ ├── model/ # 智能体模型 │ │ │ ├── EnglishLearnAgent.py # 英语学习智能体 │ │ │ ├── NavigationAgent.py # 导航智能体 │ │ │ └── ReActAgent.py # ReAct智能体 │ │ ├── AgentFactory.py # 智能体工厂 │ │ ├── baseAgent.py # 基础智能体 │ │ ├── HumanInputLoopAgent.py # 人机交互智能体 │ │ └── streamableAgent.py # 流式智能体 │ ├── audio/ # 音频处理 │ │ └── dashscope/ # DashScope音频服务 │ │ ├── ASRAudio.py # 语音识别 │ │ └── TTSAudio.py # 语音合成 │ ├── config/ # 系统配置 │ │ ├── database.py # 数据库配置 │ │ ├── redis_client.py # Redis配置 │ │ └── settings.py # 应用配置 │ ├── emb/ # 嵌入模型 │ │ ├── DashScopeEmb.py # DashScope嵌入 │ │ └── ZhiPuEmb.py # 智谱嵌入 │ ├── llm/ # 大语言模型 │ │ ├── DashScopeLLM.py # DashScope模型 │ │ ├── DeepSeekChat.py # DeepSeek对话模型 │ │ └── DeepSeekThink.py # DeepSeek思考模型 │ ├── mcp_tools/ # MCP工具集成 │ │ ├── mcpClient.py # MCP客户端 │ │ ├── mcpFactory.py # MCP工厂 │ │ └── mcpManager.py # MCP管理器 │ ├── memory/ # 记忆管理 │ │ ├── Mem0Interface.py # Mem0接口 │ │ ├── MemoryFactory.py # 记忆工厂 │ │ └── MemoryManager.py # 记忆管理器 │ ├── modulerag/ # 模块化RAG │ ├── navigation/ # 导航功能 │ ├── pojo/ # 数据模型 │ ├── router/ # API路由 │ │ ├── agent.py # 智能体路由 │ │ ├── audio.py # 音频路由 │ │ ├── chat.py # 聊天路由 │ │ ├── dialog.py # 对话路由 │ │ ├── mcp.py # MCP路由 │ │ ├── memory.py # 记忆路由 │ │ ├── navigation.py # 导航路由 │ │ ├── rag.py # RAG路由 │ │ ├── scene.py # 场景路由 │ │ └── tools.py # 工具路由 │ ├── scene/ # 场景管理 │ ├── tools/ # 工具管理 │ │ └── service/ # 工具服务 │ │ ├── browserUseTool.py # 浏览器工具 │ │ ├── getCurrentTime.py # 时间工具 │ │ ├── GetMemoryHis.py # 记忆历史工具 │ │ ├── mcpCalling.py # MCP调用工具 │ │ └── WebSearch.py # 网络搜索工具 │ ├── utils/ # 工具函数 │ ├── main.py # 应用入口 │ └── requirements.txt # Python依赖 │ ├── docker-compose.yml # Docker编排文件 ├── Dockerfile # Docker镜像文件 ├── deploy.sh # 部署脚本 ├── start.sh # 启动脚本 (Linux/Mac) ├── start.bat # 启动脚本 (Windows) └── README.md # 项目说明 ``` ## 🛠️ 技术栈 ### 前端技术栈 - **框架**: Vue 3.4+ (Composition API) - **UI库**: Element Plus 2.4+ - **构建工具**: Vite 5.0+ - **语言**: TypeScript 5.3+ - **路由**: Vue Router 4.2+ - **状态管理**: Pinia 2.1+ - **HTTP客户端**: Axios 1.6+ - **音频处理**: Web Audio API ### 后端技术栈 - **框架**: FastAPI 0.115+ - **ASGI服务器**: Hypercorn 0.17+ / Uvicorn 0.32+ - **AI框架**: LangChain 0.3.26 + LangGraph 0.3.28 - **数据库**: MySQL 8.0+ + Redis 5.2+ + ChromaDB 1.0+ - **ORM**: SQLAlchemy 2.0+ - **数据验证**: Pydantic 2.10+ - **记忆管理**: Mem0 0.1.93 - **语音服务**: DashScope TTS/ASR - **工具集成**: MCP (Model Context Protocol) ## 🚀 快速开始 ### 环境要求 - Node.js 18+ - Python 3.8+ - MySQL 8.0+ - Redis 5.0+ - Docker & Docker Compose (可选) ### 方式一:Docker部署(推荐) ```bash # 克隆项目 git clone https://github.com/your-username/rtzl_AIWeb.git cd rtzl_AIWeb # 使用Docker Compose启动 docker-compose up -d # 查看日志 docker-compose logs -f ``` ### 方式二:本地开发 #### 后端启动 ```bash # 进入后端目录 cd backend # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 启动开发服务器 python main.py ``` #### 前端启动 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ### 服务访问 - **前端**: http://localhost:3000 - **后端**: http://localhost:8800 - **API文档**: http://localhost:8800/docs ## ⚙️ 配置说明 ### 环境变量配置 创建 `backend/.env` 文件: ```env # 数据库配置 MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASSWORD=your_password MYSQL_DATABASE=rtzl_ai_web # Redis配置 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD= # AI模型配置 # OpenAI配置 OPENAI_API_KEY=your_openai_api_key OPENAI_BASE_URL=https://api.openai.com/v1 # DashScope配置 DASHSCOPE_API_KEY=your_dashscope_api_key # DeepSeek配置 DEEPSEEK_API_KEY=your_deepseek_api_key # 智谱配置 ZHIPUAI_API_KEY=your_zhipuai_api_key # Mem0配置 MEM0_API_KEY=your_mem0_api_key # 安全配置 SECRET_KEY=your-secret-key-change-in-production ``` ### 数据库初始化 ```bash # 进入后端目录 cd backend # 运行数据库迁移 python -c "from config.initializer import init_database; init_database()" ``` ## 🎯 核心功能 ### 1. 智能体管理 - **多智能体协作**: 基于LangGraph的智能体工作流 - **ReAct智能体**: 支持推理和行动的智能体 - **英语学习智能体**: 专门的英语学习助手 - **导航智能体**: 智能导航和路径规划 - **流式处理**: 实时响应和流式输出 ### 2. 工具集成 - **MCP工具**: 模型上下文协议工具集成 - **浏览器工具**: 自动化浏览器操作 - **搜索工具**: 网络搜索和信息获取 - **时间工具**: 时间管理和调度 - **记忆工具**: 智能记忆检索 ### 3. 语音交互 - **语音识别**: 基于DashScope的ASR功能 - **语音合成**: 高质量的TTS语音输出 - **语音通话**: 实时语音通话功能 - **语音命令**: 语音控制和指令处理 ### 4. 记忆管理 - **长期记忆**: 基于Mem0的持久化记忆 - **短期记忆**: 对话上下文管理 - **记忆检索**: 智能记忆搜索和关联 - **记忆分析**: 记忆模式分析和优化 ### 5. 场景管理 - **场景配置**: 灵活的工具集合配置 - **场景切换**: 动态场景切换和管理 - **自定义场景**: 用户自定义场景配置 - **场景模板**: 预设场景模板 ### 6. RAG系统 - **向量检索**: 基于ChromaDB的向量检索 - **文档RAG**: 文档问答和知识检索 - **导航RAG**: 导航相关的智能问答 - **多模态RAG**: 支持文本、图像等多模态检索 ## 🔧 开发指南 ### 前端开发 ```bash # 代码检查 npm run lint # 类型检查 npm run type-check # 预览构建结果 npm run preview # 构建生产版本 npm run build ``` ### 后端开发 ```bash # 代码格式化 black . # 类型检查 mypy . # 运行单元测试 pytest tests/ # 生成API文档 python -c "from main import app; import uvicorn; uvicorn.run(app, host='0.0.0.0', port=8800)" ``` ### API接口文档 主要API端点: **智能体管理** - `GET /api/agent/list` - 获取智能体列表 - `POST /api/agent/create` - 创建智能体 - `POST /api/agent/chat` - 与智能体对话 **场景管理** - `GET /api/scene/list` - 获取场景列表 - `POST /api/scene/create` - 创建场景 - `PUT /api/scene/update` - 更新场景 **工具管理** - `GET /api/tools/list` - 获取工具列表 - `POST /api/tools/execute` - 执行工具 **记忆管理** - `GET /api/memory/list` - 获取记忆列表 - `POST /api/memory/search` - 搜索记忆 - `POST /api/memory/add` - 添加记忆 **MCP工具** - `GET /api/mcp/list` - 获取MCP工具列表 - `POST /api/mcp/execute` - 执行MCP工具 ## 📊 系统架构 ```mermaid graph TB subgraph "前端层" A[Vue3 + Element Plus] B[ChatWindow] C[VoiceCallWindow] D[ConfigManagement] end subgraph "API网关层" E[FastAPI Router] F[认证中间件] G[日志中间件] end subgraph "业务逻辑层" H[智能体管理] I[场景管理] J[工具管理] K[记忆管理] L[RAG系统] end subgraph "AI引擎层" M[LangGraph] N[LangChain] O[ReAct智能体] P[多智能体协作] end subgraph "数据存储层" Q[MySQL] R[Redis] S[ChromaDB] T[Mem0] end subgraph "外部服务" U[DashScope TTS/ASR] V[OpenAI API] W[DeepSeek API] X[MCP工具] end A --> E B --> E C --> E D --> E E --> H E --> I E --> J E --> K E --> L H --> M I --> N J --> O K --> P L --> M M --> Q N --> R O --> S P --> T H --> U I --> V J --> W K --> X ``` ## 🐳 Docker部署 ### 构建镜像 ```bash # 构建后端镜像 docker build -t rtzl-ai-web-backend ./backend # 构建前端镜像 docker build -t rtzl-ai-web-frontend ./frontend ``` ### 使用Docker Compose ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止服务 docker-compose down ``` ## 🔒 安全配置 ### JWT认证 - 支持JWT token认证 - 可配置token过期时间 - 支持refresh token机制 ### 权限管理 - 基于角色的访问控制(RBAC) - 细粒度的操作权限 - 支持用户权限管理 ### 数据安全 - 数据库连接加密 - 敏感数据加密存储 - API请求限流 ## 📝 更新日志 ### v1.2.0 (2025-01-21) - ✨ 新增ReAct智能体支持 - ✨ 新增MCP工具集成 - ✨ 新增语音交互功能 - ✨ 新增Mem0记忆管理 - 🚀 优化智能体协作流程 - 🐛 修复多项已知问题 ### v1.1.0 (2024-12-01) - ✨ 新增英语学习智能体 - ✨ 新增导航智能体 - ✨ 新增多模态RAG支持 - 🚀 优化前端用户体验 - 🔧 改进配置管理系统 ### v1.0.0 (2024-10-01) - 🎉 初始版本发布 - ✨ 基础的多智能体管理功能 - ✨ 场景管理和配置功能 - ✨ 基础的RAG检索功能 - ✨ 记忆管理基础功能 ## 🤝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ### 开发规范 - 遵循 PEP 8 代码规范 - 使用 TypeScript 严格模式 - 编写单元测试 - 更新相关文档 ## 📄 许可证 本项目采用 [MIT License](LICENSE) 开源协议。 ## 🙏 致谢 感谢以下开源项目的贡献: - [Vue.js](https://vuejs.org/) - 渐进式JavaScript框架 - [Element Plus](https://element-plus.org/) - Vue 3组件库 - [FastAPI](https://fastapi.tiangolo.com/) - 现代Python Web框架 - [LangChain](https://langchain.com/) - AI应用开发框架 - [LangGraph](https://langchain-ai.github.io/langgraph/) - 多智能体工作流框架 - [Mem0](https://mem0.ai/) - AI记忆管理平台 - [ChromaDB](https://www.trychroma.com/) - 向量数据库 - [DashScope](https://dashscope.aliyun.com/) - 阿里云AI服务 ## 📞 联系我们 - 项目地址: [GitHub](https://github.com/your-username/rtzl_AIWeb) - 问题反馈: [Issues](https://github.com/your-username/rtzl_AIWeb/issues) - 讨论区: [Discussions](https://github.com/your-username/rtzl_AIWeb/discussions) --- ⭐ 如果这个项目对你有帮助,请给我们一个星标! 💡 欢迎提交Issue和Pull Request来帮助改进项目!