I

agent-browser

bởi inferen-sh

agent-browser cho phép tác nhân AI điều khiển một trình duyệt dùng Playwright thông qua inference.sh. Mở trang, dùng tham chiếu phần tử @e để click, gõ, kéo thả, upload file, trích xuất nội dung và chụp ảnh màn hình hoặc quay video. Lý tưởng cho tự động hóa web, khai thác dữ liệu và các quy trình duyệt web do agent điều khiển.

Stars0
Yêu thích0
Bình luận0
Danh mụcBrowser Automation
Lệnh cài đặt
npx skills add https://github.com/inferen-sh/skills --skill agent-browser
Tổng quan

Tổng quan

agent-browser là gì?

agent-browser là một kỹ năng tự động hóa trình duyệt được thiết kế cho các tác nhân AI chạy trên nền tảng inference.sh. Công cụ này sử dụng Playwright ở tầng bên dưới và cung cấp một giao diện đơn giản dựa trên JSON để các agent có thể:

  • Mở và điều hướng trang web trong một trình duyệt thực
  • Tương tác với phần tử bằng các tham chiếu ổn định @e
  • Click, gõ, kéo thả và upload file
  • Trích xuất dữ liệu có cấu trúc phục vụ scraping và nghiên cứu
  • Chụp ảnh màn hình và ghi lại video phiên làm việc

Thay vì phải tự viết code Playwright, bạn gọi agent-browser thông qua CLI infsh (hoặc từ một agent có thể chạy lệnh Bash). Kỹ năng này điều phối phiên trình duyệt, trả về mô tả trang ở dạng thân thiện với máy, và cho phép agent của bạn điều khiển tương tác từng bước.

agent-browser phù hợp với ai?

agent-browser hướng tới:

  • Lập trình viên đang kết nối agent AI với các website thực
  • Kỹ sư tự động hóa cần các quy trình trình duyệt có thể lặp lại
  • Nhóm dữ liệu và nghiên cứu thực hiện scraping có mục tiêu hoặc nghiên cứu dựa trên giao diện
  • Người xây dựng workflow dùng inference.sh như một lớp điều phối

Kỹ năng này phù hợp nhất khi bạn đã sử dụng, hoặc sẵn sàng sử dụng, inference.sh và muốn trình duyệt trở thành một công cụ được kiểm soát, có thể truy cập được bởi agent.

agent-browser giải quyết vấn đề gì?

agent-browser giúp bạn xử lý những tác vụ tự động hóa trình duyệt phổ biến:

  • Tự động hóa quy trình đăng nhập, điều hướng, và điền form
  • Scraping nội dung có cấu trúc nhưng cần tương tác (form tìm kiếm, bộ lọc, phân trang)
  • Chạy các luồng tương tự “testing” do agent điều khiển trên các site đang hoạt động
  • Ghi video phiên duyệt web tự động để xem lại

Công cụ này trừu tượng hóa lớp script Playwright trực tiếp và cung cấp cho agent một tập hành động cấp cao dùng tham chiếu phần tử @e, giúp tương tác ổn định hơn qua nhiều bước.

Khi nào nên dùng agent-browser?

Hãy dùng agent-browser khi:

  • Bạn chạy agent qua inference.sh và cần chúng duyệt web
  • Bạn muốn độ tin cậy kiểu Playwright mà không phải viết code Playwright
  • Quy trình của bạn chủ yếu là mở trang, tương tác với phần tử và đọc kết quả

Công cụ này có thể không phù hợp khi:

  • Bạn không thể dùng CLI infsh hoặc các công cụ dạng Bash
  • Bạn cần các tính năng Playwright tùy biến sâu vượt ngoài những gì kỹ năng này cung cấp
  • Bài toán của bạn hoàn toàn dựa trên API và không cần trình duyệt thực

Nếu bạn cần quyền điều khiển cực kỳ chi tiết với nội tại trình duyệt hoặc framework vượt ngoài phạm vi kỹ năng, có thể bạn sẽ muốn dùng script Playwright trực tiếp. Với các nhu cầu tự động hóa do agent điều khiển thông thường, agent-browser mang lại một giao diện đơn giản và trừu tượng hơn.

Cách sử dụng

Yêu cầu trước

Trước khi dùng agent-browser, hãy đảm bảo bạn có:

  • Môi trường có thể chạy lệnh Bash
  • Đã cài CLI inference.sh (infsh)
  • Tài khoản inference.sh có thể đăng nhập từ CLI

Quick Start của kỹ năng yêu cầu rõ ràng phải có CLI infsh. Bạn có thể làm theo hướng dẫn cài CLI chính thức từ repository:

  • Tài liệu cài CLI: https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md

Sau khi infsh được cài và cấu hình, bạn có thể gọi kỹ năng agent-browser từ terminal hoặc từ bất kỳ công cụ agent nào có thể chạy lệnh infsh.

Cài đặt và kích hoạt kỹ năng

agent-browser được phân phối như một phần của repository inferen-sh/skills. Trong hầu hết môi trường dựa trên inference.sh, bạn không cần cài thêm gói npm riêng; thay vào đó, chỉ cần đảm bảo kỹ năng có sẵn rồi gọi nó qua infsh.

