前言

在 AI 浪潮席卷的当下,LMArena.ai 平台凭借丰富的大语言模型资源、多场景榜单对比优势,成为很多开发者测试、调用前沿 AI 模型的首选平台。而 LMArena2API 作为一款强大的开源工具,充当了 OpenAI 兼容接口与 LMArena.ai 平台之间的“桥梁”,能让我们通过任意兼容 OpenAI API 的应用(如 AI 聊天客户端、编程插件),无缝调用 LMArena.ai 上的海量模型,还支持流式对话、文生图、Cookie 池配置等实用功能。

基于此,我整理了这份详细的 Docker 部署 LMArena2API 指南,从核心准备、镜像拉取、容器配置,到接口测试、常见问题排查,每一步都搭配清晰说明和实操命令,同时重点标注部署中的关键注意事项(如 Cloudflare 验证适配、Cookie 池配置技巧),无论是 AI 新手还是有一定经验的开发者,都能跟着教程快速完成部署,轻松解锁 LMArena.ai 的全部模型能力。

下载地址:

好像进官网要魔法?我不用的话好像进不去,你们尝试一下看看

进入口之后:

这访问的 arena.ai 是 LMSYS Org 官方的 Chatbot Arena 在线平台,它主要用于模型的公开评测和排名,并不提供一键部署或下载。

这个网站是 Arena.ai,它是一个专注于AI大模型对比评测的在线平台。

这个平台的核心玩法是“盲测”:你可以在同一个界面,向两个匿名的顶尖AI模型(比如GPT-4、Claude、Gemini等)发送同一个问题,然后对比它们的回复,选出你认为更好的一个。你的每一次投票,都会帮助平台生成一个更贴近真实用户体验的AI模型排行榜。

为什么它值得关注?

  1. 免费体验顶级模型
    你无需为GPT-4、Claude等付费模型单独订阅,在Arena.ai上就能免费体验它们的最新能力。

  2. 找到最适合你的AI
    不同模型擅长的领域不同,有的强于写代码,有的强于创意写作。通过实际对比,你可以找到最符合你需求的AI助手。

  3. 了解AI行业动态
    平台的排行榜会实时更新,是观察哪个模型最近变强了、哪家发布了新模型的绝佳窗口。

如何使用?

使用非常简单,无需安装,打开网页即可:

  1. 在中间的输入框里输入你的问题或指令。
  2. 系统会同时让两个匿名模型进行回复。
  3. 你阅读后,选择你认为更优的答案进行投票。

这个平台非常适合想深入了解和对比各大AI模型能力的用户。

🐳 使用 Docker 部署 LMArena2API

这是最简单、最推荐的部署方式,可以确保环境一致性,避免依赖冲突。社区中有一个名为 lmarena2api 的开源项目,它封装了 LMArena 的功能,让你可以在自己的服务器上搭建一个私有的访问接口。

第一步:准备环境

确保你的服务器或本地电脑已经安装了 Docker 和 Docker Compose。

第二步:获取必要的 Cookie

在运行容器之前,你需要准备两个关键的 Cookie 值,这是项目能够正常工作的核心:

  • LA_COOKIE
  • CF_CLEARANCE

这两个值通常需要通过浏览器访问 LMArena 官网,在开发者工具的“网络”(Network)面板中,找到相关请求并复制其请求头(Request Headers)里的 Cookie 字段获得。

这是最关键的一步。你需要从 arena.ai 官网获取两个关键的 Cookie 值:LA_COOKIE 和 CF_CLEARANCE

  • 打开浏览器,登录 arena.ai
  • 按 F12 打开开发者工具,切换到“网络 (Network)”标签。
  • 在网站上进行一次对话,然后在网络请求列表中找到一个 POST 请求(例如 v1/worker/get_conversation)。
  • 点击该请求,在“请求头 (Request Headers)”部分找到 Cookie 字段,从中复制出 LA_COOKIE 和 CF_CLEARANCE 的值。

具体操作步骤:

  • 清空当前列表:点击开发者工具左上角的 🚫(禁止)图标,清空当前的网络请求记录,这样更容易找到新产生的请求。
  • 触发一个对话请求:回到网页,在输入框里随便输入一个词(比如“你好”),然后发送。

