[AI]browser-use + web-ui 大模型實現自動操作瀏覽器

[AI]browser-use + web-ui 大模型實現自動操作瀏覽器

介紹

官方地址:https://github.com/browser-use/web-ui

  • browser-use主要作用是將 AI Agent 與瀏覽器鏈接起來從而實現由 AI 驅動的瀏覽器自動化。
  • 今天會給大家介紹如何通過browser-use web-ui來搭建并操作browser-use。

browser-use web-ui功能點:

  1. 提供了全新的網頁界面,簡單好用,方便操作。
  2. 支持更多大語言模型,比如 Gemini、OpenAI、Azure 、國產大模型 DeepSeek、通義千問等。
  3. 支持用自己的瀏覽器,不用再反復登錄,還能錄屏。
  4. 定制了更智能的 Agent,通過優化后的提示讓瀏覽器使用更高效。

browser-use與web-ui關系:

想象 Browser Use 是一個“網頁翻譯官”:當 AI 需要操作網頁時(比如自動訂票),傳統方法是讓 AI“看截圖”找按鈕,但截圖就像一張復雜照片,AI 需要花時間辨認。

  • Browser Use 的解決方案是:把網頁變成一份“元素清單”,比如“第 1 個是登錄按鈕,第 8 個是搜索框……”。AI 只需根據清單編號,快速找到對應位置并點擊,就像按菜單點菜一樣簡單。
  • Web-UI 則是這個翻譯官的“操作面板”:普通用戶不用寫代碼,直接在網頁上選擇任務(如“幫我搜機票”),選好 AI 模型(比如 ChatGPT),點擊運行就能看到瀏覽器自動執行所有步驟,還能錄屏回放操作過程。

環境搭建

python版本必須在 3.11 以上。

  • 我這里主要演示Mac如何搭建,windows也是類似的操作。

1. 安裝uv

# 官方推薦使用uv管理
brew install uv

在這里插入圖片描述

2. 拉取項目安裝依賴

# 從github拉取項目
git clone https://github.com/browser-use/web-ui.git
cd web-ui# 搭建該項目的python虛擬環境,這里python環境使用3.11
uv venv --python 3.11# 初始化虛擬環境配置
source .venv/bin/activate# 安裝python依賴
uv pip install -r requirements.txt## 安裝瀏覽器依賴,大家根據自己情況選擇即可
# 僅安裝Chrome依賴
playwright install --with-deps chromium
# 安裝所有瀏覽器依賴
playwright install

3. 配置瀏覽器及大模型參數

這里也可以使用本地通過ollama配置的大模型,比如Deepseek r1-14b

  • Mac本地通過ollama部署大模型
# 拷貝示例配置文件
copy .env.example .env# 1. 配置瀏覽器位置:CHROME_PATH。這里以chrome為例
CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"# 2. 配置瀏覽器用戶數據
CHROME_USER_DATA="/Users/你自己的用戶名/Library/Application Support/Google/Chrome"# 3. 配置大模型API參數【我這里使用Deepseek】
DEEPSEEK_ENDPOINT=https://api.deepseek.com
DEEPSEEK_API_KEY=xxxx# 這里也可以使用本地通過ollama配置的大模型
OLLAMA_ENDPOINT=http://localhost:11434

使用

# 運行項目
python webui.py --ip 127.0.0.1 --port 7788

在這里插入圖片描述
配置模型類型:
在這里插入圖片描述

1. 使用內置瀏覽器

  1. 配置瀏覽器參數:
    在這里插入圖片描述

  2. 下發指令執行任務:

輸入指令,然后點擊運行

在這里插入圖片描述

  1. 查看瀏覽器效果:

在主界面,上方的設置導航中選擇 Agent Settings,如果你本地部署的大模型不支持視覺識別,可以把這個使用視覺【Use Vision】取消勾選,不然后續讓 AI 執行任務時會報錯。

  • 我這里支持,因此我勾選后,瀏覽器頁面出現如下:

在這里插入圖片描述

該項目原理就是將瀏覽器頁面上所有的元素都標記下來(打上編號),然后把元素編號以及元素代表的含義,告訴AI,由AI來判斷用戶需求需要操作哪些元素,然后調用API去操作對應元素。

  1. 控制臺成功輸出結果:
    在這里插入圖片描述

2. 使用本地瀏覽器

即:使用我們在.env配置的本地瀏覽器
注意:使用本地Chrome瀏覽器時,需要把自己本地Chrome瀏覽器關閉,由AI去打開。

  1. 打開本地瀏覽器開關
    在這里插入圖片描述

  2. 比如我們這里輸入自己的要求
    在這里插入圖片描述

  3. 大模型已經識別到了我們的需求,并開始操作瀏覽器元素:
    在這里插入圖片描述

  4. 最后頁面效果:
    在這里插入圖片描述

  5. 查看控制臺日志,也正常拆解并完成了任務
    在這里插入圖片描述
    在這里插入圖片描述

