DEV Community

Cover image for Cách xây dựng Tự động hóa trình duyệt bằng AI với Python, Ollama và DeepSeek
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Cách xây dựng Tự động hóa trình duyệt bằng AI với Python, Ollama và DeepSeek

Tự động hóa trình duyệt hiện đại không còn phải phụ thuộc vào các script Selenium dễ hỏng. Với Browser Use, Ollama và DeepSeek, bạn có thể xây dựng tác nhân AI điều khiển trình duyệt thật, đọc trang, nhấp chuột, điền form, trích xuất dữ liệu và thực hiện tác vụ nhiều bước từ hướng dẫn ngôn ngữ tự nhiên.

Dùng thử Apidog ngay hôm nay

Trong bài này, bạn sẽ thiết lập một workflow Python dùng Browser Use để điều phối trình duyệt, Ollama để chạy LLM cục bộ và DeepSeek để xử lý lập luận. Kết quả là một tác nhân AI có thể mở trình duyệt, tìm kiếm thông tin và trả về kết quả có thể dùng cho QA, backend automation hoặc kiểm thử tích hợp.

Vì sao dùng Browser Use, Ollama và DeepSeek?

Bộ công cụ này chia trách nhiệm khá rõ:

  • Browser Use: gói Python dùng để điều phối hành động trình duyệt như điều hướng, nhấp chuột, nhập liệu và trích xuất dữ liệu.
  • Ollama: máy chủ LLM cục bộ, giúp chạy mô hình trên máy của bạn.
  • DeepSeek: mô hình lập luận có thể chuyển yêu cầu cấp cao thành các bước thao tác trình duyệt.

Bạn có thể dùng stack này để:

  • Tự động hóa điều hướng web.
  • Trích xuất dữ liệu từ trang web.
  • Điền biểu mẫu.
  • Kiểm thử các workflow frontend/backend.
  • Tạo tác nhân AI thực hiện tác vụ nhiều bước bằng prompt.

Điều kiện tiên quyết

Trước khi bắt đầu, kiểm tra môi trường của bạn:

python --version
node --version
git --version
Enter fullscreen mode Exit fullscreen mode

Bạn cần:

  • Python 3.11+
  • Node.js để hỗ trợ Playwright
  • Git
  • Ollama từ ollama.com
  • Phần cứng khuyến nghị:
    • Tối thiểu 4 CPU cores
    • 16GB RAM
    • Khoảng 12GB dung lượng trống cho mô hình DeepSeek
    • GPU không bắt buộc, nhưng hữu ích với mô hình lớn

1. Tạo project

Tạo thư mục riêng cho agent:

mkdir browser-use-agent
cd browser-use-agent
Enter fullscreen mode Exit fullscreen mode

Clone Browser Use:

git clone https://github.com/browser-use/browser-use.git
cd browser-use
Enter fullscreen mode Exit fullscreen mode

2. Tạo môi trường ảo Python

Tạo virtual environment:

python -m venv venv
Enter fullscreen mode Exit fullscreen mode

Kích hoạt trên macOS/Linux:

source venv/bin/activate
Enter fullscreen mode Exit fullscreen mode

Kích hoạt trên Windows:

venv\Scripts\activate
Enter fullscreen mode Exit fullscreen mode

Sau khi kích hoạt, terminal sẽ hiển thị tiền tố như:

(venv)
Enter fullscreen mode Exit fullscreen mode

3. Mở project trong VS Code

Nếu dùng VS Code:

code .
Enter fullscreen mode Exit fullscreen mode

Trong VS Code, chọn đúng Python interpreter:

  1. Nhấn Ctrl+P hoặc Cmd+P trên macOS.
  2. > Select Python Interpreter.
  3. Chọn interpreter trong thư mục venv.

4. Cài đặt Ollama

Tải và cài đặt Ollama từ ollama.com.

Kiểm tra cài đặt:

ollama --version
Enter fullscreen mode Exit fullscreen mode

download ollama

5. Tải mô hình DeepSeek

Kéo mô hình DeepSeek:

ollama pull deepseek/seed
Enter fullscreen mode Exit fullscreen mode