若你是第一次打开网站,大概率会出现这个界面

  • 安全验证已触发:页面中间的弹窗说明网站正在通过 reCAPTCHA 验证你的身份,这是获取有效 Cookie 的前置条件。
  • 目标请求已出现:在开发者工具的列表中,你可以看到 create-evaluation 这个请求,这正是我们寻找的、用于创建对话的核心 API 请求。虽然它目前显示为 403(禁止访问),但这恰恰证明了请求已被服务器接收,只是因为你尚未通过验证,所以被拒绝了。

你需要做的就是完成这个安全验证,然后从 create-evaluation 请求中复制 Cookie。

  1. 完成安全验证:点击弹窗中的复选框,完成 reCAPTCHA 验证。如果验证成功,弹窗会消失,你就可以正常与 AI 对话了。
  2. 重新发送请求:验证通过后,再次在输入框里发送一条消息(比如“你好”),这会触发一个新的 create-evaluation 请求。

获得新的 create-evaluation 请求有点难

虽然成功找到了 create-evaluation 这个核心请求,但服务器因为验证失败拒绝了它,这意味着当前获取到的 Cookie 是无效的。

这正是 LMSYS 网站最让人头疼的地方——它的反爬机制非常严格。

为什么会出现 403 错误

简单来说,LMSYS 的服务器在收到请求时,会检查 Cookie 里的两个关键字段:

  1. cf_clearance: 这是 Cloudflare 防火墙颁发的“通行证”,证明你不是机器人。
  2. arena-auth-prod-v1: 这是你的登录凭证。

你的截图显示,你虽然拿到了 Cookie,但服务器认为你的验证(reCAPTCHA)超时了,所以直接拒绝了请求(403 Forbidden)。这通常是因为 Cookie 过期了,或者是在非浏览器环境下(比如直接用代码请求)被防火墙拦截了。

解决方案:如何获取“新鲜”的有效 Cookie

要解决这个问题,你需要模拟一个“真实用户”的行为来获取最新的 Cookie。

方法一:手动刷新获取(最简单)

  1. 清除缓存:在浏览器中,按 Ctrl + Shift + Delete(Mac 是 Cmd + Shift + Delete),清除 Cookie 和缓存。
  2. 无痕模式打开:打开浏览器的“无痕/隐身模式”,访问 LMSYS 网站。
  3. 完成验证:此时网站会弹出 reCAPTCHA 验证框,务必手动完成验证
  4. 再次发送消息:验证通过后,在聊天框发送一条消息。
  5. 复制新 Cookie:此时再去找 create-evaluation 请求,复制它的 Cookie。这个 Cookie 应该是“新鲜”且有效的。

方法二:使用浏览器插件(推荐)

手动操作太麻烦?可以使用浏览器插件来自动管理 Cookie。

  1. 安装插件:在 Chrome 或 Edge 浏览器中安装 EditThisCookie 或 Cookie-Editor 插件。
  2. 导出 Cookie:在 LMSYS 网站页面,点击插件图标,选择“导出”或“复制为 JSON”。
  3. 在 Docker 中使用:将导出的 JSON 格式的 Cookie 字符串,作为环境变量传入 Docker 容器。

总结

你现在的状态是“找到了门,但钥匙不对”。只要按照上述方法,在无痕模式下重新完成一次验证,获取到最新的 Cookie,你的 Docker 部署就能成功了。

以下这个显示200ok的就是正确的cookie

  • 锁定目标请求:发送后,网络面板会立刻出现新的请求。你需要寻找一个名称类似于 v1/chat/completions 或 v1/worker/get_conversation 的 POST 请求。
  • 复制 Cookie:点击这个 POST 请求,在右侧的“请求头”(Request Headers)部分,找到 Cookie 这一行。这一长串字符里就包含了我们需要的 LA_COOKIE 和 CF_CLEARANCE

第三步:运行 Docker 命令

打开终端,执行以下命令来拉取并运行镜像。请务必将命令中的占位符替换为你自己的实际值。

