Chrome DevTools cho tác nhân có một giao diện dòng lệnh (CLI) cho phép tác nhân lập trình của bạn hoặc chính bạn chạy các công cụ DevTools dưới dạng lệnh shell tiêu chuẩn. Thay vì gọi các công cụ một cách linh động thông qua máy chủ MCP, tác nhân của bạn sẽ viết các hành động tương tự dưới dạng lệnh shell và có thể liên kết các hành động đó thành một tập lệnh mà bạn có thể chạy lại bất cứ lúc nào. Ví dụ: nhân viên hỗ trợ có thể tạo một kịch bản như sau:
chrome-devtools new_page "https://example.com"
chrome-devtools take_snapshot 1
chrome-devtools fill 1 "1_4" "hello"
Cả máy chủ MCP và CLI đều kết nối với cùng một công cụ: một trình nền chạy trong nền ổn định, giao tiếp với Chrome thông qua Giao thức Chrome DevTools (CDP). Điểm khác biệt nằm ở cách tác nhân của bạn tiếp cận công cụ đó:
- Máy chủ MCP: Tác nhân của bạn kết nối qua đầu vào/đầu ra chuẩn bằng cách sử dụng JSON-RPC và coi mọi công cụ trình duyệt là một lệnh gọi hàm tương tác.
- CLI: Tác nhân của bạn thực thi các lệnh shell trực tiếp trên cùng một trình nền trong nền.
Bạn có thể dùng CLI để làm những việc sau:
- Lưu giữ quy trình làm việc: Biến các hành động mà tác nhân thực hiện trong phiên gỡ lỗi khám phá thành một tập lệnh có thể sử dụng lại.
- Tái tạo trạng thái ứng dụng: Chạy lại tập lệnh để đưa trình duyệt về trạng thái đã biết trước khi gỡ lỗi lại.
- Hành động hàng loạt: Chạy một chuỗi lệnh điều hướng, nhập, mô phỏng và kiểm tra mà không cần lượt trò chuyện giữa mỗi bước.
- Chạy tập lệnh mà không cần tác nhân AI: Thực thi tập lệnh đã tạo từ bất kỳ thiết bị đầu cuối, vỏ phụ hoặc vùng chứa CI nào có thể thực thi tập lệnh shell mà không cần phiên LLM hoặc ứng dụng MCP đang hoạt động.
Chọn giữa CLI và máy chủ MCP
Việc lựa chọn giữa CLI và máy chủ MCP là một quyết định kỹ thuật về chi phí, bối cảnh và quy trình làm việc.
- Chi phí cho cửa sổ ngữ cảnh: Khi bạn đăng ký máy chủ MCP, mọi định nghĩa công cụ và giản đồ JSON đều được chèn vào câu lệnh hệ thống của LLM trong mọi cuộc trò chuyện. Với kỹ năng CLI, tác nhân của bạn chỉ tải một bản tóm tắt Markdown nhỏ gọn và trả phí mã thông báo khi quyết định đọc toàn bộ kỹ năng và tạo các lệnh cần thiết. Đối với các phiên hoạt động dài, nhiều lượt của tác nhân, sự khác biệt đó sẽ làm tăng cả chi phí và độ trễ.
- Khám phá so với thực thi: Các công cụ MCP vượt trội trong việc gỡ lỗi linh động, mang tính khám phá, khi cả bạn và tác nhân của bạn đều chưa biết cần kiểm tra những gì. Vì tác nhân phần mềm của bạn biết trước tất cả các công cụ hiện có, nên tác nhân đó có nhiều khả năng sẽ sử dụng các công cụ đó để đạt được mục tiêu. Khi đã biết đường dẫn, CLI cho phép bạn chỉ chạy các bước cần thiết.
- Khả năng sử dụng lại: Bạn có thể lưu tập lệnh CLI, sử dụng lại tập lệnh đó trong một kỹ năng hoặc chạy tập lệnh đó theo cách thủ công bên ngoài vòng lặp của tác nhân. Bạn không thể làm việc đó bằng lệnh gọi công cụ MCP.
| Sử dụng máy chủ MCP khi | Sử dụng CLI khi |
|---|---|
| Bạn đang điều tra một vấn đề chưa xác định và cần có đầy đủ hộp công cụ. | Bạn đã biết các bước và muốn lặp lại các bước đó một cách đáng tin cậy. |
| Bạn muốn giải quyết vấn đề một cách linh hoạt, trực tiếp và muốn tìm hiểu sâu về trình duyệt. | Bạn muốn có các kỹ năng tác nhân tiết kiệm mã thông báo hoặc tự động hoá dựa trên thiết bị đầu cuối. |
| Tác nhân của bạn chạy trong một IDE hoặc ứng dụng có hỗ trợ MCP. | Môi trường của bạn không hỗ trợ ứng dụng MCP. |
Khi sử dụng CLI, hãy lưu ý những điều sau:
- Phạm vi công cụ: CLI hỗ trợ hầu hết các công cụ Chrome DevTools cho tác nhân để tự động hoá dựa trên shell. Để xem danh sách đầy đủ các lệnh, hãy xem tài liệu tham khảo về kỹ năng CLI.
- Khởi động ngầm: Máy chủ nền tự động khởi động trong lần sử dụng đầu tiên; bạn không cần chạy
start,statushoặcstoptrước mỗi lệnh. - Trạng thái ổn định: Trạng thái trình duyệt vẫn ổn định trên các lệnh, vì vậy, trang bạn mở trong một lệnh vẫn có sẵn trong lệnh tiếp theo nếu không được đóng một cách rõ ràng.
- Mã nhận dạng trang và UID phần tử: Hầu hết các lệnh đều lấy mã nhận dạng trang làm đối số đầu tiên. Chạy
chrome-devtools list_pagesđể tìm vàchrome-devtools take_snapshotđể lấy UID của các phần tử mà bạn muốn tương tác. - Định dạng đầu ra: Kết quả đầu ra mặc định là văn bản thuần tuý giống Markdown. Truyền
--output-format=jsonnếu bạn muốn sử dụng kết quả trong các tập lệnh hoặc quy trình CI khác. - Quyền truy cập vào tệp: Theo mặc định, CLI có toàn quyền truy cập vào hệ thống tệp đối với các tham số lưu tệp và
upload_file. Truyền--allowUnrestrictedPaths=falseđể hạn chế quyền truy cập tệp vào thư mục tạm thời của hệ điều hành. - Lighthouse trong CI: Bạn có thể chạy
lighthouse_audittừ CLI, nhưng Lighthouse CLI độc lập và GitHub Actions của công cụ này sẽ gọn nhẹ hơn nếu bạn chỉ cần điểm số Lighthouse trong CI. - Trừu tượng hoá đơn giản hơn so với tập lệnh tự động hoá trình duyệt: Không giống như việc viết tập lệnh Puppeteer hoặc Playwright đầy đủ bằng JavaScript hoặc TypeScript, CLI Công cụ cho nhà phát triển cung cấp một nền tảng API có giới hạn và có mục tiêu cao. Cú pháp shell này dễ đọc và dễ duy trì hơn đối với con người, đồng thời dễ dàng hơn đáng kể ngay cả đối với các mô hình cấp thấp để tạo ra một cách đáng tin cậy mà không bị ảo tưởng.
Điều kiện tiên quyết
Trước khi sử dụng CLI, hãy đảm bảo bạn có những điều sau:
- Đã cài đặt Chrome DevTools cho tác nhân: Làm theo hướng dẫn bắt đầu sử dụng. Các trình bổ trợ và tiện ích dành riêng cho tác nhân (ví dụ: tiện ích Gemini CLI) bao gồm các kỹ năng của tác nhân cùng với máy chủ MCP.
- CLI có sẵn trong shell: Việc cài đặt là một bước thực hiện một lần và không thuộc quy trình làm việc thông thường của tác nhân. Xem tài liệu tham khảo về cách cài đặt.
- Kỹ năng
chrome-devtools-cli(được cài đặt bằng Chrome DevTools cho tác nhân): Kỹ năng này hướng dẫn tác nhân cách viết tập lệnh shell hoặc chạy lệnh shell bằng CLI.
Cấu trúc lệnh
Các lệnh tuân theo mẫu chrome-devtools <tool> [arguments] [flags].
Đối số bắt buộc là đối số vị trí và đối số không bắt buộc sử dụng cờ. Sử dụng --help
trên bất kỳ lệnh nào để biết thông tin chi tiết.
Ví dụ:
chrome-devtools new_page "https://example.com" # Open a page
chrome-devtools list_pages # Find the page ID
chrome-devtools take_snapshot 1 # Get element UIDs for page 1
chrome-devtools fill 1 "1_4" "hello" # Fill an input
chrome-devtools click 1 "1_7" --includeSnapshot true
chrome-devtools list_console_messages 1 --types error
chrome-devtools take_screenshot 1 --filePath "result.png"
Trường hợp sử dụng cho CLI của Chrome DevTools
Hướng dẫn nhân viên hỗ trợ ghi lại các bước mà nhân viên đó đã tìm ra dưới dạng tập lệnh, thay vì giải quyết lại cùng một quy trình trình duyệt trong mỗi phiên.
Lưu giữ phiên gỡ lỗi dưới dạng tập lệnh có thể sử dụng lại
Sau một phiên gỡ lỗi khám phá qua MCP, bạn thường không thể đảm bảo rằng vấn đề tương tự sẽ không xuất hiện lại. Thay vì giải thích lại các bước tái hiện vào lần tới, hãy yêu cầu tác nhân ghi lại quy trình vừa thực hiện.
Câu lệnh mẫu:
Please write a chrome-devtools CLI script for this user flow, and save it as test.sh.
Ví dụ về cách thực thi của tác nhân: Tác nhân của bạn xem xét các bước điều hướng, nhập và kiểm tra mà tác nhân đã thực hiện trong phiên, sau đó dịch các bước đó thành một chuỗi lệnh chrome-devtools, ví dụ: new_page, take_snapshot, fill, click và list_console_messages. Tập lệnh này được lưu dưới dạng test.sh. Lần tiếp theo gỡ lỗi khu vực này, bạn có thể trỏ tác nhân đến tập lệnh để đạt được trạng thái tương tự một lần nữa hoặc chạy tập lệnh bên ngoài vòng lặp tác nhân để gỡ lỗi theo cách thủ công.
Tái tạo trạng thái ứng dụng trước khi điều tra
Các trạng thái phức tạp, chẳng hạn như quy trình thanh toán nhiều bước hoặc trang tổng quan được lọc, sẽ khiến tác nhân tốn nhiều tài nguyên để tạo lại theo cách trò chuyện mỗi lần. Sử dụng một tập lệnh đã lưu làm điểm bắt đầu cho một cuộc điều tra mới.
Câu lệnh mẫu:
Run ./scripts/checkout-flow.sh to get the browser into the payment step, then check why the "Pay now" button stays disabled after I select Google Pay.
Ví dụ về việc thực thi tác nhân: Tác nhân của bạn chạy tập lệnh, chuyển đến trang thanh toán, điền vào biểu mẫu địa chỉ và chọn một phương thức vận chuyển. Vì trạng thái trình duyệt vẫn tồn tại giữa các lệnh, nên tác nhân của bạn sẽ sử dụng take_snapshot và evaluate_script trên cùng một trang để kiểm tra trạng thái của nút và trình xử lý sự kiện được đính kèm vào bộ chọn thanh toán.
Kiểm tra hình ảnh hàng loạt trên các khung nhìn
Việc xác minh thay đổi về bố cục trên nhiều kích thước màn hình là một công việc lặp đi lặp lại và thường được thực hiện thủ công. Hãy yêu cầu nhân viên hỗ trợ cung cấp một tập lệnh áp dụng chế độ cài đặt mô phỏng và thu thập bằng chứng cho từng chế độ cài đặt trong một lần chạy.
Câu lệnh mẫu:
Write a chrome-devtools CLI script that opens http://localhost:3000/pricing, captures a full-page screenshot at 375x667, 768x1024, and 1920x1080, and saves them to ./screenshots with the viewport size in the filename.
Ví dụ về cách thực thi tác nhân: Tác nhân của bạn viết một vòng lặp gọi chrome-devtools emulate 1 --viewport "<size>", sau đó là chrome-devtools
take_screenshot 1 --fullPage true --filePath "./screenshots/pricing-<size>.png" cho mỗi khung nhìn. Bạn có thể chạy lại tập lệnh sau mỗi lần thay đổi CSS mà không cần
mở cuộc trò chuyện.
Kiểm thử tổng quan một quy trình không có ứng dụng MCP nào
Một số môi trường, chẳng hạn như vùng chứa CI hoặc chế độ thiết lập doanh nghiệp bị khoá, không hỗ trợ ứng dụng MCP. Hầu như mọi thiết bị đầu cuối, vỏ phụ, vùng chứa CI và khung tác nhân đều hỗ trợ chạy tập lệnh shell tiêu chuẩn và đọc stdout, giúp CLI phù hợp với các quy trình kiểm tra nhẹ ở những nơi đó.
Câu lệnh mẫu:
Create a shell script that opens the sign-up page on the staging URL passed as the first argument, submits the form with test data, and exits with a non-zero code if any console errors are logged. Use --output-format=json so the script can parse the result.
Ví dụ về cách thực thi tác nhân: Tác nhân của bạn viết một tập lệnh sử dụng new_page, take_snapshot, fill và click, sau đó gọi list_console_messages 1
--types error --output-format=json và phân tích cú pháp kết quả JSON để quyết định mã thoát.
Đóng gói quy trình làm việc thành một kỹ năng gọn nhẹ
Nếu một quy trình hữu ích cho nhiều dự án hoặc thành viên trong nhóm, thì nhân viên hỗ trợ có thể gói tập lệnh đó vào một kỹ năng. Đó là kỹ năng CLI của Công cụ cho nhà phát triển: một tệp đối chiếu gọn nhẹ cho phép tác nhân của bạn chạy các lệnh cụ thể trên trình duyệt mà không phải trả trước chi phí mã thông báo cho tất cả công cụ.
Câu lệnh mẫu:
Turn ./scripts/checkout-flow.sh into a skill named "reproduce-checkout" with a short description of when to use it, so I can invoke it in future sessions.
Ví dụ về cách thực thi của tác nhân: Tác nhân của bạn tạo một SKILL.md có tên, nội dung mô tả một dòng về thời điểm áp dụng kỹ năng và hướng dẫn tham chiếu đến tập lệnh. Trong các phiên sau, tác nhân chỉ đọc toàn bộ kỹ năng khi nhiệm vụ khớp với nội dung mô tả của kỹ năng đó.
Các bước tiếp theo
- Để xem danh sách đầy đủ các lệnh và cờ CLI, hãy xem Tài liệu tham khảo về kỹ năng CLI.
- Để định cấu hình máy chủ cơ bản (chế độ không có giao diện người dùng, kênh, danh mục thử nghiệm), hãy xem phần Cấu hình.