第一次提交
This commit is contained in:
194
工作流模板和导入导出功能说明.md
Normal file
194
工作流模板和导入导出功能说明.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# 工作流模板和导入导出功能说明
|
||||
|
||||
## ✅ 已完成
|
||||
|
||||
已实现工作流模板功能、导入导出功能和执行历史优化。
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 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年
|
||||
Reference in New Issue
Block a user