方案一:自己构建镜像(最稳妥,推荐)

如果你是从 GitHub 或其他地方下载了代码(比如 Dockerfile),你需要先“制造”一个镜像。

  1. 找到 Dockerfile
    在你的代码文件夹里,应该有一个叫 Dockerfile 的文件(没有后缀名)。

  2. 打开终端(命令行)
    进入这个 Dockerfile 所在的文件夹。

  3. 运行构建命令
    输入以下命令来创建镜像,并给它起个名字叫 lmarena-bot

    docker build -t lmarena-bot .

    (注意:命令最后有个点 .,代表当前目录)

    等待进度条跑完,显示 Successfully built ... 后,你就有了镜像名称 lmarena-bot

若没有下好源码

这里有两种最可能的情况,你可以看看你是哪一种:

情况一:你在用 Browser Use(浏览器自动化)

看你的截图标题栏有 Browser Use,这通常是一个 Python 库,用来让 AI 控制浏览器。如果你是想运行它的示例代码:

  1. 去 GitHub 下载代码

  2. 准备运行环境(这一步比 Docker 更直接):

    • 这个项目主要是 Python 写的,不一定非要用 Docker。
    • 你需要安装 Python。
    • 在解压的文件夹里打开终端,运行 pip install browser-use
  3. 写一个脚本
    新建一个 main.py,把 Cookie 放进去:

    import asyncio
    from browser_use import Browser, BrowserConfig
    
    async def main():
        # 把你的长串 Cookie 放在这里
        my_cookie = "user_country_code=JP; _ga=GA1.1..."
    
        browser = Browser(
            config=BrowserConfig(
                # 这里填入你的 Cookie
                cookies=my_cookie
            )
        )
        # ... 你的其他代码 ...
    
    asyncio.run(main())

    或者右击在此处打开终端:

    在弹出的黑色(或白色)命令行窗口中,输入以下命令并回车(注意最后有个点):

    docker build -t my-browser-use .

这一步会根据你文件夹里的 Dockerfile 自动安装所有需要的软件。

这需要一点时间,请耐心等待进度条跑完。

解释一下这个命令

docker run: 启动容器。

-d: 后台运行。

--name my-browser-app: 给容器起个名字叫 my-browser-app

-p 8000:8000: 把容器的 8000 端口映射到电脑的 8000 端口(方便你访问)。

-e FULL_COOKIE_STRING="...": 把你辛苦抓到的 Cookie 传给容器。

my-browser-use: 这就是我们刚才构建出来的镜像名字。

运行容器

等上一步跑完,显示 Successfully built... 后,输入下面这个命令来启动它。注意要把引号里的内容换成你自己的 Cookie

docker run -d --name my-browser-app -p 8000:8000 -e FULL_COOKIE_STRING="user_country_code=JP; _ga=GA1.1.1778444764...(这里粘贴你那一长串完整的Cookie)" my-browser-use
情况二:你在用 LMSYS Arena 的第三方 Docker 镜像

如果你是在找那个能自动跑 Arena 对战的 Docker 机器人(Bot),你需要找到提供这个镜像的 GitHub 项目。

最知名的开源项目是 lmsys-org/arena-hard-auto 或者类似的社区项目。

操作步骤:

  1. 下载代码

  2. 构建镜像

    • 进入解压后的文件夹。
    • 你应该能看到一个 Dockerfile
    • 在文件夹地址栏输入 cmd 或 powershell 打开终端。
    • 运行构建命令(给它起名叫 arena-bot):
      docker build -t arena-bot .

总结

  1. 先找代码:去 GitHub 搜你正在用的工具名(比如 Browser Use 或 LMSYS Arena Bot)。
  2. 下载解压:把代码下到电脑上。
  3. 构建镜像:在代码文件夹里用 docker build 命令生成镜像。
  4. 运行容 器:构建完成后,就可以运行刚才生成的 arena-bot 镜像了:
    • docker run -d --name my-arena-run `
        -e FULL_COOKIE_STRING="你那一长串Cookie" `
        arena-bot
可能出现的问题
问题1:

