🧠 AI 工作流、业务蓝图、状态机与流程挖掘
Microi吾码当前有多种“流程”能力。它们解决的问题不同,不能都当作审批流使用。
| 能力 | 解决的问题 | 核心数据/源码 |
|---|---|---|
| 审批工作流 v4 | 人员审批、会签、退回、抄送、条件路线 | wf_flowdesign、wf_node、wf_line;Microi.Client/src/views/workflow/ |
| AI 工作流 | 把表、字段、菜单、接口、V8 调用和审批流组织成可理解的系统关系图 | Microi.AI/AiWorkflowService.cs;src/views/ai-workflow/ |
| 业务架构蓝图 | 持久化业务域、系统、模块、表、接口、页面和流程之间的架构关系,并校验引用漂移 | sys_blueprint*;src/views/blueprint/ |
| 状态机 | 约束一条业务数据允许从什么状态跳到什么状态 | sys_state_machine、sys_state_transition、sys_state_history |
| 自动化流 | 用 DAG 编排 HTTP、SQL、接口引擎、邮件、MQ、条件、延时等自动步骤 | sys_flow_design、sys_flow_run;src/views/flow-engine/ |
| 流程挖掘 | 从实际审批运行数据中分析路径、耗时、SLA 与瓶颈 | V8McpLogic.ProcessMining.cs;src/views/process-mining/ |
AI 工作流
AI 工作流会读取当前租户的表、菜单、接口引擎、V8 调用与工作流资源,形成可搜索的关系图。它适合回答:
- 一个菜单最终依赖哪些表和接口?
- 修改某个接口引擎可能影响哪些页面或流程?
- 如何从一段业务描述生成初始系统关系图?
- 如何保存一份可继续审阅的系统级 AI 工作流?
前端入口为 /ai-workflow,服务端接口位于 /api/AIWorkFlow/*,包含概览、节点详情、自然语言生成、列表、读取、保存和删除。所有请求都先绑定当前登录身份与 OsClient;它不是允许匿名读取整个租户结构的拓扑接口。
业务架构蓝图
蓝图面向长期架构治理,不只是画图。设计器支持业务、系统、模块、表、接口、页面、流程等节点,多层切换、连线、自动布局、撤销/重做和版本维护。
每次保存会维护蓝图历史与反向引用关系。发布或大改前执行蓝图验证,可以发现被删除或改名的表、接口、页面与流程引用。AI 使用时建议遵循:
microi_list_blueprints查找现有蓝图。microi_get_blueprint读取当前架构事实。- 完成系统变更后调用
microi_validate_blueprint。 - 只有蓝图内容确实变化时才用
microi_save_blueprint更新,并保留历史。
蓝图不会代替数据库权限、菜单权限或应用商城版本。它描述架构关系,真实资源仍由各引擎与数据库负责。
状态机
状态机与审批流互补:审批流回答“谁来审批”,状态机回答“这条数据能否从 A 进入 B”。一个状态机绑定业务表与状态字段,并定义:
- 状态集合与初始状态;
FromState → ToState合法跃迁;- 可选
ConditionV8条件; - 可执行跃迁的角色;
- 跃迁成功后触发的
ActionApiEngineKey; - 每次变更的历史记录。
前端路由为 /state-machine/list 和 /state-machine/designer/:id。运行时通过 TransitionState 读取当前状态、匹配规则、校验身份,更新业务表并写入 sys_state_history。调用方仍需传真实业务记录 Id,不能由前端直接覆盖状态字段来绕过跃迁。
自动化流
自动化流使用 X6 设计器生成 JSON DAG。当前执行器支持的主要节点包括:
start/end/set/log;http/sql/apiengine;email/mq;if/delay。
前端路由为 /flow-engine/list 和 /flow-engine/designer/:id。每次运行创建 sys_flow_run 记录,保存输入、输出、步骤日志、耗时和错误。
运行边界
自动化流节点可以调用外部 HTTP、SQL、接口引擎、邮件和消息队列,属于可能产生副作用的运行能力。上线前应为业务副作用设计稳定幂等键,限制 SQL 与目标地址,并覆盖重复投递、超时和节点重启场景。设计器保存成功不等于真实业务链路已经验收。
流程挖掘
流程挖掘读取实际审批运行记录,而不是根据设计图猜测性能。当前提供:
- 流程总览与实例统计;
- 实际路径与热门路径;
- SLA 超时实例;
- 节点平均耗时与瓶颈分析;
- 指定流程与日期区间筛选。
前端路由为 /process-mining。分析结果适合用于优化节点、审批人配置与 SLA,但不能仅凭平均耗时自动删除控制节点。
如何选择
| 场景 | 推荐能力 |
|---|---|
| 请假、合同、采购需要多人审批 | 审批工作流 v4 |
| 订单只允许“待支付 → 已支付 → 已发货” | 状态机 |
| 支付后要调用接口、发消息、写日志 | 接口引擎;步骤较多时使用自动化流 |
| 想让 AI 理解现有系统依赖 | AI 工作流 |
| 需要保存并校验业务架构 | 业务架构蓝图 |
| 想知道审批到底卡在哪个节点 | 流程挖掘 |
上线验收
- 使用非管理员角色验证菜单、表和接口权限。
- 对状态机覆盖合法跃迁、非法跃迁、并发重复请求与历史记录。
- 对自动化流覆盖每种节点失败、重试、超时、重复投递与外部服务不可用。
- 对审批流覆盖同一实例的多路线、退回、撤回、会签和消息通知。
- 至少用两个 API/Worker 节点连接同一数据库与 Redis 验证幂等和恢复。
- 用真实运行数据核对流程挖掘结果,不能只看空白演示图。