# AtomFlow **Repository Path**: sujita_admin/AtomFlow ## Basic Information - **Project Name**: AtomFlow - **Description**: AtomGo项目致力于将现有脚本拆分为原子化能力,并进行智能编排。通过标注脚本片段,形成可灵活调用的原子化单元。智能体依据优化后的提示词,精准调度这些原子化能力,高效执行任务流程,简化复杂操作,提升自动化效率 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-10 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AtomClicker ## 项目简介 AtomClicker是一个基于PyAutoGUI的自动化任务执行工具。它通过将任务分解为原子化操作步骤,并根据用户定义的JSON脚本执行这些步骤,实现自动化任务的高效执行。项目支持点击操作、输入操作和等待操作,并提供日志记录和异常处理功能。 ## 项目结构 ```plaintext AtomClicker/ ├── main.py ├── app/ │ ├── atomic_actions/ │ │ ├── __init__.py │ │ ├── click_actions.py │ │ ├── input_actions.py │ │ └── wait_actions.py │ ├── workflow/ │ │ ├── __init__.py │ │ ├── task_workflow.py │ │ └── user_script_workflow.py │ └── utils/ │ ├── __init__.py │ ├── logging_utils.py │ ├── exception_utils.py │ └── coordinate_utils.py ├── config/ │ ├── config.py │ └── atomic_list.json ├── assets/ │ ├── icons/ │ │ ├── icon1.png │ │ ├── icon2.png │ │ └── ... │ └── screenshots/ │ ├── reference/ │ │ ├── screenshot1.png │ │ ├── screenshot2.png │ │ └── ... │ └── process/ │ ├── run1/ │ │ ├── step1.png │ │ ├── step2.png │ │ └── ... │ ├── run2/ │ │ ├── step1.png │ │ ├── step2.png │ │ └── ... │ └── ... ├── scripts/ │ ├── user_script1.json │ ├── user_script2.json │ └── ... ├── process/ │ └── ... ├── logs/ │ └── app.log └── requirements.txt ``` ## 文件和文件夹说明 ### 项目根目录 - `main.py`:项目的主入口文件,负责启动整个程序,调用核心功能模块,控制程序的整体流程。 - 导入所需的模块和函数。 - 初始化程序所需的配置和资源。 - 调用原子化能力编排模块,开始执行任务流程。 - 处理程序的异常情况,确保程序的稳定运行。 ### `app/` 文件夹 - `atomic_actions/`:存放原子化操作相关的文件。 - `__init__.py`:初始化文件,使文件夹成为Python包。 - `click_actions.py`:定义点击操作相关的原子化函数。 - `input_actions.py`:定义输入操作相关的原子化函数。 - `wait_actions.py`:定义等待操作相关的原子化函数。 - `workflow/`:存放任务流程编排相关的文件。 - `__init__.py`:初始化文件,使文件夹成为Python包。 - `task_workflow.py`:定义任务流程相关的函数,按照原子清单的顺序调用原子化操作函数。 - `user_script_workflow.py`:定义用户脚本执行相关的函数,解析用户定义的JSON脚本并执行。 - `utils/`:存放辅助功能相关的文件。 - `__init__.py`:初始化文件,使文件夹成为Python包。 - `logging_utils.py`:定义日志记录相关的函数,设置日志格式和输出路径。 - `exception_utils.py`:定义异常处理相关的函数,统一处理程序中的异常情况。 - `coordinate_utils.py`:定义坐标转换等其他辅助功能函数。 ### `config/` 文件夹 - `config.py`:存储项目所需的配置信息,如屏幕分辨率、操作延迟、原子清单文件路径等。 - `atomic_list.json`:以JSON格式存储原子清单,记录任务流程中每个步骤对应的原子化操作名称及相关参数。 ### `assets/` 文件夹 - `icons/`:存放需要点击的图标文件。 - `icon1.png`、`icon2.png`等图标文件,用于在操作过程中识别和点击。 - `screenshots/`:存放截图文件,用于辅助操作或验证。 - `reference/`:存放参考截图,用于图像匹配或验证。 - `screenshot1.png`、`screenshot2.png`等参考截图文件。 - `process/`:存放运行过程中的截图,用于记录和调试。 - `run1/`、`run2/`等文件夹,每个文件夹对应一次运行过程。 - `step1.png`、`step2.png`等运行过程中的截图文件。 ### `scripts/` 文件夹 - `user_script1.json`、`user_script2.json`等用户定义的JSON脚本文件,包含具体的任务流程和操作步骤。 ### `process/` 文件夹 - 存放运行过程中的相关数据和文件,用于记录和调试。 ### `logs/` 文件夹 - `app.log`:记录程序运行过程中的日志信息,方便调试和问题排查。 ### `requirements.txt` 文件 - 列出项目依赖的Python包,方便在不同环境中快速安装依赖。 - 包含PyAutoGUI及其他可能用到的第三方库的名称和版本号,如`pyautogui==0.9.53`。 ## 项目启动 1. **安装依赖**: ```sh pip install -r requirements.txt ``` 2. **运行项目**: ```sh python main.py ``` ## 项目维护 - **日志记录**:所有运行日志将记录在`logs/app.log`文件中,方便调试和问题排查。 - **资源管理**:图标和截图文件存放在`assets/`文件夹中,用户脚本存放在`scripts/`文件夹中。 - **配置管理**:项目配置信息存放在`config/config.py`和`config/atomic_list.json`文件中。 ## 贡献指南 - **代码提交**:请遵循项目的代码规范,确保代码风格一致。 - **文档更新**:更新`README.md`文件,确保文档与代码同步。 - **测试**:在提交代码前,请确保所有功能正常运行,无明显bug。