别慌,这其实不是你的代码问题,也不是你操作的问题,纯粹是网络连接问题。

错误原因分析

从报错信息 dial tcp 98.159.108.57:443: connectex: A connection attempt failed... 可以看出:

  1. 连接超时:Docker 试图去连接国外的服务器(auth.docker.io)来获取构建所需的配置文件。
  2. 网络阻断:因为众所周知的原因,国内直接访问 Docker 的官方服务器(Docker Hub)非常不稳定,经常会出现连接超时或被重置的情况。

简单来说,就是你的电脑“喊”了 Docker 服务器一声,但是服务器没听见,或者回话被半路截断了。

解决方案:配置国内镜像加速器

要解决这个问题,你需要给 Docker Desktop 配置一个“中间人”(镜像加速器),让它帮你去拉取这些文件。国内有很多大厂提供了免费的加速服务。

请按照以下步骤操作:

1. 打开 Docker Desktop 设置

点击 Docker Desktop 右上角的“齿轮”图标(Settings),进入设置界面。

2. 找到 Docker Engine 配置

在左侧菜单栏中,找到并点击 Docker Engine 选项。你会看到右边有一段 JSON 格式的代码。

3. 添加镜像加速地址

在 JSON 代码中,找到 "registry-mirrors" 这一行。如果没有,就手动加进去。你可以复制下面这些常用的加速地址(任选其一或全部填入列表):

  • 网易云(比较稳定): http://hub-mirror.c.163.com
  • 腾讯云: https://mirror.ccs.tencentyun.com
  • Docker 中国官方: https://registry.docker-cn.com
  • 阿里云(推荐): 需要登录阿里云控制台获取专属地址,速度通常最快,但配置稍微麻烦一点。

修改代码示例:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}

注意:如果你原本就有其他配置,记得在上一行的末尾加上逗号 ,,保持 JSON 格式正确。

4. 保存并重启

点击右下角的 Apply & restart 按钮。Docker 会自动重启并应用新的配置。

5. 再次尝试构建

等待 Docker 重启完成后,回到你的终端窗口,再次运行刚才的构建命令:

docker build -t my-browser-use .
问题2:

不管怎么尝试按照上面的方式修改,都解决不了,那登录阿里云控制台获取专属地址

获取加速器

按照图片下方位置的代码,和之前一样,修改docker配置,重启,运行终端命令行代码

查看可不可行

问题3:

还不行的话:修改 Dockerfile 文件

解决方案

请按照以下步骤操作,保证能过:

  1. 打开文件
    在你的 browser-use-main 文件夹里,找到名为 Dockerfile 的文件(没有后缀名),右键选择用“记事本”或 VS Code 打开。

  2. 删除前两行
    找到文件最开头的这两行代码:

    # syntax=docker/dockerfile:1
    # check=skip=SecretsUsedInArgOrEnv

    直接把这两行删掉,或者在每行前面加一个 # 号把它们注释掉,变成这样:

    # # syntax=docker/dockerfile:1
    # # check=skip=SecretsUsedInArgOrEnv
  3. 保存文件
    修改完后,记得保存(Ctrl + S)。

重新运行构建
回到你的 PowerShell 窗口,再次运行刚才的命令

docker build -t my-browser-use .

原理说明

那两行代码是用来开启 Docker 高级特性的,但国内的镜像加速器(如腾讯云、网易)往往不支持同步这些高级特性的元数据。删掉它们后,Docker 会使用默认的构建方式,虽然少了一点高级检查功能,但能确保顺利下载和构建,对你的运行没有任何影响。

问题4:

依旧报错,但是是运行了多了的一部分,我是按这个方法手动拉取之后就成功了的

好消息:你之前修改 Dockerfile 的操作成功了,那个 syntax 的报错已经消失了。

坏消息:现在的报错 EOF 和 failed to resolve source metadata 说明,虽然语法没问题了,但你的 Docker 在拉取基础镜像(python:3.12-slim)时,连接腾讯云加速器又被切断了。这通常是因为腾讯云的这个加速器地址最近不太稳定,或者它不支持某些特定的镜像层。

