资讯详情

QVerisFlow实时执行监控实战:WebSocket推送、运行时暂停与人工干预完整指南

📅 2026/10/11 10:12:23 | 华诺云谱 👁 阅读
QVerisFlow实时执行监控实战:WebSocket推送、运行时暂停与人工干预完整指南
【免费下载链接】QVerisFlowAutomatic multi-agent workflow generation, fully integrated with QVeris unified data and tool layer项目地址https://gitcode.com/gh_mirrors/qv/QVerisFlow点击查看免费下载QVerisFlow 是一款面向多智能体工作流的开源平台其 Web 控制台支持实时执行监控通过 WebSocket 推送把每个节点的执行状态秒级同步到浏览器并允许你在运行时暂停执行、跳过节点、注入上下文等人工干预让 AI 工作流从黑盒变成透明驾驶舱 一、为什么多智能体工作流需要实时执行监控当你让多个 AI Agent 协作完成数据采集 → 分析 → 报告生成这样的长流程时通常要跑几分钟甚至更久。如果只能干等最终结果你会遇到三个痛点痛点QVerisFlow 的解法❓ 不知道现在跑到哪一步WebSocket 推送node_started/node_completed事件画布实时点亮节点⏸️ 发现方向不对想叫停运行时暂停、恢复、停止一键或一句话完成️ 中途想纠正 AI 的判断跳过节点、注入上下文、在线修改 Agent 的 Prompt下面带你从零看懂这套监控 干预体系是如何实现的。二、通信架构Socket.IO 与 WebSocket 双通道QVerisFlow 的后端基于 FastAPI同时提供两条实时通信通道见 src/web/app.pySocket.IO主通道自带心跳ping_interval25秒、断线重连和房间广播是前端当前使用的默认通道传统 WebSocket兼容通道/ws/{session_id}端点保留方便老客户端继续接入见 src/web/app.py。两条通道都要求携带 JWT token 认证未登录无法建立连接 断线了消息自动缓存重连即回放实时监控最怕网络抖一下就丢状态。QVerisFlow 的连接管理器src/web/websocket/manager.py内置了断连消息队列连接断开期间发给你的消息不会丢弃而是进入每个会话专属的队列上限 100 条最旧的自动淘汰你重新连上时管理器立即把缓存消息一次性补发给你_flush_message_queue见 src/web/websocket/manager.py如果本地消息还缺得更多前端可以主动发sync_messages请求服务端按limit offset分页批量补发src/web/websocket/handlers.py。 一个贴心细节进度类消息不缓存。节点正在思考、流式输出这类实时状态重发没有意义所以它们走立即发送通道发送失败就丢弃避免重连时刷屏src/web/socketio/handlers.py。三、实时推送13 种执行事件覆盖全流程执行引擎在运行过程中会发出统一的事件流全部类型定义在 src/orchestration/events.py工作流级事件workflow_started、workflow_completed、workflow_failed、workflow_paused、workflow_resumed、workflow_cancelled节点级事件node_started、node_completed、node_failed、node_skipped、node_progress工具调用等中间状态、node_thinkingAgent 推理流、node_stream内容 token 流、node_activity富活动更新进度事件progress_update每个事件还带有全局递增序列号src/orchestration/events.py前端可以据此检测事件是否丢失或乱序。前端收到事件后在 web-ui/src/hooks/useWebSocket.ts 中把node_started映射为节点运行中、node_completed映射为已完成……画布上的节点颜色、耗时、连线动画随之实时更新。你还能看到 Agent 的思考过程逐字流式输出监控体验接近看直播。完整协议文档如果你想深入消息格式与前后端交互时序图官方设计文档写得很细docs/overall_design/13_web_ui.md其中第 7 节有一段用户 → 前端 → 后端的典型交互时序图建议对照阅读 四、运行时暂停一个状态机如何优雅叫停4.1 状态机暂停只是合法状态之一每次执行都受一个**执行状态机ExecutionFSM**约束状态迁移规则写在 src/orchestration/execution_fsm.py 的头部注释里IDLE ──start──▶ RUNNING ──pause──▶ PAUSED │ │ ├──complete──▶ COMPLETED ├──fail─────▶ FAILED └──stop─────▶ CANCELLED ▲ PAUSED ──stop─┘ PAUSED ──resume──▶ RUNNING只有 RUNNING 才能暂停、只有 PAUSED 才能恢复已完成/已失败的执行不接受任何事件转移表见 src/orchestration/execution_fsm.py。这保证了你不会对一个已跑完的任务乱按暂停。4.2 暂停的实现原理不杀进程而是让出跑道暂停并不是粗暴地中断 Agent状态机内部有一个asyncio.Event见 src/orchestration/execution_fsm.py暂停时事件被clear()执行循环走到检查点时执行await fsm.pause_event.wait()原地挂起已完成的节点结果、检查点全部保留恢复时事件被set()循环从挂起点继续如果在暂停期间按了停止状态机还会主动唤醒执行循环以安全退出见 src/orchestration/execution_fsm.py避免叫不醒的僵死状态。执行引擎的节点循环里就有这段检查暂停标志的逻辑src/orchestration/workflow_engine.py发出workflow_paused事件 → 等待 → 恢复后发出workflow_resumed事件前端画布立刻从转圈变成暂停中 ⏸️4.3 三种暂停方式由你选择界面按钮执行期间对话面板顶部会出现暂停 / 继续 / 停止按钮状态自动切换web-ui/src/components/ChatPanel/index.tsx自然语言直接输入暂停、等一下、稍等、pause意图识别器都会识别为暂停命令并调用pause_executionsrc/evolution/dialogue_agent.py、src/evolution/workflow_operations.pyREST APIPOST /api/execution/{session_id}/intervene传{action: pause}即可方便接入你的自动化脚本src/web/routers/execution.py。底层的pause()/resume_execution()都做了严格的状态校验非法操作会直接返回失败而不是产生脏状态src/orchestration/workflow_engine.py。五、人工干预5 种让工作流听你指挥的手法暂停只是干预的第一步。QVerisFlow 的干预接口src/web/routers/execution.py共支持 5 种动作全部会实时推送状态变化回前端干预动作效果典型场景pause/resume挂起 / 恢复执行想先看一眼中间结果再决定stop取消执行保留已完成节点方向错了及时止损skip_node跳过指定节点事件node_skipped某数据源今天挂了先用缓存跑通inject_context向执行上下文注入一段新信息补充注意本次只统计华东区在线改配置执行间隙修改 Agent 的 Prompt、模型、工具纠正 Agent 的角色设定其中跳过节点在执行引擎中被显式支持被跳过的节点会记为skipped状态并广播事件下游依赖它的节点按规则处理src/orchestration/workflow_engine.py。而注入上下文会在下一个节点执行前自动合并进上下文相当于给 AI悄悄塞一张纸条 新手建议的干预节奏执行开始 → 盯着画布确认前 1~2 个节点输出符合预期发现偏差 → 立即暂停在节点详情面板查看中间结果小问题 →inject_context补充说明后继续大问题 → 停止并调整工作流后重跑。六、快速上手启动监控界面后端启动后会自动挂载前端并开启 Socket.IOsrc/web/app.py常用命令# 启动 Web 服务端口 8000 uvicorn src.web.app:app --host 0.0.0.0 --port 8000 # 开发模式前端热更新 cd web-ui npm run dev浏览器打开后登录后进入对话面板描述你的工作流批准执行即可看到实时画布 暂停/停止按钮。更多环境变量与部署细节见 docs/overall_design/13_web_ui.md 第 8 节。七、总结QVerisFlow 把监控和干预做成了同一套实时通道上的两种能力推送侧Socket.IO WebSocket 双通道、事件序列号防丢失、断连缓存 分页补发保证你看到的进度不断片控制侧FSM 状态机约束下的暂停/恢复/停止、跳过节点、注入上下文、在线改 Prompt让多智能体工作流第一次变得可控、可纠偏、可解释。对新手而言这套机制意味着不必盯着终端日志也不必祈祷 AI 一次做对——你随时都在驾驶座上 赞分享【免费下载链接】QVerisFlowAutomatic multi-agent workflow generation, fully integrated with QVeris unified data and tool layer项目地址https://gitcode.com/gh_mirrors/qv/QVerisFlow点击查看免费下载相关推荐Prefect暂停恢复手动干预工作流执行Prefect暂停恢复手动干预工作流执行 在现代数据工程和自动化工作流中能够灵活控制工作流的执行状态至关重要。Prefect作为领先的工作流编排框架提供了工作流自动化流程编排任务调度数据工程后端dowhen实时监控与应用行为干预的强大工具dowhen实时监控与应用行为干预的强大工具 项目介绍 dowhen 是一个轻量级、易于使用的Python库它通过一种直观且易于维护的方式实现了代码的动态修Ludic实战构建无JavaScript的CRUD应用增删改查完整示例Ludic实战构建无JavaScript的CRUD应用增删改查完整示例 Ludic是一个基于Python的类型安全HTML模板引擎它采用类React的组创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