# test_nextjs **Repository Path**: adcsj/test_nextjs ## Basic Information - **Project Name**: test_nextjs - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: test2 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-30 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📱 Phone Agent ![Phone Agent Logo](static/logo.png) 一个基于AI的智能手机自动化助手,通过自然语言控制Android设备执行各种任务。 ## ✨ 功能特性 ### 🎯 智能任务执行 - **自然语言交互**: 用中文或英文描述您想要执行的任务 - **自动应用识别**: 智能识别需要使用的应用程序 - **步骤化执行**: 将复杂任务分解为简单的操作步骤 - **状态验证**: 每步操作后自动验证执行结果 ### 📚 知识库管理 - **应用文档**: 内置常用应用的操作指南和帮助文档 - **向量搜索**: 基于语义的智能搜索,快速找到相关操作指导 - **持续学习**: 支持添加新的应用和操作知识 ### 🛠️ 设备控制 - **ADB集成**: 通过Android Debug Bridge控制设备 - **多设备支持**: 自动检测并支持多个连接的设备 - **UI交互**: 支持点击、滑动、文本输入等操作 - **屏幕分析**: 实时分析屏幕界面元素 ### 🌐 可视化配置 - **Web界面**: 基于Streamlit的直观配置界面 - **配置管理**: 统一管理API密钥和系统设置 - **数据导入导出**: 支持批量导入应用和文档数据 - **实时监控**: 查看系统状态和数据库信息 ## 🚀 快速开始 ### 系统要求 - Python 3.10+ - Android设备(已开启USB调试模式) - ADB (Android Debug Bridge) 工具 ### 安装步骤 1. **克隆项目** ```bash git clone cd phoneAgent ``` 2. **安装依赖** ```bash # 使用 uv (推荐) uv sync # 或使用 pip pip install streamlit pandas numpy openai requests fastmcp dotenv ``` 3. **设备连接** ```bash # 确保Android设备已连接并开启USB调试 adb devices ``` 4. **启动配置界面** ```bash # 启动Web配置界面 ./start_ui.sh # 或 streamlit run main_ui.py ``` 5. **完成配置** 在浏览器中访问 http://localhost:8501 并配置: - OpenAI Base URL - OpenAI API Key - 其他可选设置 6. **运行主程序** ```bash python main.py ``` ## 💻 使用示例 ### 基础使用 ```bash # 启动助手 python main.py # 示例请求: # "帮我发一条朋友圈:今天天气真好!" # "打开微信并给张三发消息" # "帮我设置一个明天早上7点的闹钟" ``` ### 高级配置 ```bash # 开发者模式启动 streamlit run main_ui.py --server.runOnSave=true --server.enableCORS=false --logger.level=debug # 检查配置状态 python config_loader.py ``` ## 🔧 配置说明 ### 环境变量 系统支持以下环境变量配置: | 变量名 | 必需 | 默认值 | 说明 | |--------|------|--------|------| | `openai_baseurl` | ✅ | - | API服务地址 | | `openai_key` | ✅ | - | API密钥 | | `actions_model` | ✅ | `zai-org/glm-4.5` | 动作执行模型 | | `ADB_PATH` | ✅ | `adb` | ADB工具路径 | | `db_path` | ❌ | `mobile_agent_help.db` | 数据库文件路径 | ### 配置优先级 1. 运行时环境变量(最高优先级) 2. `.env` 文件 3. `config.json` 文件(最低优先级) ## 🏗️ 项目架构 ``` phoneAgent/ ├── core/ # 核心功能模块 │ ├── Agent/ # AI助手模块 │ │ ├── KnowledgeAssistant.py # 知识助手 │ │ └── ActionAgent.py # 动作执行助手 │ ├── Base/ # 基础组件 │ │ ├── AgentBase.py # 代理基类 │ │ ├── JsonUtil.py # JSON工具 │ │ └── vector_db.py # 向量数据库 │ └── phone.py # 手机设备控制 ├── config_loader.py # 配置加载器 ├── streamlit_config.py # Web配置界面 ├── main.py # 主程序入口 ├── knowledge_manager.py # 知识库管理 ├── add_help_document.py # 文档添加工具 ├── start_ui.sh # 启动脚本 └── static/ # 静态资源 └── logo.png # 项目Logo ``` ### 核心组件 1. **Phone类** (`core/phone.py`): ADB包装器,处理设备控制、UI交互、屏幕分析 2. **KnowledgeAssistant** (`core/Agent/KnowledgeAssistant.py`): 知识库查询和应用识别 3. **ActionAgent** (`core/Agent/ActionAgent.py`): 执行自动化任务和操作序列 4. **配置系统** (`config_loader.py`): 环境变量管理和配置验证 5. **Web界面** (`streamlit_config.py`): 可视化配置和知识库管理 ## 📊 数据流 ``` 用户输入 → KnowledgeAssistant → 知识库查询 → 应用识别 ↓ ActionAgent → 启动应用 → 执行步骤 → 状态验证 → 完成任务 ``` ## 🔍 支持的应用 系统内置了对以下应用的支持(持续扩展中): - 微信 (com.tencent.mm) - QQ (com.tencent.mobileqq) - 支付宝 (com.eg.android.AlipayGphone) - 淘宝 (com.taobao.taobao) - 抖音 (com.ss.android.ugc.aweme) 您可以通过Web界面添加更多应用和操作文档。 ## 🛠️ 开发指南 ### 添加新应用支持 1. 在Web界面中添加新应用信息 2. 为应用添加操作帮助文档 3. 测试知识库搜索功能 4. 验证自动化操作流程 ### 扩展功能 - 添加新的ADB操作方法 - 集成更多AI模型 - 扩展知识库搜索算法 - 增强UI元素识别能力 ### 贡献指南 1. Fork 项目 2. 创建功能分支 3. 提交更改 4. 发起 Pull Request ## 🐛 故障排除 ### 常见问题 1. **设备连接失败** ```bash # 检查ADB连接 adb devices # 重新连接设备 adb kill-server adb start-server ``` 2. **配置加载失败** ```bash # 检查配置文件 cat config.json # 重新配置 python config_loader.py ``` 3. **应用启动失败** ```bash # 检查应用是否安装 adb shell pm list packages [package_name] # 查看错误日志 adb logcat ``` 4. **Web界面无法访问** ```bash # 更换端口 streamlit run streamlit_config.py --server.port 8502 # 检查防火墙设置 sudo ufw status ``` ### 调试模式 ```bash # 启用详细日志 export PYTHONPATH=$PYTHONPATH:. python main.py # Streamlit调试模式 streamlit run streamlit_config.py --logger.level=debug ``` ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🤝 支持 如果您在使用过程中遇到问题或有改进建议,请: 1. 查看 [FAQ](docs/FAQ.md) 2. 提交 [Issue](issues) 3. 查看 [Wiki](wiki) --- **让AI为您的智能手机生活带来便利!** 🎉 Made with ❤️ using Python, Streamlit, and AI