# 工作流模板和导入导出功能说明 ## ✅ 已完成 已实现工作流模板功能、导入导出功能和执行历史优化。 ## 功能特性 ### 1. 工作流模板功能 #### 预设模板 系统提供4个预设模板: 1. **简单LLM工作流** (`simple_llm`) - 开始 → LLM → 结束 - 适合简单的LLM调用场景 2. **条件判断LLM工作流** (`conditional_llm`) - 开始 → 条件判断 → [True分支LLM / False分支LLM] → 结束 - 适合根据条件调用不同LLM的场景 3. **数据转换+LLM工作流** (`data_transform_llm`) - 开始 → 数据转换 → LLM → 结束 - 适合需要先转换数据再处理场景 4. **多LLM链式工作流** (`multi_llm_chain`) - 开始 → LLM1 → LLM2 → LLM3 → 结束 - 适合需要多步LLM处理的场景 #### API端点 - `GET /api/v1/workflows/templates` - 获取模板列表 - `GET /api/v1/workflows/templates/{template_id}` - 获取模板详情 - `POST /api/v1/workflows/templates/{template_id}/create` - 从模板创建工作流 ### 2. 工作流导入导出功能 #### 导出工作流 **API端点**: `GET /api/v1/workflows/{workflow_id}/export` **响应格式**: ```json { "id": "workflow-id", "name": "工作流名称", "description": "工作流描述", "nodes": [...], "edges": [...], "version": 1, "status": "active", "exported_at": "2024-01-17T01:00:00" } ``` #### 导入工作流 **API端点**: `POST /api/v1/workflows/import` **请求格式**: ```json { "name": "导入的工作流", "description": "工作流描述", "nodes": [...], "edges": [...] } ``` **特性**: - 自动重新生成节点ID(避免ID冲突) - 自动更新边的源节点和目标节点ID - 自动验证工作流结构 - 验证失败时返回详细错误信息 ### 3. 执行历史优化 #### 分页功能 - `skip`: 跳过记录数(默认0) - `limit`: 每页记录数(默认100,最大100) #### 筛选功能 - `workflow_id`: 按工作流ID筛选 - `status`: 按状态筛选(pending, running, completed, failed) #### 搜索功能 - `search`: 搜索关键词 - 搜索范围:执行ID、工作流ID、任务ID #### API端点 `GET /api/v1/executions?skip=0&limit=20&workflow_id=xxx&status=completed&search=keyword` ## 使用示例 ### 1. 获取模板列表 ```bash curl -X GET "http://localhost:8037/api/v1/workflows/templates" \ -H "Authorization: Bearer {token}" ``` **响应**: ```json [ { "id": "simple_llm", "name": "简单LLM工作流", "description": "一个简单的LLM调用工作流..." }, ... ] ``` ### 2. 从模板创建工作流 ```bash curl -X POST "http://localhost:8037/api/v1/workflows/templates/simple_llm/create?name=我的工作流" \ -H "Authorization: Bearer {token}" ``` ### 3. 导出工作流 ```bash curl -X GET "http://localhost:8037/api/v1/workflows/{workflow_id}/export" \ -H "Authorization: Bearer {token}" \ -o workflow.json ``` ### 4. 导入工作流 ```bash curl -X POST "http://localhost:8037/api/v1/workflows/import" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d @workflow.json ``` ### 5. 获取执行历史(带筛选和搜索) ```bash curl -X GET "http://localhost:8037/api/v1/executions?skip=0&limit=20&status=completed&search=test" \ -H "Authorization: Bearer {token}" ``` ## 前端集成建议 ### 模板选择界面 1. 显示模板列表(卡片式布局) 2. 点击模板查看详情 3. 一键从模板创建工作流 ### 导入导出功能 1. **导出**: - 在工作流详情页添加"导出"按钮 - 点击后下载JSON文件 2. **导入**: - 在工作流列表页添加"导入"按钮 - 选择JSON文件上传 - 显示导入结果 ### 执行历史优化 1. **分页组件**:使用Element Plus的Pagination组件 2. **筛选器**:下拉选择状态、工作流 3. **搜索框**:实时搜索 4. **表格**:显示筛选和搜索后的结果 ## 优势 1. **快速创建**:使用模板快速创建工作流 2. **工作流复用**:通过导入导出复用工作流 3. **高效查询**:执行历史支持分页、筛选、搜索 4. **数据安全**:导入时自动重新生成ID,避免冲突 ## 后续计划 - [ ] 前端模板选择界面 - [ ] 前端导入导出功能 - [ ] 执行历史前端优化 - [ ] 模板市场(用户分享模板) - [ ] 工作流版本对比 --- **状态**: ✅ 后端已完成 **时间**: 2024年