Metadata-Version: 2.1
Name: sma-autoui
Version: 0.1.5
Summary: Smart Mobile Automation UI Framework
Home-page: https://github.com/Fun-Fox
Author: FunFox
Author-email: FunFox@example.com
License: MIT
Requires-Python: >=3.7.16
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: loguru>=0.7.0
Requires-Dist: pytz>=2020.4
Requires-Dist: appium-python-client>=2.1.4
Requires-Dist: pillow>=9.5.0
Requires-Dist: lxml==5.1.0
Requires-Dist: opencv-contrib-python==4.13.0.90
Requires-Dist: ddddocr>=1.5.6
Requires-Dist: requests>=2.27.1
Requires-Dist: jinja2>=3.0.3
Requires-Dist: openai>=1.39.0
Requires-Dist: paramiko>=3.5.1
Requires-Dist: filelock>=3.12.2
Requires-Dist: python-dotenv>=0.21.1
Requires-Dist: pymysql>=1.0.2

# SMA AutoUI

智能移动自动化 UI 框架

## 🚀 快速开始

```bash
# 从 PyPI 安装
pip install sma-autoui

# 或从源码安装
pip install .
```

## 🌟 核心特性

* ✅ **多平台适配**: 支持多个社交平台 API 集成
* ✅ **智能混合模式**: 多种策略自动选择机制
* ✅ **Session 复用**: 跨任务会话管理架构
* ✅ **视觉匹配**: SIFT + OCR 双模式识别
* ✅ **ADB 直达**: 浏览器链接直接跳转设计
* ✅ **AI 驱动**: LLM 接口封装
* ✅ **自愈能力**: UI 异常诊断与自动恢复

## 📦 项目结构

### 框架核心层 (sma_autoui/)

**Driver 层** - 设备交互与自动化驱动
- `driver/` - ADB/Appium/Vision 三层驱动
- `actions.py` - 动作执行（点击/滑动/按键）
- `locator.py` - 元素定位与查找
- `automator.py` - Appium Session 管理
- `vision.py` - 视觉识别与图像处理
- `browser.py` - 浏览器控制

**Vision 层** - 纯视觉分析能力
- `vision/` - SIFT/模板匹配/OCR
- `business_matchers/` - 业务图像匹配器
- `assets/` - 平台图标资源库

**LLM 层** - 大模型交互封装
- `llm/` - API 调用与提示词管理
- `client.py` - 模型请求与 Token 统计
- `parser.py` - 结果解析与后处理

**Common 层** - 零业务依赖工具集
- `common/` - 通用工具函数库
- `config.py` - 全局配置管理
- `logger.py` - 日志系统
- `notifier.py` - 飞书通知
- `uploader.py` - 文件上传服务

**Platform 层** - 平台业务逻辑抽象
- `platform/` - 平台级公共功能
- `tiktok/` - TikTok 平台实现
- `fb/` - Facebook 平台实现
- `wa/` - WhatsApp 平台实现

**Engine 层** - 运行时调度与编排
- `engine/` - 任务调度框架
- `runner.py` - TaskRunner（重试/保活/追踪）
- `recovery.py` - RecoveryController（自愈策略）

**Flows 层** - AI 认知工作流
- `flows/` - AI 任务管线
- `base_flow.py` - Flow 基类
- `gen_comment_flow.py` - 评论生成工作流
- `diagnosis_flow.py` - 异常诊断工作流

**Store 层** - 数据持久化
- `store/` - 规则与缓存存储
- `rule_store.py` - 规则 CRUD
- `default_rules_*.json` - 默认规则集

## 📖 文档说明

完整文档请查看 [docs 文件夹](./docs/):

| 文档 | 用途 |
|----------|----------|
| [🛠️ 配置指南](./docs/APPIUM_SETUP_GUIDE.md) | 环境搭建与验证 |
| [🏗️ 系统架构](./docs/ARCHITECTURE.md) | 系统设计 & 模块结构 |
| [💡 点击机制](./docs/CCLICK_MECHANISMS.md) | ADB vs Appium vs W3C Actions |
| [⚠️ 常见问题](./docs/PITFALLS.md) | 常见错误与解决方案 |
| [🛣️ 路线图](./docs/ROADMAP.md) | 开发计划 |

## 💻 使用示例

```python
# 基本使用流程示例
from sma_autoui.driver import Driver, Device

# 1. 初始化设备
device = Device(device_name="172.25.2.20:5555", adb_port=5002)

# 2. 创建驱动实例
driver = Driver(
    device=device,
    appium_url="http://localhost:4723/wd/hub",
    task_name="example_task"
)

# 3. 使用高级 API
driver.smart_find(locators=[...], timeout=10)
driver.tap_by_adb(x=500, y=800)

# 4. 任务自动重试与保活
# TaskRunner 会处理异常恢复和 Session 管理
```

详细使用请参考各模块文档。

## 🔧 从源码安装

```bash
git clone https://github.com/Fun-Fox/sma_autoui.git
cd sma_autoui
pip install -r requirements.txt
pip install -e .
```

## 📄 开源协议

MIT License

---

Built with ❤️ by FunFox
