Web Agent Protocol 使用教程
1. 项目介绍
Web Agent Protocol(WAP)是一个标准化的框架,旨在实现用户、Web代理和浏览器之间的无缝交互。通过记录和重放浏览器操作,它将动作记录与执行分离,使得自动化和重用变得高效。WAP的Python SDK实现了完整的规范,易于收集用户交互数据、转换成重放列表,并且可以转换为MCP服务器供任何代理或用户重用。
2. 项目快速启动
环境准备
首先,创建一个conda环境并激活:
conda create -n WAP python=3.11
conda activate WAP
然后安装所需的依赖:
pip install -r requirements.txt
配置项目
在项目根目录下创建一个.env
文件,并添加你的API密钥:
OPENAI_API_KEY=sk-proj-...
DEEPSEEK_API_KEY=sk-...
数据收集
- 安装OTA-WAP Chrome扩展,按照指示设置动作捕获器。
- 运行以下命令启动数据收集服务器:
python action_collect_server.py
确保Chrome扩展中的主机和端口设置与服务器配置匹配。默认情况下,服务器监听http://localhost:4934/action-data
。
- 录制页面操作。录制的数据会保存在
data/YYYYMMDD/taskid/summary_event_<timestamp>.json
。
重放列表生成
- Exact replay(精确重放):
python wap_replay/generate_exact_replay_list.py --data_dir_path data/<date>/<task_id> --output_dir_path data_processed/exact_replay
- Smart replay(智能重放):
python wap_replay/generate_smart_replay_list.py --data_dir_path data/<date>/<task_id> --output_dir_path data_processed/smart_replay
将<task_id>
替换为扩展生成的文件夹名。
重放
运行以下命令进行重放:
python run_replay.py --model-provider openai --wap_replay_list data_processed/exact_replay/wap_exact_replay_list_<task_id>.json --max-concurrent 1
对于智能重放,替换为智能重放的JSON路径。
转换为MCP服务器
python wap_replay/generate_mcp_server.py --task_id <task_id>
转换后的MCP服务器将位于mcp_servers
文件夹。
MCP重放
需要两个终端进行MCP重放。在第一个终端运行:
python wap_service.py
在第二个终端运行:
python mcp_client.py
然后在第二个终端输入你的提示语。
3. 应用案例和最佳实践
- 自动化测试:使用WAP记录用户操作,生成精确重放列表,自动化测试Web应用。
- 教学指导:制作智能重放列表,辅助教学,让学生跟随步骤学习。
- 远程协作:通过MCP服务器,团队成员可以远程重放操作,提高协作效率。
4. 典型生态项目
- Browser-Use:一个用于自动化Web浏览器操作的库。
- MCP:模型上下文协议的Python SDK。
- DOM Extension:一个DOM监听扩展,用于捕获和记录用户与网页的交互。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考