# automatic_clicker_2 **Repository Path**: fasterthanlight/automatic_clicker_2 ## Basic Information - **Project Name**: automatic_clicker_2 - **Description**: 自动化控制、可视化操作、自动连点器、流程自动化、RPA - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 57 - **Forks**: 11 - **Created**: 2023-05-10 - **Last Updated**: 2026-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, 流程自动化, RPA ## README # Clicker 0.26 Beta Clicker 是一款基于 PySide6 的 Windows 自动化工具。启动入口为 `main.py`,主窗口控制器位于 `Start_Win.py`。 ## 当前架构 主窗口采用三栏布局: - 左侧为可搜索、可拖拽的指令树,内容完全由 `instructions.registry` 生成。 - 中央保留“处理状态”和“指令集合”两个页签;“指令集合”使用 `node_editor.NodeEditorWidget`,不再使用表格维护指令。 - 右侧为统一的“控制与操作”面板,包含循环设置、运行、暂停/恢复和结束任务。 正式指令是一条从“开始”到“结束”的完整单链。节点连线由 `graph_repository.py` 事务性保存,并同步重写命令排序;执行线程仍按排序后的单一指令列表运行。 ```text instructions/ # 32 条独立指令及唯一注册表 ├─ registry.py # InstructionSpec 清单和惰性加载入口 ├─ models.py # InstructionDraft、CommandRecord、ExecutionContext ├─ base.py # 参数编辑器与执行器统一接口 └─ <分类>/<指令名>/ ├─ <指令名>.ui ├─ <指令名>_ui.py └─ <指令名>.py # 独立参数窗口类和执行类 node_editor/ # 可嵌入节点画布与左侧指令树 graph_repository.py # 命令、节点、连线和 Excel 协议 old_ins/ # 旧导航窗口和单体指令代码,只读参考归档 ``` `old_ins/` 不属于运行时模块,也不会进入打包流程。活动代码不得从该目录导入任何对象。 ## 添加或维护指令 1. 在 `instructions/<分类>/<指令名>/` 中维护该指令自己的 `.ui`、生成的 `_ui.py`、参数编辑器和执行器。 2. 参数窗口通过 `InstructionDraft` 加载、校验并返回 JSON 可序列化参数,不直接拼接 SQL。 3. 执行器统一接收 `ExecutionContext + CommandRecord`,不得使用 `eval()` 读取参数。 4. 在 `instructions/registry.py` 的唯一清单中登记 `InstructionSpec`。主窗口指令树、编辑器加载、执行映射和 PyInstaller hidden imports 会自动使用此注册信息。 5. 修改 `.ui` 后使用项目虚拟环境重新生成对应 Python 文件,例如: ```powershell .\.venv\Scripts\pyside6-uic.exe instructions\键鼠\图像点击\图像点击.ui -o instructions\键鼠\图像点击\图像点击_ui.py ``` ## 数据目录 可迁移数据统一保存在程序同级的 `data` 文件夹: ```text data/ ├─ 命令集.db # 设置、变量、资源记录,以及命令和节点图 ├─ images/ # 截图和应用自有图片 ├─ exports/ # 默认导出目录 ├─ logs/ # 操作日志 └─ temp/ # 可随时清理的临时文件 ``` 迁移或备份时复制整个 `data` 文件夹即可。`flat`、`Window`、`instructions` 和图标目录是程序静态资源。用户添加的外部资源目录与外部文件仍保留原路径引用。 Excel 导入导出采用节点协议,工作表固定为“命令、节点、连线、设置”。导入会先完整验证 JSON、指令类型、节点引用和单链拓扑,验证成功后才事务性替换数据;旧表格格式不再兼容。 ## 开发与运行 优先使用项目虚拟环境: ```powershell .\.venv\Scripts\python.exe main.py ``` 依赖清单见 `requirements.txt` 和 `pyproject.toml`。生成主窗口 UI: ```powershell .\.venv\Scripts\pyside6-uic.exe Window\mainwindow.ui -o Window\mainwindow_ui.py ``` PyInstaller 打包说明见 `packaging/打包文件说明.md`。 ## 贡献者 - FasterThanLight - 邮箱:federalsadler@sohu.com - QQ:2309636438 - QQ 群:308994839([加入群聊](https://qm.qq.com/q/3ih3PE16Mg))