可以看到效果還是挺不錯的,只要模型好,這里可玩性還是挺高的。比如:針對頁面操作實現自動化測試等

3. 深度搜索模式

提出需求,最后會根據我們的需求,輸出一個文檔,適合做旅游規劃,周報日報等。

  • 會默認進行三次的深度查找,最后把查找到的結果輸出一個md文檔
  1. 這里讓模型幫我們做一個旅游規劃
    在這里插入圖片描述

  2. 模型會查詢網上內容
    在這里插入圖片描述

  3. 最后會給我們一個可下載的Markdown文檔
    在這里插入圖片描述

Tips

1. 瀏覽器免登錄

我們可以通過使用自己的瀏覽器,然后配置上對應的cookie信息,實現免登錄

  1. 瀏覽器插件安裝edit cookies(或其他cookie管理插件)
  2. 導出cookie信息
  3. web-ui.py文件中添加cookie信息
    在這里插入圖片描述
  4. 重新運行項目,同時使用自己本地的瀏覽器,就可以看到我們瀏覽器訪問某些頁面時是登錄狀態了

2. 項目原理

  1. 根據用戶輸出,拆分任務(規劃任務:完成這個任務需要哪幾步)

在這里插入圖片描述

  1. 將任務拆分為具體的動作,比如通過百度打開咪咕視頻,瀏覽器需要在搜索欄輸入百度網址,然后輸入框輸入咪咕視頻,并點擊搜索
    在這里插入圖片描述

  2. 分析完后,操作頁面元素,執行對應動作,搜索框輸入文字,點擊對應按鈕等
    在這里插入圖片描述

  3. for循環調用執行器,直到任務最終完成
    在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78965.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78965.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78965.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Springboot請求靜態資源時,request.getServletPath() 返回error

大家好,我是 程序員碼遞夫。 SpringBoot請求靜態資源時,request.getServletPath() 返回error, 明明我的目錄文件是存在的怎么就報錯了呢? 如我請求 http://127.0.0.1:9090/Hanfu/upload/1647161536390.png 通常是因為請求的資…

在開發板上如何處理curl: (60) SSL certificate problem

目錄 引言 問題解析 解決方法 跳過證書驗證 采用證書認證 結語 引言 最近一直推薦學生們在課程實驗中使用curl及其libcurl。curl 是一個強大的命令行工具,用于在命令行中進行數據傳輸。它支持多種協議,如 HTTP、HTTPS、FTP、FTPS、SCP、SFTP 等。…

CSRF請求偽造

該漏洞主要是關乎于用戶,告誡用戶不可亂點擊鏈接,提升自我防范,才能不落入Hacker布置的陷阱! 1. cookie與session 簡單理解一下兩者作用 1.1. 🍪 Cookie:就像超市的會員卡 存儲位置:你錢包里…

Python循環與遍歷詳解:從入門到進階

在Python編程中,循環和遍歷是最基礎但極其重要的知識點。理解并掌握這部分內容,是編寫高效、清晰代碼的前提。本文將從for循環和while循環的基本語法出發,逐步深入探討range、enumerate、zip、列表推導式、字典遍歷等Python中常見的遍歷技巧&…

Python-MCPServer開發

Python-MCPServer開發 使用FastMCP開發【SSE模式的MCPServer】,熟悉【McpServer編碼過程】【McpServer調試方法】 1-核心知識點 1-熟悉【SSE模式的MCPServer】開發2-熟悉【stdio模式的MCPServer】開發3-熟悉【啟動MCPServer】的三種方式 3.1-直接啟動:python mcp_s…

高級項目管理

在信息系統項目管理工作中,組織管理者和項目管理者,有時還會面臨多項目的管理,或組織級的項目管理、項目的量化管理等課題。 其中,項目集管理、項目組合管理和組織級項目管理,為多項目管理和組織級管理提供有效指導&a…

tarjan縮點+強聯通分量

【模板】縮點https://www.luogu.com.cn/problem/P3387 首先我們要理解這道題為什么要用縮點 題目說的是有向圖,如果無環的話就可以用DP來解決了 由于可以走重復的點,所以一個環上的點可以看成是一個點,它的點權就等于該環上所有點的點權之…

OSCP:獲取全交互式 Windows 反向 Shell

簡介 在本文中,我們將探討獲取完全交互式 Windows 反向 Shell 的各種方法,從利用內置工具到采用先進技術以獲得更好的控制和功能。 通過 Invoke-ConPtyShell 我獲取完全交互式 Windows 反向 Shell 的首選方法是通過 Invoke-ConPtyShell 腳本。當 Wind…

