# auth_tools **Repository Path**: jack1995/auth_tools ## Basic Information - **Project Name**: auth_tools - **Description**: auth_tools - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动化流程管理器 (Automation Flow Manager) 一个强大的跨平台桌面自动化工具,集成AI数据分析功能,使用Go语言、Fyne GUI框架、RobotGo自动化库和SQLite数据库构建。 ## 🌟 核心特性 ### 基础自动化功能 - **鼠标控制**: 移动、点击、双击,支持实时坐标采集 - **键盘输入**: 文本自动输入和快捷键模拟 - **屏幕截图**: 自动截屏,支持循环中的唯一文件命名 - **循环执行**: 支持嵌套子步骤的循环操作 - **流程保存**: JSON格式的自动化流程持久化 ### AI驱动的数据分析 - **智能分析**: 集成Claude CLI进行AI驱动的图像数据分析 - **K线图分析**: 专门针对金融K线图的智能分析 - **JSON提取**: 自动从AI响应中提取结构化JSON数据 - **数据持久化**: SQLite数据库存储所有AI分析结果 ### 用户体验 - **直观界面**: 基于Fyne的现代化GUI设计 - **实时预览**: 步骤列表实时显示,支持层级结构 - **智能按钮**: AI分析按钮仅在截屏步骤后启用 - **错误处理**: 完善的错误提示和类型兼容性处理 ## 🏗️ 项目架构 ``` auth_tools/ ├── cmd/automation-flow-manager/ # 主应用程序入口 │ └── main.go # 应用启动和UI初始化 ├── internal/ # 内部包 │ ├── ui/ # UI组件和状态管理 │ ├── executor/ # 步骤执行引擎 │ │ ├── executor_robotgo.go # 真实自动化执行器 │ │ └── executor_mock.go # 模拟执行器(测试用) │ └── platform/ # 平台特定功能 ├── pkg/ # 公共包 │ ├── models/ # 数据模型 │ ├── database/ # SQLite数据库访问层 │ └── utils/ # 工具函数(JSON提取等) ├── scripts/ # 构建脚本 └── examples/ # 示例流程文件 ``` ## 🚀 快速开始 ### 环境要求 - **Go**: 1.23.0 或更高版本 - **Claude CLI**: 用于AI分析功能(可选) - **CGO**: 用于RobotGo真实自动化(Windows需要mingw-w64) ### 安装依赖 ```bash # 克隆项目 git clone cd auth_tools # 安装Go依赖 go mod tidy ``` ### 运行应用 ```bash # 开发模式运行 go run ./cmd/automation-flow-manager # 编译后运行 go build -o automation-flow-manager ./cmd/automation-flow-manager ./automation-flow-manager ``` ### 跨平台构建 ```bash # Linux/macOS ./scripts/build.sh win # 构建Windows版本 ./scripts/build.sh mac # 构建macOS版本 # Windows scripts\build.bat win # 构建Windows版本 scripts\build.bat mac # 构建macOS版本 ``` ## 📖 使用指南 ### 1. 基础自动化流程 1. **添加鼠标操作** - 点击"添加鼠标移动"设置目标坐标 - 使用"采集鼠标位置"功能实时获取坐标 - 添加点击或双击操作 2. **添加键盘输入** - 点击"添加键盘输入" - 输入要自动输入的文本内容 3. **创建循环** - 点击"添加循环"设置循环次数和延迟 - 添加需要重复执行的子步骤 4. **保存和加载** - 使用"保存流程"将自动化序列保存为JSON文件 - 使用"加载流程"恢复之前保存的流程 ### 2. AI数据分析工作流 1. **截取屏幕** ``` 添加截屏步骤 → 设置保存路径 → 执行截屏 ``` 2. **AI分析** ``` 截屏完成后 → "添加AI数据分析"按钮自动启用 → 输入分析提示词 → 执行AI分析 ``` 3. **查看结果** - AI分析结果自动保存到SQLite数据库 - JSON数据自动提取和格式化 - 支持历史查询和数据导出 ### 3. K线图分析示例 默认提示词模板: ``` 帮我分析下这个k线图,从图中获取几个重要的指标: - 最后一柱的售价是多少? - 最后一柱是涨还是跌? - 最后一柱是在绿色虚线上还是虚线下? - 能不能购买(判断最后一注的下面是否有冒头的尖刺,有就可以买进)? 返回固定的json格式: { "price": 1658, "isUp": false, "OnGreenLine": true, "TrendInTheFirst": true, "canBuy": true } ``` ## 🛠️ 技术栈 ### 核心依赖 - **[Fyne v2.6.3](https://fyne.io/)**: 跨平台GUI框架 - **[RobotGo v0.110.8](https://github.com/go-vgo/robotgo)**: 系统自动化库 - **[modernc.org/sqlite v1.39.0](https://pkg.go.dev/modernc.org/sqlite)**: 纯Go SQLite实现 ### 关键特性 - **无CGO SQLite**: 使用纯Go实现,避免CGO复杂性 - **跨平台兼容**: 支持Windows、macOS、Linux - **内存安全**: Go语言的内存安全特性 - **并发支持**: Go的goroutine和channel机制 ## 🗄️ 数据库设计 ### AI分析结果表 (ai_analysis_results) ```sql CREATE TABLE ai_analysis_results ( id INTEGER PRIMARY KEY AUTOINCREMENT, model TEXT NOT NULL, -- AI模型名称 (如: "claude") json_data TEXT NOT NULL, -- 分析结果的JSON数据 created_at DATETIME DEFAULT CURRENT_TIMESTAMP -- 创建时间 ); ``` ### 数据库操作API ```go // 插入AI分析结果 result, err := database.InsertAIAnalysisResult("claude", jsonData) // 查询所有结果 results, err := database.GetAllAIAnalysisResults() // 按模型查询 results, err := database.GetAIAnalysisResultsByModel("claude") ``` ## 🎯 自动化步骤类型 ### 基础步骤 | 步骤类型 | 功能描述 | 参数 | |---------|---------|------| | `move_mouse` | 鼠标移动 | x, y坐标 | | `click_mouse` | 鼠标点击 | 按钮类型(left/right/middle) | | `move_and_click` | 移动并点击 | x, y坐标, 按钮类型 | | `move_and_double_click` | 移动并双击 | x, y坐标, 按钮类型 | | `keyboard_input` | 键盘输入 | 文本内容 | | `loop` | 循环执行 | 循环次数, 延迟时间, 子步骤 | | `screenshot` | 屏幕截图 | 保存路径 | ### AI增强步骤 | 步骤类型 | 功能描述 | 参数 | 前置条件 | |---------|---------|------|---------| | `ai_analysis` | AI数据分析 | 分析提示词 | 必须在screenshot步骤之后 | ## 🔧 配置说明 ### 环境变量 - 无需特殊环境变量配置 - Claude CLI需要在系统PATH中可访问 ### 配置文件 - 使用JSON格式保存自动化流程 - SQLite数据库文件自动创建在工作目录 ### 平台特定配置 - **Windows**: 需要mingw-w64用于CGO编译 - **Linux**: 需要X11开发库 (`libgl1-mesa-dev`, `xorg-dev`) - **macOS**: 需要Xcode命令行工具 ## 🚨 常见问题 ### 编译问题 ```bash # 如果遇到CGO问题,使用模拟执行器 go build -tags !robotgo -o automation-flow-manager ./cmd/automation-flow-manager # Windows交叉编译 CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-gcc go build ``` ### 运行时问题 - **GUI无法显示**: 检查是否安装了GUI库 - **截屏失败**: 检查屏幕访问权限 - **AI分析失败**: 确认Claude CLI已安装并配置 ### 数据库问题 - **数据库锁定**: 确保只有一个应用实例在运行 - **权限错误**: 检查工作目录的写入权限 ## 🤝 贡献指南 1. Fork项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启Pull Request ## 📄 许可证 本项目采用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🙏 致谢 - [Fyne](https://fyne.io/) - 优秀的Go GUI框架 - [RobotGo](https://github.com/go-vgo/robotgo) - 强大的自动化库 - [modernc.org/sqlite](https://pkg.go.dev/modernc.org/sqlite) - 纯Go SQLite实现 - [Claude AI](https://claude.ai/) - AI数据分析支持 --- **注意**: 本工具仅用于合法的自动化任务。请确保您的使用符合相关法律法规和服务条款。