Skip to content

Commit 2e0775e

Browse files
Copilotwhyour
andcommitted
Add Flowgram integration status documentation and install dependencies
Co-authored-by: whyour <[email protected]>
1 parent fffc1e4 commit 2e0775e

File tree

2 files changed

+828
-7
lines changed

2 files changed

+828
-7
lines changed

FLOWGRAM_INTEGRATION_STATUS.md

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
# Flowgram 可视化工作流集成进度 (Flowgram Visual Workflow Integration Progress)
2+
3+
## 当前状态 (Current Status)
4+
5+
### ✅ 已完成 (Completed - Commit: fffc1e4)
6+
7+
1. **依赖安装** (Dependencies Installed)
8+
- `@flowgram.ai/[email protected]`
9+
- `@flowgram.ai/[email protected]`
10+
- `@flowgram.ai/[email protected]`
11+
12+
2. **数据模型更新** (Data Model Updates)
13+
- 添加 `workflowGraph` 字段到 Scenario 模型
14+
- 保留旧字段以保持向后兼容
15+
- 数据库迁移脚本已更新
16+
17+
3. **API 层更新** (API Layer Updates)
18+
- `triggerType` 从必需改为可选
19+
- 添加 `workflowGraph` 参数支持
20+
- Create 和 Update 端点已更新
21+
22+
4. **前端基础** (Frontend Foundation)
23+
- 创建新的 `flowgramModal.tsx` 组件
24+
- 主页面更新使用新的模态框
25+
- 基础工作流结构定义
26+
27+
### 🔄 需要完成 (To Be Completed)
28+
29+
#### 1. 完善 Flowgram 编辑器集成 (Complete Flowgram Editor Integration)
30+
31+
**当前问题**: Flowgram.ai 的详细 API 文档不完全公开。需要:
32+
- 研究 Flowgram API 的正确使用方式
33+
- 实现自定义节点渲染器
34+
- 添加节点工具栏和配置面板
35+
36+
**临时方案**:
37+
- 可以使用 React Flow 或其他开源流程图库作为替代
38+
- 或等待 Flowgram 官方文档/示例
39+
40+
#### 2. 自定义节点类型实现 (Custom Node Types)
41+
42+
需要实现以下节点类型:
43+
44+
```typescript
45+
// Trigger Nodes (触发器节点)
46+
- TimeT riggerNode: 时间触发配置
47+
- WebhookTriggerNode: Webhook 触发配置
48+
- VariableTriggerNode: 变量监听配置
49+
- TaskStatusTriggerNode: 任务状态触发
50+
- SystemEventTriggerNode: 系统事件触发
51+
52+
// Condition Nodes (条件节点)
53+
- ConditionNode: 条件判断配置
54+
- LogicGateNode: AND/OR 逻辑门
55+
56+
// Action Nodes (动作节点)
57+
- RunTaskNode: 运行任务配置
58+
- SetVariableNode: 设置变量配置
59+
- ExecuteCommandNode: 执行命令配置
60+
- SendNotificationNode: 发送通知配置
61+
62+
// Control Flow Nodes (控制流节点)
63+
- DelayNode: 延迟执行
64+
- RetryNode: 重试策略
65+
- CircuitBreakerNode: 熔断器
66+
```
67+
68+
#### 3. 节点配置面板 (Node Configuration Panels)
69+
70+
每个节点类型需要自己的配置表单:
71+
- 双击节点打开配置面板
72+
- 表单验证
73+
- 实时预览
74+
75+
#### 4. 后端执行引擎重写 (Backend Execution Engine Rewrite)
76+
77+
当前 `ScenarioService.executeScenario()` 是线性执行。需要:
78+
79+
```typescript
80+
// 新的图执行引擎
81+
class GraphExecutor {
82+
async execute(workflowGraph: any, triggerData: any) {
83+
// 1. 查找入口节点(触发器节点)
84+
// 2. 遍历图结构
85+
// 3. 评估条件节点
86+
// 4. 执行动作节点
87+
// 5. 处理分支和合并
88+
// 6. 记录执行轨迹
89+
}
90+
}
91+
```
92+
93+
#### 5. 工作流验证 (Workflow Validation)
94+
95+
- 检查是否有有效的触发器节点
96+
- 验证节点连接的完整性
97+
- 检测循环
98+
- 验证节点配置
99+
100+
#### 6. 测试和调试 (Testing & Debugging)
101+
102+
- 单元测试
103+
- 集成测试
104+
- UI 测试
105+
- 性能测试
106+
107+
## 实现建议 (Implementation Recommendations)
108+
109+
### 方案 A: 完整 Flowgram 集成 (推荐如有文档)
110+
如果能获取 Flowgram 完整文档和示例:
111+
1. 参考官方示例实现自定义节点
112+
2. 使用 Flowgram 的插件系统
113+
3. 利用 Flowgram 的内置功能
114+
115+
### 方案 B: 使用 React Flow (备选方案)
116+
如果 Flowgram 文档不足:
117+
1. 使用 React Flow (`reactflow` npm package)
118+
2. 成熟的文档和社区支持
119+
3. 更容易实现自定义节点
120+
4. 保持相同的数据结构
121+
122+
### 方案 C: 混合方案
123+
1. 前端继续改进表单界面
124+
2. 后端同时支持表单数据和图数据
125+
3. 渐进式迁移
126+
127+
## 预估工作量 (Estimated Effort)
128+
129+
- **方案 A** (Flowgram): 20-30 小时(假设有文档)
130+
- **方案 B** (React Flow): 15-20 小时
131+
- **方案 C** (渐进式): 10-15 小时初始,后续持续
132+
133+
## 下一步建议 (Next Steps Recommendations)
134+
135+
1. **立即**: 确认是否有 Flowgram 官方文档或示例代码
136+
2. **短期**: 实现一个简单的节点(如触发器节点)作为 POC
137+
3. **中期**: 完成所有节点类型和配置面板
138+
4. **长期**: 重写执行引擎并测试
139+
140+
## 技术债务注意 (Technical Debt Notes)
141+
142+
- 旧的表单数据结构被标记为 deprecated 但仍保留
143+
- 需要在未来版本中清理
144+
- 数据库包含两套结构的字段
145+
146+
## 联系和协作 (Contact & Collaboration)
147+
148+
如需加速开发,建议:
149+
1. 获取 Flowgram 官方支持或文档
150+
2. 提供 Flowgram 集成的参考示例
151+
3. 或考虑使用 React Flow 等替代方案

0 commit comments

Comments
 (0)