Lưu ý:

  • Mô hình này có dung lượng khoảng 12GB.
  • Nếu máy của bạn hạn chế tài nguyên, có thể thử mô hình nhẹ hơn như:
ollama pull qwen2.5:14b
Enter fullscreen mode Exit fullscreen mode

Kiểm tra danh sách mô hình đã cài:

ollama list
Enter fullscreen mode Exit fullscreen mode

Bạn sẽ thấy mô hình như deepseek/seed, deepseek-r1 hoặc mô hình bạn đã chọn.

pull deepseek model

6. Cài đặt Browser Use và dependencies

Trong virtual environment, chạy:

pip install . ."[dev]"
Enter fullscreen mode Exit fullscreen mode

Cài thêm LangChain và Ollama integration:

pip install langchain langchain-ollama
Enter fullscreen mode Exit fullscreen mode

Cài Playwright browser runtime:

playwright install
Enter fullscreen mode Exit fullscreen mode

Nếu gặp lỗi dependency hệ thống, chạy thêm:

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

7. Khởi động Ollama server

Mở một terminal riêng và chạy:

ollama serve
Enter fullscreen mode Exit fullscreen mode

Ollama sẽ chạy tại:

http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

Giữ terminal này hoạt động trong suốt quá trình chạy agent.

8. Viết tác nhân AI kiểm tra thời tiết Boston

Tạo file test.py trong project:

import asyncio
from browser_use import Agent
from langchain_ollama import ChatOllama


async def run_search() -> str:
    agent = Agent(
        task="Sử dụng Google để tìm thời tiết ở Boston, Massachusetts",
        llm=ChatOllama(
            model="deepseek/seed",
            num_ctx=32000,
        ),
        max_actions_per_step=3,
        tool_call_in_content=False,
    )

    result = await agent.run(max_steps=15)
    return result


async def main():
    result = await run_search()
    print("\n\n", result)


if __name__ == "__main__":
    asyncio.run(main())
Enter fullscreen mode Exit fullscreen mode

Chạy script:

python test.py
Enter fullscreen mode Exit fullscreen mode

Agent sẽ:

  1. Mở trình duyệt.
  2. Truy cập Google.
  3. Tìm thời tiết ở Boston, Massachusetts.
  4. Trả kết quả về terminal.

browser-use search

Nếu script lỗi, kiểm tra nhanh:

ollama list
Enter fullscreen mode Exit fullscreen mode
curl http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

Nếu Ollama chưa chạy, khởi động lại:

ollama serve
Enter fullscreen mode Exit fullscreen mode

Log của Ollama thường nằm tại:

~/.ollama/logs
Enter fullscreen mode Exit fullscreen mode

browser-use search result

Tích hợp Apidog vào workflow kiểm thử API

Khi tác nhân AI trình duyệt tương tác với API web, ví dụ gọi endpoint, lấy dữ liệu hoặc kích hoạt workflow backend, bạn nên kiểm tra hợp đồng API để tránh lỗi không nhất quán giữa frontend, backend và tác nhân tự động hóa.

Apidog có thể hỗ trợ trong các bước:

  • Tạo và quản lý test case API.
  • Kiểm thử API tự động.
  • Xác thực hợp đồng API trên môi trường test và production.
  • Đảm bảo endpoint mà browser agent phụ thuộc vẫn hoạt động như mong đợi.

Một workflow thực tế có thể là:

  1. Dùng Browser Use để tự động hóa thao tác trình duyệt.
  2. Dùng Apidog để xác thực API liên quan.
  3. Chạy cả hai trong pipeline QA hoặc kiểm thử tích hợp.
  4. Kiểm tra lỗi ở cả UI flow và API contract.

API Contract Testing with Apidog

Kiểm thử hợp đồng API với Apidog

Mẹo viết prompt cho browser agent

Prompt càng cụ thể, agent càng dễ thực hiện đúng.

Ví dụ chưa tốt:

Tìm chuyến bay.
Enter fullscreen mode Exit fullscreen mode

Ví dụ tốt hơn:

Truy cập kayak.com, tìm chuyến bay từ Zurich đến Bắc Kinh, ngày 25.12.2025 đến 02.02.2026, sau đó sắp xếp theo giá.
Enter fullscreen mode Exit fullscreen mode