别急,我们换个更稳的加速器,或者尝试直接用 Docker 官方源(有时候直连反而比不稳定的加速器快)。

如果问题2,用阿里云的试过了

那说明你的网络环境对 Docker Hub 的限制非常严格。这时候我们可以尝试一个“笨办法”:手动拉取基础镜像

  1. 手动拉取 Python 镜像

    docker pull python:3.12-slim

    如果这一步也失败,那就说明确实是网络问题,必须得用加速器。

  2. 手动拉取 uv 镜像

    docker pull ghcr.io/astral-sh/uv:latest

    这个镜像在 GitHub 的容器仓库里,国内访问极其困难。如果上面那步成功了但这步失败,你可能需要找一个能代理 ghcr.io 的加速器,或者尝试在 Dockerfile 里把这个镜像源替换成国内的镜像站(如果有的话)。

  3. 如果你运行和上面图片一样,那么说明已经把两个最难的依赖都下载好了。

    之后在 PowerShell 中输入并运行:

    docker build -t my-browser-use .

    这次运行应该会非常快,因为 Docker 会直接使用你刚才下载好的本地镜像。如果一切顺利,你会看到构建过程顺利进行,最后显示 Successfully built ...

问题5:

使用国内镜像源的完整地址(备用)

如果上述方案都无效,你可以尝试在 Dockerfile 中直接使用国内镜像源的完整地址来拉取镜像。

  1. 打开 Dockerfile

  2. 找到 FROM python:3.12-slim 这一行。

  3. 将其修改为阿里云的公共镜像地址(注意:这个地址是公开的,不需要登录)

    FROM registry.cn-hangzhou.aliyuncs.com/python-collaboration/python:3.12-slim

    (注意:这个地址可能不稳定,如果报错,请换回官方地址)

  4. 保存文件,再次运行构建命令。

问题6:

按照方法4,最后显示有个警告,不是错误

恭喜!你的镜像构建已经完全成功了!

看截图最下方的提示,虽然有一个 1 warning found,但这只是一个安全建议(关于环境变量的使用),完全不影响程序的正常运行。你的镜像 my-browser-use:latest 已经成功创建,并且可以被 Docker 识别和使用。

下一步:运行容器

现在你可以启动这个容器来运行项目了。请在 PowerShell 中输入以下命令:

docker run -it --rm my-browser-use

命令说明

  • -it:让容器以交互模式运行,这样你就能看到程序的输出日志。
  • --rm:当容器停止运行时,自动清理容器文件,避免占用过多磁盘空间。

方案二:使用现成的公共镜像(如果有)

如果你是在网上找的教程,通常作者会提供一个现成的镜像地址。

  • 常见的镜像名格式:通常是 用户名/仓库名:版本
  • 如果你找不到:你可以去 Docker Hub 搜一下你使用的这个项目的名字。

拿到镜像名后的完整步骤

假设你用了方案一,你的镜像名就是 lmarena-bot

  1. 复制你的 Cookie
    把你刚才截图里的那一长串 Cookie 准备好。

  2. 运行完整的 Docker 命令
    请把下面的 <你的长串Cookie> 替换成你刚才截图里的那一长串内容(记得保留外面的引号 "")。

docker run --name lmarena2api -d --restart always \
-p 10088:10088 \
-v $(pwd)/data:/app/lmarena2api/data \
-e LA_COOKIE=你的_LA_COOKIE值 \
-e CF_CLEARANCE=你的_CF_CLEARANCE值 \
-e API_SECRET="自定义的API密钥" \
-e TZ=Asia/Shanghai \
deanxv/lmarena2api

命令参数详解:

  • --name lmarena2api: 为容器指定一个名称。
  • -d: 让容器在后台运行。
  • --restart always: 设置容器随 Docker 服务自动启动。
  • -p 10088:10088: 将宿主机的 10088 端口映射到容器的 10088 端口,这是 API 服务的访问端口。
  • -v $(pwd)/data:/app/lmarena2api/data: 将当前目录下的 data 文件夹挂载到容器内,用于持久化保存数据。
  • -e LA_COOKIE 和 -e CF_CLEARANCE: 设置前面获取到的环境变量。
  • -e API_SECRET: 设置一个自定义的密钥,用于保护你的 API 接口,防止被他人滥用。
  • -e TZ=Asia/Shanghai: 设置容器时区为上海时间。