免費超好用的電腦操控局域網內的手機(多臺,無線)

使用 第一步 解壓QtScrcpy壓縮包,并運行QtScrcpy.exe 第二步 2.1 手機開啟開發者模式(設置>關于本機>版本信息>連點10下“版本號”) 2.2 開啟 USB調試 和 無線調試(設置>開發者選項> USB調試 無線調試&#xf…

Go語言內存管理

本章節,就來學習一下go語言的內存模型,看一下內存的分配,存儲都是如何實現的,與此同時,在正式開始今天的主題之前,首先先來學習操作系統基于這一方面的內容,來看看是如何管理內存的吧 本章及節…

【docker】啟動臨時MongoDB容器、掛載數據卷運行數據庫服務,并通過備份文件恢復MongoDB數據庫備份數據

?啟動臨時 MongoDB 容器、掛載數據卷運行數據庫服務,并通過備份文件恢復數據 1.命令分解與功能說明1.1.啟動一個臨時 MongoDB 容器?,并進入交互式終端(1)執行命令(2)實現功能?(3)…

【最新 MCP 戰神手冊 08】工具使用詳解:實現 AI 行動

文章目錄 1. 開始啦!2. 第一部分:設計高效且安全的工具3. 第二部分:定義工具藍圖——參數、輸出與約束條件4. 第三部分:彌合差距:LLM 兼容性(函數調用)5. 第四部分:實施與測試的最佳實踐1. 開始啦! 在前幾章中,我們將工具介紹為 AI 模型在 MCP 客戶端引導下向 MCP 服…

介紹 IntelliJ IDEA 快捷鍵操作

IntelliJ IDEA 快捷鍵操作 1. 編輯與導航2. 查找與替換3. 調試與運行4. 導航與視圖5. 重構與生成6. 高級快捷鍵(提高效率)注意事項 IntelliJ IDEA 是一款功能強大的集成開發環境,掌握其常用快捷鍵可以顯著提升開發效率。但是有些小伙伴并不清…

Javascript 中作用域的理解?

一、作用域的類型 1. 全局作用域(公司大門外) 范圍:整個 JavaScript 文件變量:像貼在公告欄上的信息,所有人可見例子:const companyName "阿里"; // 全局變量,任何地方都能訪問 fu…

Leetcode刷題記錄22——滑動窗口最大值

題源:https://leetcode.cn/problems/sliding-window-maximum/description/?envTypestudy-plan-v2&envIdtop-100-liked 題目描述: 思路一: 暴力遍歷法,通過一個長度為k的滑動窗口遍歷nums,將其中最大的數依次記…

Apache Flink的架構設計與運行流程說明

在大數據領域,實時計算的重要性隨著業務需求的爆發式增長愈發凸顯。從電商的實時銷量監控到金融的高頻交易風控,從物聯網設備的實時告警到社交平臺的熱點追蹤,企業對“秒級甚至毫秒級”數據處理能力的需求已成為剛需。在眾多實時計算框架中&a…

經典算法 最長單調遞增子序列

最長單調遞增子序列 問題描述 找出由n個數組成的序列的最長單調遞增子序列。 示例輸入 9 2 1 5 3 6 4 8 9 7示例輸出 5示例輸入 6 5 6 7 1 2 8示例輸出 4c代碼(動態規劃 O(n^2)) #include<bits/stdc.h>using namespace std;int main() {int n, ans 0;cin >&g…

【語法】C++繼承中遇到的問題及解決方法

目錄 1.子類構造函數中初始化父類成員 2.子類顯式調用父類的析構函數 第一種說法&#xff1a;重定義 反駁&#xff1a; 第二種說法&#xff1a;operator~ 3.因編譯器版本過低而出現錯誤 貼主在學習C的繼承時&#xff0c;遇到了很多問題&#xff0c;覺得很變態&#xff0c…

前綴和 后綴和 --- 尋找數組的中心下標

題目鏈接 尋找數組的中心下標 給你一個整數數組 nums &#xff0c;請計算數組的 中心下標 。 數組 中心下標 是數組的一個下標&#xff0c;其左側所有元素相加的和等于右側所有元素相加的和。 如果中心下標位于數組最左端&#xff0c;那么左側數之和視為 0 &#xff0c;因為…

NVIDIA --- 端到端自動駕駛

前言 參加了NVIDIA 高級輔助駕駛開發者實驗室的活動&#xff0c;本次活動基于 NVIDIA 汽車行業的端到端解決方案——DRIVE AGX? 平臺&#xff0c;實現高級別智能和安全性的軟硬件開發工具和 AV 基礎設施。并且NVIDIA自動駕駛實驗室推出了一系列自動駕駛算法最新的前沿研究視頻…