从0到1开发自定义技能:PageEyes Agent扩展能力完全指南
【免费下载链接】page-eyes-agentPageEyes Agent 是一个轻量级 UI Agent,通过自然语言指令驱动,无需编写脚本既可实现Web、Android平台的UI自动化任务。项目地址: https://gitcode.com/gh_mirrors/pa/page-eyes-agent
PageEyes Agent 是一个轻量级 UI Agent,通过自然语言指令驱动,无需编写脚本即可实现Web、Android平台的UI自动化任务。本文将带你快速掌握如何为其开发自定义技能,轻松扩展自动化能力边界。
为什么需要自定义技能?
PageEyes Agent 的核心优势在于其模块化架构,允许开发者通过技能扩展实现特定场景的自动化需求。无论是企业内部系统的专属操作,还是特定应用的复杂交互流程,自定义技能都能让Agent如虎添翼 🚀
查看官方技能示例:src/page_eyes/skills/gui-popup-handler/SKILL.md
技能开发核心概念
PageEyes Agent 整体框架
PageEyes Agent 的技能系统基于"感知-决策-执行"的闭环架构,自定义技能将作为决策层的重要补充:

图:PageEyes Agent的信息感知与指令下达流程,展示了技能在系统中的位置
技能执行流程
一个完整的技能执行包含以下阶段:
- 自然语言解析:将用户指令转换为技能调用参数
- 技能匹配:根据指令特征选择最合适的技能
- 执行规划:生成具体操作步骤
- 设备交互:通过Web/Mobile Agent执行操作
- 结果反馈:验证执行效果并生成报告

图:展示了技能从解析到执行的完整生命周期
快速开始:开发你的第一个技能
环境准备
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/pa/page-eyes-agent cd page-eyes-agent安装依赖:
uv install
技能文件结构
在src/page_eyes/skills/目录下创建技能目录,基本结构如下:
your-skill-name/ ├── __init__.py # 技能注册 ├── skill.py # 核心逻辑 ├── config.py # 配置参数 └── SKILL.md # 技能文档核心实现步骤
1. 定义技能元数据
在__init__.py中注册技能:
from .skill import YourSkill def register_skills(agent): agent.register_skill( name="your-skill-name", description="描述你的技能功能", parameters=["param1", "param2"], skill_class=YourSkill )2. 实现技能逻辑
在skill.py中编写核心执行代码:
from page_eyes.agent import BaseSkill class YourSkill(BaseSkill): def execute(self, params): # 获取页面元素信息 elements = self.agent.get_page_elements() # 实现自定义逻辑 result = self.process_elements(elements, params) # 返回执行结果 return { "success": True, "message": "技能执行完成", "data": result } def process_elements(self, elements, params): # 元素处理逻辑 pass技能调试与测试
本地测试
使用内置测试框架快速验证技能:
pytest tests/skills/ -k "your_skill_test"执行报告分析
技能执行后会生成详细报告,包含每一步操作的截图和元素信息:

图:展示了技能执行过程中的详细步骤记录与元素识别结果
高级技能开发技巧
1. 页面元素精确定位
利用 OmniParser 的视觉识别能力:
from OmniParser2.core.parse import parse_page elements = parse_page(screenshot_path, model_type="icon")相关源码:OmniParser2/core/parse.py
2. 上下文记忆功能
使用记忆模块保存和复用中间结果:
# 保存数据 self.agent.memory.set("user_preferences", {"theme": "dark"}) # 读取数据 prefs = self.agent.memory.get("user_preferences")记忆模块实现:OmniParser2/util/context.py
3. 多平台适配
同时支持Web和移动平台:
if self.agent.platform == "web": # Web平台逻辑 self.agent.web_agent.click(element) elif self.agent.platform == "android": # Android平台逻辑 self.agent.mobile_agent.tap(element)平台工具实现:src/page_eyes/tools/
技能发布与分享
打包技能
将技能打包为独立模块:
python setup.py sdist bdist_wheel技能文档规范
参考官方技能文档格式:tests/skills/pydanticai-docs/SKILL.md
常见问题解决
元素识别不准确
- 尝试更新视觉模型权重:OmniParser2/model/weights/
- 调整截图区域和清晰度
跨平台兼容性问题
- 使用平台抽象层:src/page_eyes/util/platform.py
- 针对不同平台编写适配代码
总结
通过本文介绍的方法,你可以轻松为 PageEyes Agent 开发自定义技能,将其能力扩展到更多业务场景。无论是简单的界面操作还是复杂的业务流程,技能系统都能帮助你实现无代码的自动化解决方案。
立即开始开发你的第一个技能,释放 UI 自动化的全部潜力! 💪
【免费下载链接】page-eyes-agentPageEyes Agent 是一个轻量级 UI Agent,通过自然语言指令驱动,无需编写脚本既可实现Web、Android平台的UI自动化任务。项目地址: https://gitcode.com/gh_mirrors/pa/page-eyes-agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考