# Agent Skills 技能系统 ## 📋 技能列表 ### 1. BaseSkill - 基础技能 所有技能的基类,提供通用UI操作方法。 **功能:** - ✅ APP启动/关闭 - ✅ 点击/输入/滑动 - ✅ 元素查找 - ✅ 截图 - ✅ **搜索功能**(新增) - ✅ **复合命令执行**(新增) - ✅ **智能等待**(新增) ### 2. VoiceControlSkill - 语音控制技能 解析和执行语音命令,支持复合命令。 **功能:** - ✅ 语音命令解析 - ✅ 复合命令拆分("打开豆包,搜索今天去哪") - ✅ 搜索关键词提取 - ✅ 自动执行操作序列 **示例:** ```python skill = VoiceControlSkill(device) result = skill.execute_voice_command("打开豆包,搜索今天去哪") ``` ### 3. AppManagerSkill - 应用管理技能 管理应用的打开、关闭、切换。 **功能:** - ✅ 打开应用(支持中文名称) - ✅ 关闭应用 - ✅ 切换应用 - ✅ 获取运行中的应用 - ✅ 获取已安装应用列表 **示例:** ```python skill = AppManagerSkill(device) result = skill.open_app("微信") result = skill.switch_app("豆包") ``` ### 4. SearchSkill - 通用搜索技能 在任何APP内执行搜索操作。 **功能:** - ✅ 智能查找搜索框 - ✅ 输入搜索关键词 - ✅ 执行搜索 - ✅ 支持语音输入(中文) **示例:** ```python skill = SearchSkill(device) result = skill.search_in_app("今天去哪", app_package="com.bytedance.doubao") ``` ### 5. WechatSkill - 微信技能(已优化) 微信操作技能,支持复合任务。 **新增功能:** - ✅ `send_message_with_search()` - 通过搜索发送消息 - ✅ `execute_compound_task()` - 执行复合任务("给张三发消息:你好") - ✅ 使用`wait_for_app_ready()`等待应用加载 **示例:** ```python skill = WechatSkill(device) # 方式1:普通发送 result = skill.send_message("张三", "你好") # 方式2:通过搜索发送(更可靠) result = skill.send_message_with_search("张三", "你好") # 方式3:复合任务 result = skill.execute_compound_task("给张三发消息:下午开会") ``` ### 6. DouyinSkill - 抖音技能(已优化) 抖音操作技能。 **优化:** - ✅ 使用`wait_for_app_ready()`等待应用加载 - ✅ 改进错误处理 --- ## 🚀 使用方式 ### 方式1:直接使用Skill ```python from agent.skills import WechatSkill, VoiceControlSkill # 初始化 wechat = WechatSkill(device) voice = VoiceControlSkill(device) # 执行操作 result = wechat.send_message("张三", "你好") result = voice.execute_voice_command("打开微信") ``` ### 方式2:使用SkillExecutor(推荐) ```python from agent.skill_executor import SkillExecutor executor = SkillExecutor(device) # 自动选择合适的Skill执行 result = executor.execute_command("打开豆包,搜索今天去哪") result = executor.execute_wechat_task("给张三发消息:下午开会") ``` --- ## 📝 支持的语音命令 ### 应用操作 - "打开微信" - "打开豆包" - "打开抖音" - "切换到微信" ### 复合命令 - "打开豆包,搜索今天去哪" - "打开微信,给张三发消息:你好" - "打开抖音,向上滑动" ### 导航操作 - "返回" - "回到桌面" - "最近任务" ### 滑动操作 - "向上滑" - "向下滑" - "左滑" - "右滑" ### 系统操作 - "截图" - "锁屏" --- ## 🔧 技能注册 所有技能在`skills/__init__.py`中注册: ```python SKILL_REGISTRY = { "wechat": WechatSkill, "douyin": DouyinSkill, "xhs": XhsSkill, "voice_control": VoiceControlSkill, "app_manager": AppManagerSkill, "search": SearchSkill, } ``` --- ## 🎯 最佳实践 1. **使用SkillExecutor**:自动选择合适的Skill 2. **复合命令**:使用语音控制技能处理复杂任务 3. **错误处理**:检查返回的`success`字段 4. **等待应用**:使用`wait_for_app_ready()`确保应用加载完成 --- ## 📚 相关文档 - `base.py` - 基础技能类 - `skill_executor.py` - 技能执行器 - `voice_control.py` - 语音控制实现 - `app_manager.py` - 应用管理实现 - `search.py` - 搜索功能实现