Các bước thiết lập điển hình:

  1. Cài CLI inference.sh
    • Thực hiện theo cli-install.md trong repo.
  2. Xác thực
    • Chạy:
      infsh login
      
    • Làm theo hướng dẫn trên màn hình để đăng nhập vào inference.sh.
  3. Kiểm tra kỹ năng đã sẵn sàng
    • Đảm bảo môi trường inference.sh của bạn có quyền truy cập app/kỹ năng agent-browser tại tools/utilities/agent-browser trong repository inferen-sh/skills.

Nếu bạn tích hợp với một hệ sinh thái “skills” rộng hơn hỗ trợ npx skills add, bạn cũng có thể gắn repo này làm nguồn, nhưng luồng chuẩn để dùng agent-browser là thông qua infsh app run.

Quy trình tự động hóa trình duyệt cốt lõi

Tài liệu kỹ năng mô tả một mẫu 4 bước nhất quán:

  1. Open – Khởi tạo phiên trình duyệt và điều hướng tới một URL.
  2. Interact – Dùng các tham chiếu phần tử @e trả về để click, gõ, kéo hoặc upload.
  3. Re-snapshot – Yêu cầu snapshot mới để lấy các tham chiếu @e mới sau khi điều hướng hoặc DOM thay đổi.
  4. Close – Kết thúc phiên; tùy chọn lấy file video nếu đã bật ghi.

Mẫu này giúp agent của bạn duy trì mô hình trạng thái trang. Mỗi lần gọi sẽ gửi input dạng JSON và nhận output có cấu trúc JSON, rồi bạn đưa lại vào vòng lặp suy luận của agent.

Ví dụ khởi động nhanh

Để xem agent-browser hoạt động với một ví dụ mở một trang đơn giản, hãy làm theo mẫu Quick Start trong repo:

infsh login

# Open a page and get interactive elements
infsh app run agent-browser --function open --input '{"url": "https://example.com"}' --session new

Lệnh này thực hiện:

  • --function open yêu cầu agent-browser mở một trang trình duyệt mới tại URL đã cho.
  • --session new tạo một phiên mới để các bước sau có thể tái sử dụng cùng trạng thái trình duyệt.
  • Kỹ năng trả về JSON thường bao gồm mô tả phần tử và tham chiếu @e mà agent của bạn có thể dùng trong các lệnh interact tiếp theo.

Làm việc với tham chiếu phần tử @e

Tính năng cốt lõi của agent-browser là dùng các tham chiếu @e. Thay vì yêu cầu CSS selector hoặc XPath, kỹ năng trả về các handle như @e:button-1 (định dạng chính xác phụ thuộc triển khai) kèm mô tả dễ đọc.

Agent của bạn sẽ:

  1. Đọc danh sách phần tử có sẵn và mô tả của chúng.
  2. Chọn tham chiếu @e phù hợp (ví dụ nút có nhãn “Search”).
  3. Gọi hàm tương tác (như click hoặc fill) dùng tham chiếu @e đó.

Thiết kế này được tối ưu cho agent AI vì chúng có thể suy luận dựa trên mô tả thay vì chi tiết DOM thấp cấp. Nó cũng giúp tương tác bền vững hơn, ngay cả khi selector bên dưới thay đổi, miễn là mô tả vẫn dễ hiểu.

Ví dụ: open, click và resnapshot

Một luồng nhiều bước điển hình có thể trông như sau (chỉ là mẫu, hãy điều chỉnh theo hàm cụ thể của bạn):

# 1. Start a session and open a page
OPEN_RESULT=$(infsh app run agent-browser \
  --function open \
  --session new \
  --input '{"url": "https://example.com"}')

# 2. Use OPEN_RESULT to pick an @e ref (e.g. @e:search-button) in your agent logic
# 3. Interact with that element
INTERACT_RESULT=$(infsh app run agent-browser \
  --function interact \
  --session "$INF_SH_SESSION" \
  --input '{"action": "click", "element": "@e:search-button"}')

# 4. Re-snapshot after the click to get updated elements
SNAPSHOT_RESULT=$(infsh app run agent-browser \
  --function snapshot \
  --session "$INF_SH_SESSION" \
  --input '{}')

Tên các hàm ngoài open có thể khác nhau, nên luôn kiểm tra SKILL.md mới nhất và tài liệu tương ứng trong tools/utilities/agent-browser để biết chữ ký hàm và schema input chính xác.

Ảnh chụp màn hình và ghi video

agent-browser có thể ghi lại các “artefact” trực quan của phiên duyệt web:

  • Ảnh chụp màn hình (screenshot) – Hữu ích để debug hành vi agent hoặc lưu lại bằng chứng trực quan.
  • Video – Khi bạn đóng phiên với chế độ ghi bật, kỹ năng có thể trả về hoặc cung cấp link tới file video của toàn bộ luồng tự động.

Các tính năng này được cấu hình thông qua các tùy chọn input của kỹ năng. Để biết chi tiết cách bật ghi hình và lấy output, hãy xem định nghĩa SKILL.md và tài liệu bổ sung trong thư mục tools/utilities/agent-browser của repo.