第四步:处理镜像拉取问题

如果上述命令中的 deanxv/lmarena2api 镜像无法拉取(例如网络问题),可以尝试使用 GitHub 的容器镜像仓库。只需将镜像名称替换为:
ghcr.io/deanxv/lmarena2api

第五步:验证部署

部署成功后,你可以通过访问 http://你的服务器IP:10088 来测试服务是否正常运行。如果配置了 API_SECRET,调用 API 时需要在请求头中带上这个密钥。

这个项目还提供了强大的监控功能,例如实时统计 QPS、响应时间,并能与 Prometheus 和 Grafana 集成,非常适合用于生产环境的性能分析和告警。

运行容器

现在你可以启动这个容器来运行项目了。请在 PowerShell 中输入以下命令:

docker run -it --rm my-browser-use

命令说明

  • -it:让容器以交互模式运行,这样你就能看到程序的输出日志。
  • --rm:当容器停止运行时,自动清理容器文件,避免占用过多磁盘空间。

这说明你的 Docker 容器已经成功启动,并且 browser-use 这个程序正在正常运行。

你看到的这些密密麻麻的文字,其实是这个程序的帮助菜单。因为你刚才直接运行了 docker run -it --rm my-browser-use,而没有告诉程序具体要做什么(比如“打开百度”或者“点击按钮”),所以它默认就把所有它能做的事情都列出来给你看了。

这就像是你打开一个遥控器,但没按任何频道键,遥控器就显示“我可以换台、可以调音量、可以关机...”。


接下来该怎么做?

既然程序已经跑起来了,你需要给它下达具体的指令。根据截图中的帮助信息,你可以尝试以下几个最基础的命令来测试它:

测试 1:查看版本或初始化

如果你想看它能不能正常响应,可以试着让它初始化一个配置文件:

docker run -it --rm my-browser-use init
测试 2:打开一个网页

这是最直观的操作。你可以让它打开百度试试。

注意:因为是在 Docker 里运行,默认是没有图形界面的(Headless)。如果你想看到浏览器窗口弹出来,配置会比较复杂(需要挂载 X11)。

如果你只是想看它能不能跑通逻辑,可以尝试让它以“无头模式”(不显示界面)打开网页并截图,或者查看网页标题:

# 尝试打开百度并截图(截图会保存在容器内,需要挂载目录才能看到)
docker run -it --rm -v $(pwd):/app/output my-browser-use open https://www.baidu.com
测试 3:进入交互模式

这个工具看起来支持命令行交互。你可以试着直接进入它的 shell(如果支持的话),或者查看更详细的帮助:

# 查看特定命令的帮助,比如 open 命令怎么用
docker run -it --rm my-browser-use open --help

分析结果:

  1. 命令执行成功:Docker 成功启动了容器,并运行了程序。
  2. 程序反馈:程序没有报错,而是打印出了 open 命令的使用说明。
    • usage: browser-use open [-h] url:这行最关键,它告诉你 open 命令后面必须跟一个参数:url(网址)。
    • positional arguments: url:再次确认了你需要提供一个网址。

结论:
你刚才只是问了程序“open 命令怎么用”,程序回答了“请给我一个网址”。现在你需要给它一个真正的网址让它去访问。

下一步操作:
请尝试运行以下命令,让它打开百度:

docker run -it --rm my-browser-use open https://www.baidu.com

预期结果:

  • 程序会启动浏览器(在后台无界面运行)。
  • 你会看到日志输出,显示正在加载页面、页面标题等信息。
  • 最后程序可能会自动退出(因为 --rm 参数,且任务执行完毕)。

  • 你输入了 docker run ... open https://www.baidu.com
  • 程序输出了 url: https://www.baidu.com
  • 然后光标回到了命令提示符。

这说明程序成功接收了你的指令,并且识别出了网址。

