# ChatREQ **Repository Path**: jiangpyeong/chat-req ## Basic Information - **Project Name**: ChatREQ - **Description**: initial commit - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2026-04-23 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Agent 需求工程平台 基于多智能体协作的软件需求工程平台,通过AI Agent自动生成和管理软件需求规格说明文档。 ## 项目概述 本项目实现了基于多智能体协作的软件需求工程自动化系统。系统通过六个专业化AI Agent的协同工作,实现了从初始需求输入到最终软件需求规格说明文档生成的完整流程。系统支持Human-in-the-loop交互模式,确保每个制品的质量,并提供Chain of Thought推理过程可视化,增强系统的透明度和可解释性。 ## 系统功能 ### 多智能体协作架构 系统采用六个专业化Agent协作生成需求工程制品: **Interviewer Agent**:负责生成产品分析报告(Product Analysis Report, PAR)和访谈记录(Interview Record, IR)。 **End User Agent**:负责生成用户需求列表(User Requirement List, URL)。 **Deployer Agent**:负责生成运行环境列表(Operating Environment List, OEL)和需求模型(Requirement Model, RM)。 **Analyst Agent**:负责生成系统需求列表(System Requirement List, SRL)。 **Archivist Agent**:负责生成软件需求规格说明(Software Requirement Specification, SRS)。 **Reviewer Agent**:负责生成评审意见(Review Comments, RC)和最终软件需求规格说明(Final Software Requirement Specification, FSRS)。 ### 工作流程 系统工作流程包含以下五个阶段: 1. 需求输入阶段:用户通过平台界面输入软件需求描述。 2. 智能分析阶段:Manager Agent对用户需求进行分析,识别所需生成的制品类型,并生成任务执行计划。 3. 制品生成阶段:各专业Agent按照预定顺序依次生成对应的需求工程制品。 4. 人工确认阶段:在Human-in-the-loop模式下,每个制品生成后等待用户确认,用户可提供反馈并触发重新生成。 5. 最终交付阶段:系统生成完整的软件需求规格说明文档,支持版本管理和历史追溯。 ### 工作模式 系统提供两种工作模式: **Human-in-the-loop模式**:每个制品生成后暂停流程,等待用户确认和反馈。该模式确保每个制品都经过人工审核,适用于对文档质量要求较高的场景。 **自动模式**:系统自动生成所有制品,无需人工干预。该模式适用于快速原型验证和批量处理场景。 ## 技术架构 ### 后端技术栈 系统后端采用Spring Boot 2.7.18框架,基于Java 8开发。数据持久化使用MySQL 8.0数据库,通过MyBatis Plus实现对象关系映射。数据库连接池采用Druid。AI能力通过集成DeepSeek API实现。系统采用RESTful API设计,提供异步处理能力。 ### 前端技术栈 系统前端采用Vue 3框架,使用Composition API进行组件开发。构建工具为Vite 7.x。UI组件库采用Element Plus。状态管理基于Vue 3响应式系统。前端支持响应式设计,适配不同屏幕尺寸。 ### 系统架构 系统采用前后端分离架构。前端通过HTTP请求与后端API通信,后端服务层处理业务逻辑并访问数据库。AI Agent系统在后端实现,通过调用DeepSeek API获取AI能力。系统同时集成了基于Flask的记忆管理服务(mem0-service),用于Agent记忆的持久化存储和检索。 ### 记忆管理 系统集成了基于Mem0的记忆管理服务,支持三类记忆类型: **工作记忆(Working Memory)**:存储当前任务执行过程中的临时信息。 **情景记忆(Episodic Memory)**:记录历史对话和交互事件。 **语义记忆(Semantic Memory)**:存储长期的知识和事实信息。 记忆服务运行在独立端口(8001),提供记忆的添加、搜索、删除等操作接口。 ## 项目结构 ``` agent-platform/ ├── backend/ 后端Spring Boot项目 │ ├── src/main/java/ Java源代码 │ │ ├── com/deepseek/demo/ │ │ │ ├── controller/ 控制器层,处理HTTP请求 │ │ │ ├── service/ 业务逻辑层 │ │ │ ├── repository/ 数据访问层 │ │ │ └── entity/ 实体模型 │ │ │ └── model/ 数据传输对象 │ ├── src/main/resources/ 配置文件 │ │ ├── application.yml Spring Boot配置 │ │ └── complete_database_setup.sql 数据库初始化脚本 │ └── pom.xml Maven项目配置 ├── fronted/ 前端Vue项目 │ ├── src/ │ │ ├── components/ Vue组件 │ │ ├── views/ 页面视图 │ │ ├── config/ 配置文件 │ │ ├── services/ 服务层 │ │ ├── stores/ 状态管理 │ │ └── router/ 路由配置 │ ├── package.json 依赖配置 │ └── vite.config.js Vite构建配置 ├── mem0-service/ 记忆管理服务 │ ├── main.py 服务主文件 │ └── requirements.txt Python依赖 ├── mem0-main/ Mem0核心库 └── README.md 项目说明文档 ``` ## 环境要求 系统运行需要以下环境: **Java开发环境**:JDK 8或更高版本 **Node.js环境**:Node.js 18或更高版本 **数据库**:MySQL 8.0或更高版本 **构建工具**:Maven 3.6或更高版本 **Python环境**:Python 3.8或更高版本(用于记忆服务) ## 安装与部署 ### 数据库配置 创建MySQL数据库并执行初始化脚本: ```bash mysql -u root -p -e "CREATE DATABASE requirement_platform CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" mysql -u root -p requirement_platform < backend/src/main/resources/complete_database_setup.sql ``` ### 后端配置 编辑 `backend/src/main/resources/application.yml`,配置数据库连接信息和DeepSeek API密钥: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/requirement_platform username: your_username password: your_password deepseek: api: key: your_deepseek_api_key url: https://api.deepseek.com/v1/chat/completions ``` 启动后端服务: ```bash cd backend mvn clean install mvn spring-boot:run ``` 后端服务默认运行在 `http://localhost:8080` ### 前端配置 安装依赖并启动开发服务器: ```bash cd fronted npm install npm run dev ``` 前端服务默认运行在 `http://localhost:5173` ### 记忆服务配置 安装Python依赖: ```bash cd mem0-service pip install -r requirements.txt ``` 配置环境变量(可选,也可在代码中配置): ```bash export DEEPSEEK_API_KEY=your_api_key export DEEPSEEK_API_BASE=https://api.deepseek.com ``` 启动记忆服务: ```bash python main.py ``` 记忆服务默认运行在 `http://localhost:8001` ## 使用说明 ### 基本操作流程 1. **创建项目**:在平台中创建新项目,输入项目名称和初始需求描述。 2. **选择工作模式**:选择Human-in-the-loop模式或自动模式。 3. **启动生成流程**:点击生成按钮,Manager Agent将分析需求并启动制品生成流程。 4. **确认制品**:在Human-in-the-loop模式下,查看每个生成的制品,提供反馈或确认继续。 5. **查看结果**:在制品池中查看所有生成的制品,支持版本历史查看和下载。 ### API接口 主要API端点包括: **项目管理**:`GET /api/projects` 获取项目列表,`POST /api/projects` 创建项目 **制品管理**:`GET /api/artifacts/{projectId}` 获取项目制品列表,`POST /api/artifacts` 创建制品 **Agent任务**:`POST /api/manager-agent/analyze` 任务分析,`POST /api/manager-agent/execute` 任务执行 **对话管理**:`POST /api/conversation/save-user-message` 保存用户消息,`GET /api/conversation/{projectId}` 获取对话记录 **聊天会话**:`POST /api/chat/sessions` 创建聊天会话,`GET /api/chat/sessions` 获取会话列表 完整API文档请参考各Controller类的实现。 ## 应用场景 本系统适用于以下应用场景: **软件需求工程**:自动化软件需求分析、需求文档生成和需求管理。 **项目管理**:需求跟踪、变更管理和版本控制。 **教育培训**:需求工程方法教学和实践训练。 **质量保证**:标准化需求文档格式,确保文档质量和一致性。 ## 技术特性 ### AI Agent特性 每个Agent具备特定领域的专业知识,能够根据输入生成相应的需求工程制品。Agent之间通过通知机制实现协作,确保制品之间的关联性和一致性。系统支持反馈机制,允许用户对制品进行评价并触发重新生成。 ### 系统特性 系统采用异步处理机制,支持多个制品的并发生成。数据库操作通过连接池进行优化,提升系统响应速度。系统实现了完善的错误处理和异常恢复机制,确保服务稳定性。 ## 开发指南 ### 后端开发 后端采用分层架构,Controller层处理HTTP请求,Service层实现业务逻辑,Repository层负责数据访问。新增功能时应遵循该架构模式。 ### 前端开发 前端采用组件化开发方式,主要组件位于 `src/components` 目录,页面视图位于 `src/views` 目录。状态管理通过Vue 3响应式API实现,API调用封装在 `src/services` 目录中。 ## 许可证 本项目为专有项目(Proprietary Software),版权所有归项目组织者/著作权人所有,保留一切权利。 未经著作权人事先书面许可,任何个人或组织不得以任何形式对本项目进行使用、复制、修改、传播、公开展示、部署、再许可、转让或商业化利用。 本项目不属于开源软件,访问本项目代码、文档或相关资料不构成任何明示或默示授权。 如需授权,请联系项目组织者。 ## 贡献 欢迎提交Issue和Pull Request。提交代码前请确保通过测试并遵循项目代码规范。