Một số nguyên tắc:

  • Nêu rõ website cần truy cập.
  • Nêu rõ dữ liệu đầu vào như ngày, địa điểm, từ khóa.
  • Nêu rõ kết quả mong muốn như lưu liên kết, in dữ liệu hoặc điền biểu mẫu.
  • Chia nhỏ tác vụ phức tạp thay vì đưa một prompt quá dài.
  • Lặp lại và tinh chỉnh nếu kết quả chưa đúng.

Ví dụ tác vụ nhiều bước:

Truy cập LinkedIn, tìm kiếm việc làm Machine Learning, lưu liên kết của 3 kết quả đầu tiên vào một tệp.
Enter fullscreen mode Exit fullscreen mode

Gỡ lỗi thường gặp

Ollama không phản hồi

Kiểm tra server:

curl http://localhost:11434
Enter fullscreen mode Exit fullscreen mode

Nếu không có phản hồi:

ollama serve
Enter fullscreen mode Exit fullscreen mode

Không tìm thấy mô hình

Kiểm tra model name:

ollama list
Enter fullscreen mode Exit fullscreen mode

Đảm bảo giá trị trong code khớp với model đã pull:

model="deepseek/seed"
Enter fullscreen mode Exit fullscreen mode

Playwright lỗi khi mở trình duyệt

Cài lại browser runtime:

playwright install
Enter fullscreen mode Exit fullscreen mode

Nếu thiếu dependency hệ thống:

playwright install-deps
Enter fullscreen mode Exit fullscreen mode

Agent chạy chậm

Một số hướng xử lý:

  • Dùng mô hình nhẹ hơn.
  • Giảm num_ctx.
  • Giảm max_steps.
  • Giảm độ phức tạp của prompt.
  • Chạy trên máy có nhiều RAM hơn hoặc có GPU.

Ví dụ giảm số bước:

result = await agent.run(max_steps=8)
Enter fullscreen mode Exit fullscreen mode

Muốn đổi tác vụ

Bạn chỉ cần thay chuỗi task:

task="Truy cập GitHub, tìm repository browser-use và cho biết số sao hiện tại"
Enter fullscreen mode Exit fullscreen mode

hoặc:

task="Mở trang đăng nhập nội bộ, nhập thông tin test user và kiểm tra dashboard có hiển thị không"
Enter fullscreen mode Exit fullscreen mode

Câu hỏi thường gặp

Browser Use là gì?

Browser Use là gói Python để tự động hóa trình duyệt bằng AI, sử dụng Playwright bên dưới. Repository: GitHub

Có cần GPU không?

Không bắt buộc với các mô hình nhỏ hơn, nhưng GPU giúp tăng tốc khi dùng mô hình lớn.

Có thể dùng mô hình khác ngoài DeepSeek không?

Có. Bạn có thể dùng các mô hình khác được Ollama hỗ trợ nếu mô hình đó đủ khả năng lập luận cho tác vụ trình duyệt. Tham khảo Browser Use trên GitHub.

Dữ liệu có được xử lý cục bộ không?

Có, nếu bạn chạy Ollama cục bộ và không cấu hình gửi dữ liệu đến dịch vụ bên ngoài. Khi đó suy luận mô hình diễn ra trên máy của bạn.

Có thể tự động hóa đăng nhập và tác vụ nhiều bước không?

Có. Bạn mô tả tác vụ cấp cao trong task, agent sẽ cố gắng phân rã thành các bước thao tác trình duyệt.

Kết luận

Với Python, Browser Use, Ollama và DeepSeek, bạn có thể xây dựng tác nhân AI điều khiển trình duyệt thật bằng hướng dẫn ngôn ngữ tự nhiên. Cách tiếp cận này phù hợp cho QA, kiểm thử tích hợp, tự động hóa backend workflow và các tác vụ cần tương tác với web UI.

Nếu workflow của bạn phụ thuộc vào API, hãy kết hợp thêm Apidog để kiểm thử và xác thực hợp đồng API. Như vậy, bạn có thể kiểm soát cả hai lớp: hành vi trên trình duyệt và độ ổn định của API phía sau.

Top comments (0)