综合介绍
Proxy Lite 是由 Convergence AI 开发的一款开源、轻量级网页自动化工具,作为 Proxy 的迷你版,采用开放权重设计。它基于 3B参数的视觉语言模型(VLM),能够自主完成网页导航与任务执行,例如查找信息或操作浏览器。项目托管于 GitHub,用户可免费下载并自定义代码。Proxy Lite 默认连接 Hugging Face Spaces 的演示端点,但官方建议通过 vLLM 在本地部署以获得最佳性能。它资源占用低,适合开发者在个人设备上运行,专注于自动化任务而非用户交互。
功能列表
- 网页自动化操作:自动导航网页,执行点击、输入、滚动等操作。
- 任务执行:根据指令完成特定任务,如搜索市场并返回评分。
- 本地运行支持:可在个人设备上通过 vLLM 部署运行。
- 开源可扩展:提供完整代码,用户可调整模型或环境配置。
- 低资源占用:轻量设计,适合消费级硬件运行。
- 浏览器交互:通过 Playwright 驱动 Chromium 浏览器,支持无头模式。
使用帮助
Proxy Lite 是一个专注于网页自动化的开源工具,适合开发者与技术爱好者使用。以下是详细的安装与使用指南,确保用户能够顺利部署并运行。
安装流程
Proxy Lite 需要本地环境支持,以下是官方推荐的安装步骤:
1. 环境准备
- 操作系统:Windows、Linux 或 macOS。
- 硬件要求:普通消费级设备即可,推荐 8GB 以上内存。
- 软件依赖:
- Python 3.11。
- Git(用于克隆仓库)。
- Playwright(浏览器控制库)。
- vLLM(模型推理框架)。
- Transformers(需从源代码安装以支持 Qwen-2.5-VL)。
2. 克隆仓库
在终端运行以下命令下载代码:
git clone https://github.com/convergence-ai/proxy-lite.git
cd proxy-lite
3. 设置环境
- 快速安装:
make proxy
- 手动安装:
pip install uv uv venv --python 3.11 --python-preference managed uv sync uv pip install -e . playwright install
- 注:若本地部署模型,需安装 vLLM 和 Transformers:
uv sync --all-extras
Transformers 需从源代码安装以支持 Qwen-2.5-VL,版本已在
pyproject.toml
中指定。
- 注:若本地部署模型,需安装 vLLM 和 Transformers:
4. 本地部署(推荐)
官方建议使用 vLLM 部署本地端点,避免依赖演示端点:
vllm serve convergence-ai/proxy-lite-3b --trust-remote-code --enable-auto-tool-choice --tool-call-parser hermes --port 8008
- 参数说明:
--trust-remote-code
:允许加载远程代码。--enable-auto-tool-choice
:启用自动工具选择。--tool-call-parser hermes
:使用 Hermes 解析工具调用。
- 服务运行后,端点地址为
http://localhost:8008/v1
。
使用方法
Proxy Lite 提供三种使用方式:命令行、Web UI 和 Python 集成。
方式 1:命令行操作
- 运行任务:
proxy "Find some markets near Kings Cross and tell me their ratings."
- 默认使用 Hugging Face 演示端点,可能较慢。
- 使用本地端点:
proxy --api-base http://localhost:8008/v1 "Find some markets near Kings Cross and tell me their ratings."
- 或设置环境变量:
export PROXY_LITE_API_BASE=http://localhost:8008/v1
- 或设置环境变量:
方式 2:Web UI 操作
- 启动界面:
make app
- 访问:
在浏览器输入http://localhost:8501
,通过界面输入任务。
方式 3:Python 集成
- 代码示例:
import asyncio from proxy_lite import Runner, RunnerConfig config = RunnerConfig.from_dict({ "environment": { "name": "webbrowser", "homepage": "https://www.google.com", "headless": True }, "solver": { "name": "simple", "agent": { "name": "proxy_lite", "client": { "name": "convergence", "model_id": "convergence-ai/proxy-lite-3b", "api_base": "http://localhost:8008/v1" } } }, "max_steps": 50, "action_timeout": 1800, "environment_timeout": 1800, "task_timeout": 18000, "logger_level": "DEBUG" }) proxy = Runner(config=config) result = asyncio.run(proxy.run("Book a table for 2 at an Italian restaurant in Kings Cross tonight at 7pm.")) print(result)
- 说明:通过
Runner
类在浏览器环境中运行任务,支持自定义配置。
主要功能操作流程
功能 1:网页自动化操作
- 步骤:
- 启动本地端点(见安装步骤 4)。
- 输入任务:
proxy --api-base http://localhost:8008/v1 "Search for markets near Kings Cross."
- Proxy Lite 使用 Playwright 控制浏览器,执行导航和操作。
- 注意:任务需明确,避免需要用户交互的复杂操作。
功能 2:任务执行
- 步骤:
- 通过命令行或 Python 输入任务:
result = asyncio.run(proxy.run("Find some markets near Kings Cross and tell me their ratings."))
- 模型返回结果,基于观察-思考-行动循环。
- 通过命令行或 Python 输入任务:
- 限制:不支持需登录或复杂交互的任务,除非提供所有必要信息。
功能 3:本地运行支持
- 步骤:
- 部署 vLLM 服务。
- 配置端点并运行任务。
- 优势:避免演示端点的不稳定性和延迟。
注意事项
- 演示端点限制:默认端点(Hugging Face Spaces)仅用于演示,不适合生产或频繁使用,建议本地部署。
- 反爬措施:使用
playwright_stealth
降低检测风险,但仍可能被验证码阻挡,推荐搭配网络代理。 - 功能局限:Proxy Lite 专注于自主任务执行,不适合需要实时用户交互或凭证登录的任务。
- 调试支持:设置
logger_level="DEBUG"
查看详细日志。
通过以上步骤,用户可快速部署并使用 Proxy Lite 完成网页自动化任务。