# Qflow **Repository Path**: ChaoYouAi/Qflow ## Basic Information - **Project Name**: Qflow - **Description**: Qflow 是一个本人原创基于 Python 开发的轻量级可视化自动化流程编辑器。用户通过简单拖拽节点、连接连线的方式,构建复杂的桌面自动化任务,源码开放、绿色单文件、离线不联网、不需要独显!它集成了 图像识别 (OpenCV)、键鼠模拟、音频检测 以及 逻辑控制,非常适合用于办公自动化或重复性任务处理。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: https://github.com/Qwejay/Qflow - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2026-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Qflow 1.6 - 可视化桌面自动化工具(Desktop Automation Tool)

demo
无需编程基础,通过节点拖拽实现强大的桌面自动化流程。

## 📖 简介 (Introduction) **Qflow** 是一个本人原创基于 Python 开发的轻量级可视化自动化流程编辑器。用户通过简单拖拽节点、连接连线的方式,构建复杂的桌面自动化任务,源码开放、绿色单文件、离线不联网、不需要独显! 它集成了 **图像识别 (OpenCV)**、**键鼠模拟**、**音频检测** 以及 **逻辑控制**,非常适合用于办公自动化或重复性任务处理。 ## ✨ 核心功能 (Features) * **🎨 可视化编辑器**:支持节点拖拽、无限画布缩放/平移、框选、撤销/重做。 * **👁️ 视觉感知**: * **图像寻找**:集成 OpenCV,支持模板匹配和特征匹配(SIFT/AKAZE),支持多尺度搜索。 * **静止检测**:监控屏幕特定区域是否静止(例如判断加载是否完成)。 * **🖱️ 键鼠控制**: * 支持鼠标点击、移动、拖拽、滚动。 * 支持键盘文本输入及组合键(快捷键)操作。 * **🔊 音频触发**:能够检测系统音量峰值(Windows),实现"听到声音执行操作"。 * **🧠 逻辑控制**: * 包含循环 (Loop)、序列 (Sequence)、延时 (Wait)。 * 支持变量 (Set/Get) 和条件分流 (Switch),可构建复杂的业务逻辑。 * **🛠️ 便捷工具**: * 内置截图工具,直接截取屏幕目标作为节点参数。 * 支持多种主题切换(Dark/Light/Hacker)。 * 全局快捷键启停。 ## 📋 更新日志 (Changelog) ### v1.6 * **新增绑定窗口节点**:所有操作都可以绑定到用户选定的窗口中,确保后续操作在目标窗口内进行。 * **新增程序控制节点**: * **🚀 打开程序**:支持启动外部应用程序 * **⚓ 绑定窗口**:可精确绑定特定窗口,实现更稳定的窗口内操作 * **界面优化**: * 移除了 Hacker 主题,保留 Dark 和 Light 主题 * 优化了节点颜色配置,新增窗口节点专用颜色 * **功能增强**: * 日志系统重构,简化了日志级别显示 * 端口连接增强,新增 success/fail 端口支持 * **稳定性提升**: * 改进了 DPI 缩放处理 * 优化了窗口检测算法,提高了准确性 ## ⚙️ 安装与运行 (Installation) ### 环境要求 * Python 3.8+ * Windows (音频检测功能依赖 Windows API,其他功能可在 macOS/Linux 运行但需调整部分代码) ### 步骤 1. **克隆仓库** ```bash git clone https://github.com/Qwejay/Qflow.git cd Qflow ``` 2. **安装依赖** 建议使用虚拟环境: ```bash pip install -r requirements.txt ``` *注意:如果没有安装 `opencv-python`,程序仍可运行,但高级图像识别功能受限。* 3. **运行程序** ```bash python main.py ``` ## 🎮 使用说明 (Usage) ### 界面概览 * **左侧工具栏**:包含所有可用节点,按类别分组(逻辑、动作、视觉)。 * **中间画布**:主要工作区。右键点击画布也可呼出节点菜单。 * **右侧属性面板**:点击任意节点,在此处配置详细参数(如点击坐标、图片阈值、循环次数等)。 * **底部日志**:显示当前的运行状态和错误信息。 ### 快捷键 (Hotkeys) | 操作 | 快捷键 | | :--- | :--- | | **启动流程** | ` + 1` (默认) | | **停止流程** | ` + 2` (默认) | | **删除节点** | `Delete` | | **撤销** | `Ctrl + Z` | | **重做** | `Ctrl + Y` | | **多选节点** | 按住鼠标左键拖拽框选 | ### 快速开始 1. 拖入一个 **Start (开始)** 节点。 2. 拖入一个 **Image (找图)** 节点。 3. 点击找图节点,在右侧属性面板点击 "📸 截取",框选屏幕上的目标。 4. 将 Start 的 `out` 端口连接到 Image 的 `in` 端口。 5. 拖入一个 **Mouse (鼠标)** 节点,设置为点击操作,连接 Image 的 `found` 端口。 6. 点击顶部 "▶ 启动" 或按 `Alt+1` 运行。 ## 📦 依赖库说明 * **tkinter**:构建 GUI 界面。 * **pyautogui**: 实现鼠标和键盘的模拟控制。 * **opencv-python (cv2)**: 提供强大的图像识别算法。 * **pycaw / comtypes**: 用于 Windows 系统下的音频会话捕捉。 * **pynput**: 用于监听全局快捷键。 ## ⚠️ 免责声明 本工具仅供学习和个人办公辅助使用。请勿用于开发违反游戏服务条款的脚本或恶意软件。作者不对使用本工具造成的任何后果负责。 ## 📄 License MIT License