为什么没有看到浏览器弹窗?

这是正常的。因为我们在 Docker 里运行,默认是无头模式(Headless),也就是没有图形界面。它在后台默默地打开了浏览器,加载了百度,然后因为任务完成了(只是“打开”而已,没有后续操作),它就自动退出了。

接下来怎么玩?

既然“打开”成功了,我们需要给它点更有挑战性的任务,比如“截图”或者“获取标题”,这样我们才能看到效果。

尝试 1:让它截图(推荐)

我们需要把容器里的截图文件“拿”到电脑上来。

  1. 在 PowerShell 里创建一个文件夹来存截图

    mkdir screenshots
  2. 运行命令,让它截图并把文件复制出来:

    docker run -it --rm -v ${PWD}/screenshots:/app/screenshots my-browser-use screenshot https://www.baidu.com /app/screenshots/baidu.png

-v ...:这是关键!它把你电脑上的 screenshots 文件夹挂载到了容器里。

  • screenshot:这是程序的动作命令。
  • /app/screenshots/baidu.png:这是容器里保存图片的路径。

运行完后,去你桌面的 browser-use-main 文件夹里的 screenshots 文件夹看看,应该会出现一张 baidu.png

尝试 2:让它提取网页标题

如果截图太麻烦,可以试试让它把网页标题打印出来:

docker run -it --rm my-browser-use extract "document.title" --url https://www.baidu.com

其他各种玩法你可以自己摸索一下

第六步:这次关了,下次怎么重新运行

因为你之前用了 --rm 参数,容器关掉后就彻底销毁了。下次想重新用,只需要再次执行启动命令即可,你的数据和镜像都还在。

核心概念

  • 镜像:就像是一个“游戏安装包”,它是静态的,存在硬盘里,不会消失。
  • 容器:就像是“运行中的游戏”,它是动态的。你用了 --rm,意味着游戏一关,这个“存档”就被删了。

所以,下次你想用,只需要重新“启动游戏”即可

这个和学习sql注入的靶场:sqli-labs,情况类似:怎么部署 sqli-Labs(SQL 注入练习靶场)及less1、2讲解_sql注入靶场部署-CSDN博客

要是想了解SQL注入:

SQL注入五步法:从入门到精通_sql注入不用=-CSDN博客

相关工具:

sqlmap下载和安装保姆级教程(附安装包)-CSDN博客

工具使用进阶内容:

Sqlmap:选取sqli-labs中less-8进行sqlmap注入测试-CSDN博客

sql注入结合sqli-labs举例的进阶内容:《SQL注入进阶实验:基于sqli-Labs的报错注入(Error-Based Injection)实战解析》-CSDN博客

下次如何重新运行?

非常简单,你只需要再次输入之前成功的命令:

docker run -it --rm my-browser-use open https://www.baidu.com

每次运行这行命令,Docker 都会基于你的镜像 my-browser-use 创建一个全新的容器,执行完任务后自动销毁。这是最干净、最推荐的做法。

进阶:如果你想“暂停”而不是“销毁”

如果你希望关掉窗口后,下次还能回到原来的状态(比如浏览器还开着,之前的登录状态还在),你需要去掉 --rm 参数,并使用“启动/停止”模式。

步骤如下:

  1. 第一次运行时(不加 --rm,并给个名字)

    1docker run -it -d --name my-browser-container my-browser-use
  • -d:后台运行。
  • --name my-browser-container:给容器起个名字,方便管理。
  1. 当你想暂停时

    docker stop my-browser-container
  2. 下次想继续运行时

    docker start -ai my-browser-container
  • -ai:重新连接回它的界面。

总结

对于你现在的学习阶段,直接用 docker run 重新跑一遍是最简单的。不用担心,镜像一直都在,随时可以启动。

总结

你现在的状态是“万事俱备,只欠东风”

  • Docker 环境:✅ 搞定
  • 镜像构建:✅ 搞定
  • 程序运行:✅ 搞定

接下来就是你根据 browser-use 的文档,去编写具体的任务指令了!

其他各种玩法你可以自己摸索一下,加油吧!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