# AI_WORKER **Repository Path**: cy2015/ai_worker ## Basic Information - **Project Name**: AI_WORKER - **Description**: ai 工作助手,自动生成测试用例,解析mr - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-10-25 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Worker - 智能测试平台 统一的测试用例管理和AI代码分析系统,集成了AI测试和用例录入两大核心功能。 ## 功能特性 ### 1. AI测试 🤖 - **智能代码分析**:基于GitLab MR自动分析代码变更 - **测试用例生成**:从需求文档自动生成测试用例 - **Bug智能分析**:对比代码变更和测试用例,发现潜在问题 - **多模型支持**:支持豆包(Doubao)和DeepSeek等AI模型 - **项目管理**:支持多项目管理和历史记录查询 ### 2. 用例录入 📝 - **快速录入**:从浏览器cURL命令一键导入测试用例 - **用例管理**:完整的CRUD操作,支持编辑和删除 - **参数化执行**:支持参数化测试,提高用例复用性 - **实时执行**:直接在界面执行测试用例并查看结果 - **执行历史**:保存所有执行记录,便于追溯 ## 系统架构 ``` ai_worker/ ├── app.py # 主应用入口(整合后端) ├── start.sh # 统一启动脚本 ├── requirements.txt # Python依赖 ├── config.yaml # 系统配置 ├── src/ # AI测试核心模块 │ ├── ai_engine.py # AI引擎基类 │ ├── deepseek_engine.py # DeepSeek引擎 │ ├── doubao_engine.py # 豆包引擎 │ ├── test_case_generator.py # 测试用例生成器 │ ├── bug_analyzer.py # Bug分析器 │ ├── gitlab_analyzer.py # GitLab分析器 │ ├── code_fetcher.py # 代码拉取器 │ ├── database.py # AI测试数据库 │ └── config.py # 配置管理 ├── case_input/ # 用例录入模块 │ ├── curl_parser.py # cURL解析器 │ ├── case_executor.py # 用例执行器 │ └── database.py # 用例录入数据库 ├── templates/ # 前端模板 │ ├── index.html # 统一首页(双Tab) │ ├── project_*.html # AI测试相关页面 │ └── ... ├── data/ # 数据目录 │ ├── ai_worker.db # AI测试数据库 │ └── test_cases.db # 用例录入数据库 ├── uploads/ # 文件上传目录 ├── output/ # 输出文件目录 └── logs/ # 日志目录 ``` ## 快速开始 ### 环境要求 - Python 3.8+ - pip ### 安装步骤 1. **克隆项目** ```bash git clone cd ai_worker ``` 2. **启动应用** ```bash chmod +x start.sh ./start.sh ``` 启动脚本会自动: - 创建虚拟环境 - 安装依赖 - 创建必要目录 - 启动Flask应用 3. **访问应用** 打开浏览器访问:http://localhost:5003 ## 使用指南 ### AI测试功能 #### 1. 创建项目 - 点击"新建项目"按钮 - 填写项目名称和描述 - 选择文档类型(飞书链接或Word文档) #### 2. 生成测试用例 - 选择AI模型(豆包或DeepSeek) - 提供需求文档(URL或上传文件) - 点击"生成测试用例" #### 3. 代码分析 - 输入GitLab MR地址 - 选择相关项目 - 点击"开始分析" - 查看Bug分析报告 ### 用例录入功能 #### 1. 上传用例 - 切换到"用例录入"Tab - 点击"上传用例"子Tab - 填写用例标题 - 粘贴从浏览器复制的cURL命令 - 点击"上传用例" #### 2. 管理用例 - 在"用例列表"中查看所有用例 - 点击"编辑"修改用例详情 - 点击"执行"运行测试用例 - 点击"删除"移除用例 #### 3. 参数化测试 - 在编辑用例时,可以添加参数 - 使用 `${参数名}` 格式引用参数 - 在"参数管理"中查看所有全局参数 ## 配置说明 ### config.yaml ```yaml # 服务器配置 server: host: '0.0.0.0' port: 5003 debug: true # GitLab配置 gitlab: base_url: 'https://your-gitlab.com' private_token: 'your-token' projects: - name: 'project1' repo_url: 'https://your-gitlab.com/group/project1.git' default_branch: 'test' # AI模型配置 doubao: keys: key1: name: '豆包-Key1' api_key: 'your-api-key' base_url: 'https://ark.cn-beijing.volces.com/api/v3' model: 'your-model-id' deepseek: api_key: 'your-deepseek-api-key' base_url: 'https://api.deepseek.com' model: 'deepseek-chat' ``` ## API文档 ### AI测试API - `GET /api/projects` - 获取项目列表 - `POST /api/projects` - 创建项目 - `GET /api/project/` - 获取项目详情 - `POST /api/projects//generate-test-case` - 生成测试用例 - `POST /api/project//analyze` - 执行代码分析 ### 用例录入API - `GET /api/case-input/cases` - 获取所有用例 - `POST /api/case-input/cases` - 创建用例 - `GET /api/case-input/cases/` - 获取用例详情 - `PUT /api/case-input/cases/` - 更新用例 - `DELETE /api/case-input/cases/` - 删除用例 - `POST /api/case-input/cases//execute` - 执行用例 - `POST /api/case-input/cases//parameters` - 保存参数 - `GET /api/case-input/parameters` - 获取所有参数 ## 技术栈 - **后端框架**:Flask 2.3.3 - **AI SDK**:OpenAI 1.30.0 - **HTTP客户端**:Requests 2.31.0 - **文档处理**:python-docx 0.8.11 - **配置管理**:PyYAML 6.0.1 - **数据库**:SQLite3 ## 开发说明 ### 项目整合 本项目由两个独立项目整合而成: 1. **ai_worker**:AI测试功能 2. **case_input**:用例录入功能 整合后的优势: - 统一的启动入口 - 共享的数据和配置 - 更好的用户体验 - 便于维护和扩展 ### 数据库 系统使用两个SQLite数据库: - `data/ai_worker.db`:存储AI测试项目和分析结果 - `data/test_cases.db`:存储用例录入的测试用例 ### 扩展开发 1. 添加新的AI模型:继承 `AIEngine` 基类 2. 添加新的功能模块:在 `src/` 目录下创建新模块 3. 添加新的API:在 `app.py` 中添加路由 ## 故障排除 ### 常见问题 1. **端口被占用** - 修改 `config.yaml` 中的端口配置 - 或停止占用5003端口的进程 2. **依赖安装失败** - 确保Python版本 >= 3.8 - 升级pip:`pip install --upgrade pip` - 手动安装:`pip install -r requirements.txt` 3. **数据库错误** - 删除 `data/*.db` 文件,重新启动应用 - 系统会自动重建数据库表结构 4. **AI调用失败** - 检查 `config.yaml` 中的API Key配置 - 确认网络连接正常 - 查看 `logs/` 目录下的日志文件 ## 更新日志 ### v2.0.0 (2025-01-17) - 🎉 整合AI测试和用例录入为统一平台 - ✨ 新增双Tab界面设计 - 🔧 优化启动脚本和配置管理 - 📦 统一数据库和依赖管理 - 🧹 清理冗余代码和中间文件 ### v1.x.x - AI测试功能独立版本 - 用例录入功能独立版本 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! ## 联系方式 如有问题,请联系项目维护者。