本帖最后由 QweJay 于 2026-5-23 19:57 编辑
无需编程基础,通过节点拖拽实现强大的桌面自动化流程。
📖 简介 (Introduction)
Qflow 是一个本人原创基于 Python 开发的轻量级可视化自动化流程编辑器。用户通过简单拖拽节点、连接连线的方式,即可构建复杂的桌面自动化任务。
- 源码开放:完全透明的逻辑实现。
- 绿色单文件:无需繁琐安装。
- 隐私安全:离线运行,不联网,不上传任何数据。
- 低资源占用:无需独显,普通办公电脑即可运行。
✨ 核心功能 (Features)
- 🎨 可视化编排:支持节点拖拽、无限画布缩放/平移、框选操作、撤销/重做。
- 👁️ 视觉感知:
- 智能找图:集成 OpenCV,支持模板匹配、AKAZE 特征匹配,支持多尺度自动搜索。
- 静止监控:监控屏幕区域是否静止(如判断软件是否加载完成)。
- 🖱️ 键盘/鼠标控制:支持点击、移动、拖拽、滚动,支持文本输入及快捷键触发。
- 🔊 音频触发:内置音频峰值检测(Windows),实现“听到声音即触发”的自动化。
- 🧠 复杂逻辑支持:
- 流控制:循环 (Loop)、多路径分支 (Sequence)、条件判断 (Switch)。
- 变量交互:变量存取,支持剪贴板读取与写入,实现多应用数据协同。
- 🛠️ 开发者工具:内置像素级截图工具,智能窗口拾取,支持实时匹配测试。
📋 更新日志 (Changelog)
[1.7.5] - 2026-05-23
- 坐标拾取与窗口绑定重构:
- 修复:彻底解决了窗口绑定模式下,拾取坐标与执行路径坐标双重叠加、漂移的严重 Bug。
- 新增:在拾取时,若流程中包含绑定的活跃窗口,系统会在屏幕上自动绘制蓝虚线框高亮标识该窗口,并在点击时自动扣除窗口左上角的偏移量,直接将其转换为高精度的相对窗口坐标,无需再手动换算。
- 优化:改用 Windows 原生系统级
user32.GetCursorPos API 检索绝对物理坐标,完美解决混合 DPI 缩放及多显示器环境下的物理像素偏离问题。
- 提示模块与变量机制增强:
- 新增:提示节点(
notify)增加对单花括号形式 {变量名}(如 {clipboard_data})动态变量解析的支持。
- UI 状态同步与稳定性修复:
- 修复:修复了在属性面板修改节点文本(如提示内容)后,由于画布节点未及时重绘,导致在点击其他地方触发 Canvas 节点组件失焦(
FocusOut)时,未重绘的旧文本重新回写覆盖新文本的严重细节冲突。现已在 GraphNode.update_data 中为核心交互键添加了动态静默重绘机制。
- 优化:启动 500 毫秒后自动在日志控制台输出欢迎指引,降低新手上手门槛。
[1.7.4] - 2026-03-15
- 新增:工具箱滚动条、可调节日志面板。
- 稳定性修复:
- 修复多线程环境下 UI 交互导致的主线程阻塞/闪退问题。
- 修复多图检测节点中的 Bbox 坐标格式兼容性问题。
- 修复节点属性面板内存泄漏(清理旧 UI 组件)。
- 修复“序列”节点重复执行逻辑 Bug。
[1.7.3] - 2026-03-14
- 新增:工具箱滚动条、可调节日志面板。
- 优化:静止检测逻辑,新增“目标窗口防遮挡”自动回拉机制。
[1.7.2] - 2026-03-14
- 新增:
📋 剪贴板 节点,支持另存为/原位保存逻辑。
- 优化:全局微软雅黑字体,提升高分屏显示体验。
- 修复:窗口选取时的截图遮挡 Bug,修复属性面板连续输入被打断 Bug。
🎮 使用说明 (Usage)
快捷键对照表
| 操作 |
默认快捷键 |
| 启动流程 |
F9 |
| 停止流程 |
F10 |
| 保存项目 |
Ctrl + S |
| 撤销/重做 |
Ctrl + Z / Ctrl + Y |
| 删除节点 |
Delete |
快速开始
- 拖拽:从左侧工具栏拖入一个
▶ 开始 节点。
- 连接:点击端口拖动连线到下一个节点。
- 设置:选中节点,在右侧面板配置动作(如:找图、点击、延时)。
- 运行:点击上方
▶ 启动 或使用快捷键 F9。
⚙️ 安装 (Installation)
-
环境准备:确保系统安装了 Python 3.8+。
-
下载代码:
git clone https://github.com/Qwejay/Qflow.git
cd Qflow
-
安装依赖
建议使用虚拟环境:
pip install -r requirements.txt
注意:如果没有安装 opencv-python,程序仍可运行,但高级图像识别功能受限。
-
运行程序
python main.py
🎮 使用说明 (Usage)
界面概览
- 左侧工具栏:包含所有可用节点,按类别分组(逻辑、动作、视觉)。
- 中间画布:主要工作区。右键点击画布也可呼出节点菜单。
- 右侧属性面板:点击任意节点,在此处配置详细参数(如点击坐标、图片阈值、循环次数等)。
- 底部日志:显示当前的运行状态和错误信息。
快捷键 (Hotkeys)
| 操作 |
快捷键 |
| 启动流程 |
<Alt> + 1 (默认) |
| 停止流程 |
<Alt> + 2 (默认) |
| 删除节点 |
Delete |
| 撤销 |
Ctrl + Z |
| 重做 |
Ctrl + Y |
| 多选节点 |
按住鼠标左键拖拽框选 |
快速开始
- 拖入一个 Start (开始) 节点。
- 拖入一个 Image (找图) 节点。
- 点击找图节点,在右侧属性面板点击 "📸 截取",框选屏幕上的目标。
- 将 Start 的
out 端口连接到 Image 的 in 端口。
- 拖入一个 Mouse (鼠标) 节点,设置为点击操作,连接 Image 的
found 端口。
- 点击顶部 "▶ 启动" 或按
Alt+1 运行。
📦 依赖库说明
- tkinter:构建 GUI 界面。
- pyautogui: 实现鼠标和键盘的模拟控制。
- opencv-python (cv2): 提供强大的图像识别算法。
- pycaw / comtypes: 用于 Windows 系统下的音频会话捕捉。
- pynput: 用于监听全局快捷键。
⚠️ 免责声明
本工具仅供学习和个人办公辅助使用。请勿用于开发违反游戏服务条款的脚本或恶意软件。作者不对使用本工具造成的任何后果负责。
📄 License
GPL License
下载地址:
https://github.com/Qwejay/Qflow/releases
lanzouyun:https://qwejay.lanzouu.com/b0fq1lbmh
密码:3idd |