Mẹo tích hợp cho agent và workflow

Để tận dụng tối đa agent-browser trong các quy trình tự động hóa hoặc nghiên cứu:

  • Lưu trữ ID --session: Đảm bảo agent của bạn lưu session ID giữa các lần gọi để nhiều hành động diễn ra trong cùng một phiên trình duyệt.
  • Parse JSON cẩn thận: Dùng cơ chế parse JSON ổn định trong môi trường runtime của agent; danh sách phần tử và metadata có thể khá phong phú.
  • Giới hạn tốc độ tương tác nếu cần: Nếu trang chậm hoặc động, hãy đảm bảo agent tính đến thời gian tải và chờ phần tử xuất hiện giữa các bước khi kỹ năng hỗ trợ cấu hình đó.
  • Ghi log các hành động chính: Lưu log các lệnh open, interactclose nếu bạn cần audit hoặc debug hành vi duyệt web của agent.

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

Mối quan hệ giữa agent-browser, inference.sh và Playwright là gì?

agent-browser là một kỹ năng chạy trong hệ sinh thái inference.sh. Khi bạn gọi thông qua infsh app run, công cụ này sử dụng Playwright làm engine tự động hóa trình duyệt. Bạn không gọi Playwright trực tiếp; thay vào đó, bạn làm việc với các hàm cấp cao của kỹ năng và các tham chiếu phần tử @e.

Tôi cài đặt agent-browser như thế nào?

Bạn không cài agent-browser như một binary độc lập hay gói npm riêng. Thay vào đó:

  1. Cài CLI inference.sh (infsh) theo hướng dẫn trong cli-install.md chính thức.
  2. Đăng nhập bằng infsh login.
  3. Đảm bảo môi trường của bạn có quyền truy cập kỹ năng agent-browser từ repository inferen-sh/skills (trong thư mục tools/utilities/agent-browser).

Từ đó, bạn có thể gọi ngay kỹ năng thông qua infsh app run agent-browser.

Tôi có cần biết lập trình để dùng agent-browser không?

Nên có hiểu biết cơ bản về dòng lệnh và JSON. Bạn không cần viết script Playwright, nhưng nên thoải mái với việc:

  • Chạy lệnh infsh
  • Truyền JSON bằng --input
  • Parse JSON output trong agent hoặc script của bạn

Với các workflow nâng cao (rẽ nhánh logic, vòng lặp, xử lý lỗi), kiến thức scripting hoặc lập trình tổng quát sẽ hữu ích.

Tôi có thể dùng agent-browser ngoài inference.sh không?

Kỹ năng này được xây dựng riêng cho inference.sh và được mô tả là “Browser automation for AI agents via inference.sh.” Cách được hỗ trợ và có tài liệu để chạy là thông qua CLI infsh. Nếu bạn cần một thư viện độc lập, có thể bạn sẽ muốn dùng Playwright trực tiếp trong ngôn ngữ lập trình bạn chọn.

agent-browser có phù hợp cho scraping quy mô lớn không?

agent-browser có thể dùng cho scraping có mục tiêu, đặc biệt khi trang cần tương tác hoặc render JavaScript. Tuy nhiên, với scraping khối lượng rất lớn, bạn cần cân nhắc:

  • Giới hạn tài khoản và pricing của inference.sh
  • Tuân thủ điều khoản sử dụng và robots.txt của website mục tiêu
  • Hiệu năng, độ đồng thời (concurrency) và giới hạn tốc độ (rate limiting)

Với các bài toán scraping quy mô nhỏ hoặc gắn vào workflow cụ thể do agent điều khiển, agent-browser là lựa chọn mạnh. Với crawling khổng lồ trên nhiều site, một stack scraping chuyên dụng có thể phù hợp hơn.

Cách quản lý session hoạt động như thế nào?

Quản lý session được điều khiển qua flag --session khi gọi infsh app run. Mẫu điển hình là:

  • Dùng --session new khi bạn gọi open lần đầu
  • Tái sử dụng session ID đó cho các lệnh interactsnapshot tiếp theo
  • Gọi hàm đóng phiên phù hợp để kết thúc session và tùy chọn lấy video

Luôn kiểm tra SKILL.md hiện tại để biết tùy chọn và output chính xác liên quan tới quản lý session.

Tôi có thể tìm specification đầy đủ về hàm và input ở đâu?

Tài liệu tham chiếu chuẩn cho agent-browser nằm trong repository:

  • File SKILL.md tại root của repo inferen-sh/skills
  • Thư mục tools/utilities/agent-browser cho chi tiết triển khai, ví dụ và tài liệu bổ sung

Hãy mở các file này để xem danh sách hàm hiện tại, định dạng JSON input và output, rồi thiết kế agent hoặc script của bạn dựa trên các định nghĩa đó.

Đánh giá & nhận xét

Chưa có đánh giá nào
Chia sẻ nhận xét của bạn
Đăng nhập để chấm điểm và để lại nhận xét cho skill này.
G
0/10000
Nhận xét mới nhất
Đang lưu...