mcpField
F
fast-browser-use

fast-browser-use

github.com/apus-ai-labAgent 工作流23552 次安装5 周前更新
代码仓库

关于 fast-browser-use

通过本地 Qwen3.5-9B 模型执行浏览器交互的技能和 CLI,支持操作前检查页面新鲜度及可选结果断言。适用于由宿主提供目标并验证结果的浏览器任务,推理在本地运行。

主要功能

  1. 01本地模型驱动浏览器交互
  2. 02操作前检查页面新鲜度
  3. 03URL、标题和文本断言
  4. 04JSON 追踪与任务录制
  5. 05Chromium 运行环境配置指引

适用场景

  1. 01完成浏览器设置任务
  2. 02操作后检查页面结果
  3. 03录制已验证的浏览器任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/apus-ai-lab/fast-browser-use --skill fast-browser-use

安装后在 Claude Code 中输入/fast-browser-use确认已加载。

详细介绍

快速浏览器操作

将浏览器交互循环委派给 fbu run。它会读取可见 DOM,向本地模型提供合法操作,在本地生成字段文本,并在执行前检查内容是否仍为最新。宿主提供用户目标并验证结果。循环中不使用云端推理。

运行时设置

此技能包含操作说明;Python 运行时、Chromium 和权重需另行安装。 检查 fbu --help。如果命令不存在,请按照源代码仓库的 README 安装说明操作; 不要假定同名的 PyPI 软件包就是此项目。uv tool install 可让 CLI 在各项目中使用;为了发现 PATH,可能需要运行 uv tool update-shell 并重启宿主。

通过 fbu install-browser 和 fbu download 为已安装的运行时完成一次准备。支持的模型为 Qwen3.5-9B,默认固定为该版本。Apple Silicon 使用 MLX 4-bit(权重约 5.95 GB)。其他平台使用 torch extra 和原始 Qwen3.5-9B 权重;MLX 和 PyTorch 权重格式不能互换。 FBU_BACKEND=auto 会在 Apple Silicon 上选择 MLX,在其他平台上选择 PyTorch。FBU_MODEL 可指向匹配的本地权重;切换后端时,请移除过期的覆盖设置。不支持其他架构和尺寸。

对于 Linux 服务器,运行 uv sync --locked --extra torch、uv run fbu install-browser --with-deps 和 uv run fbu download --backend torch。使用 --backend torch --device cuda(或 cpu)运行任务。 cuda:N 用于选择可见 GPU。CUDA 默认使用 BF16(若支持),否则使用 FP16;CPU 使用 FP32。 BF16/FP16 权重加运行时内存约需 18 GB,FP32 权重本身约需 36 GB。 无需桌面环境、DISPLAY 或 Xvfb。Windows 使用相同的 CLI,但不带 --with-deps。

从代码检出目录运行 uv sync --locked 后,可使用 uv run --project /absolute/path/to/fast-browser-use fbu 代替 fbu。模型和跟踪记录路径均相对于用户的工作目录解析。

执行任意目标

FBU_MODEL=/absolute/path/to/Qwen3.5-9B-4bit \
fbu run 'https://target.example/' \
  --goal 'The user-requested outcome and constraints' \
  --trace artifacts/task.json

默认设置会使用完整目标,联合决定操作和任务完成状态,并在页面就绪过程中进行有界等待 (FBU_PLAN=0、FBU_REASONING=0)。FBU_HEADLESS=0 会显示浏览器。无需检查器 UI。

若已知的结束条件可以独立确认所请求的结果,请传入这些条件:

fbu run 'https://target.example/settings' \
  --goal 'Save workspace preferences with timezone Asia/Singapore and weekly digest enabled.' \
  --expect-title 'Preferences saved' \
  --expect-text 'Timezone: Asia/Singapore.' \
  --expect-text 'Weekly digest: enabled.' \
  --trace artifacts/preferences.json

--expect-url 和 --expect-title 会进行精确匹配。重复使用 --expect-text 可要求渲染后的正文文本包含每个片段。 断言会在执行后通过新鲜的浏览器读取进行检查,且不会作为操作计划提供给模型。它们只能证明所提供的条件;仅有通用的“Saved”消息并不能证明字段值。若未提供断言,退出码为零表示模型报告了 DONE。

从跟踪记录中读取 status、verification、page、history、rejections 和 elapsed_ms。 仅凭 DONE 声明或操作历史不能证明成功。如果内置断言无法确认结果,请在报告完成前独立检查最终状态。

记录任意任务

FBU_MODEL=/absolute/path/to/Qwen3.5-9B-4bit \
fbu record --url 'https://target.example/' --goal 'The requested outcome' \
  --expect-url 'https://target.example/result' --output artifacts/recordings/task

自定义录制必须提供 URL、目标和至少一项结果断言。--scenario 选项是可选的开发演示,并非受支持的网站列表。录制始终使用无头 Chromium,即使设置了 FBU_HEADLESS=0 也是如此。 原始录制会保留所有推理和等待。预览渲染需要系统级 ffmpeg/ffprobe。从代码检出目录运行 scripts/render_demo.py RECORDING_DIR --name task --max-seconds 10 可创建带标签的加速预览,保留原始视频,并分别记录实际任务时间和播放速度。只有经过独立验证的已完成运行才能渲染。

执行边界

  • 提供结果和用户约束;本地模型选择步骤并生成字段值。 切勿用主机生成的选择器、可执行模型代码、预先准备的字段字符串或特定网站的操作计划替代循环。
  • 切勿自动重试可能已修改网站状态的失败任务。进一步执行授权操作前,先核实实际状态。新的观察结果可能会否决过时的决策;在执行操作后观察之前,先记录已派发的修改。
  • 候选项的 softmax 分数表示相对偏好,并非经过校准的正确概率。
  • 浏览器使用全新隔离的配置文件。不会继承现有登录状态。V1 不支持嵌套 iframe / 深层 shadow 遍历、画布交互、上传和多标签页编排。
  • 追踪记录包含页面数据和生成的字段值;请勿将个人追踪记录和凭据提交到 git。

运行时与网站无关;其可靠性仍处于实验阶段。经过优化后,Qwen3.5-9B 在测量的 Wikipedia 任务中以 30.1 s 的中位耗时完成了任务(三次验证试验)。发布示例还涵盖简单导航和设置表单;这些示例不能证明其具备通用网页可靠性。 请参阅仓库中的 docs/performance.md,了解测量范围和可复现的检查。

评论

支持 Markdown