Tìm kiếm

Bắt đầu

Macro nhận diện hình ảnh: cách MAS hoạt động

Cách macro nhận diện hình ảnh hoạt động trong MAS: ảnh mẫu và OCR đọc màn hình Android, thao tác giống người gửi qua adb, và macro chạy ở đâu.

  • Windows
  • Mac
  • Giả lập
  • Thiết bị đám mây
  • Điện thoại
  • Studio
  • Python SDK
Cơ bản Cập nhật 7 phút đọc
Trong trang này
  1. Cách macro nhận diện hình ảnh nhìn màn hình
  2. Ảnh mẫu
  3. OCR trên Android
  4. Thao tác giống người
  5. Tọa độ và kích thước màn hình
  6. Từ vựng
  7. Mọi thứ chạy ở đâu
  8. Máy tính của bạn điều khiển giả lập
  9. Thiết bị cloud chạy trong cloud của MAS
  10. Mã nói chuyện với ứng dụng qua JSON-RPC
  11. AI lúc viết, không có AI lúc chạy
  12. Gói đăng ký
  13. Đi tiếp

Macro Automation Studio (MAS) tự động hóa ứng dụng Android theo cách một người làm: nhìn màn hình, quyết định, rồi chạm. Trang này giải thích cách một macro nhận diện hình ảnh hoạt động, những từ bạn gặp trong ứng dụng, và từng phần chạy ở đâu. Đọc một lần và phần còn lại của tài liệu sẽ dễ hiểu.

Cách macro nhận diện hình ảnh nhìn màn hình

MAS không sửa APK và không đọc bộ nhớ ứng dụng. Nó làm việc từ bên ngoài, qua adb, với ba khối cơ bản.

Ảnh mẫu

Ảnh mẫu là một mẩu cắt nhỏ của màn hình: một nút, một biểu tượng, một huy hiệu. Bạn cắt nó trong Asset Lab từ thiết bị đang chạy, nó vào Thư viện ảnh của bạn với một ID dạng số, và mã của bạn tham chiếu đến nó bằng ID đó. Lúc chạy, find_object chụp một ảnh màn hình mới và tìm ảnh mẫu trong đó bằng so khớp mẫu OpenCV. Một kết quả khớp cần độ tương đồng 0.8 theo mặc định (threshold=0.8) và trả về điểm giữa, nên dòng tiếp theo là một cú chạm.

Tệp ảnh có thể là jpg, png, gif hoặc webp, tối đa 10 MB mỗi tệp. Giữ ảnh mẫu nhỏ và đặc trưng: cả một màn hình chỉ khớp đúng màn hình đó, còn một nút thì khớp ở bất cứ đâu nút xuất hiện.

OCR trên Android

Chữ được đọc bằng Tesseract OCR qua read_text. Bạn truyền một Region(x1, y1, x2, y2) để bộ máy chỉ nhìn vào một bộ đếm hay một nhãn thay vì cả màn hình, cùng chế độ phân đoạn trang (psm=7 cho một dòng, psm=8 cho một từ). ColorConversion.BLACK_WHITE giúp với chữ màu trên nền nhiễu. Asset Lab có kiểm thử OCR trực tiếp để bạn chỉnh vùng trước khi đưa vào mã.

Thao tác giống người

Thao tác được gửi dưới dạng sự kiện chạm và phím thật: click, swipe, input_text, key_press, zoom_inzoom_out. Thời gian do bạn đặt. Một click chờ delay_ms=1000 sau khi chạm, một swipe kéo dài duration_ms=1000, và một phím giữ từ 500 ms trở lên được tính là nhấn giữ. Macro chậm hơn, có khoảng nghỉ, trông ít máy móc hơn.

Tọa độ và kích thước màn hình

Mọi tọa độ là độ lệch pixel tính từ góc trên bên trái màn hình. get_screen_size() trả về chiều rộng và chiều cao; get_device_info() trả về cùng thông tin đó kèm tên thiết bị. Ảnh mẫu và vùng gắn với độ phân giải và DPI lúc bạn chụp, nên hãy giữ mọi thiết bị chạy macro ở cùng độ phân giải với thiết bị bạn đã dựng macro. Các hướng dẫn giả lập khuyến nghị một kích thước cho từng giả lập, còn thiết bị cloud được tạo với một preset màn hình cố định.

Từ vựng

Thuật ngữNghĩa trong MAS
MacroMột chương trình Python tự động hóa một tác vụ trên thiết bị. Đơn vị bạn chạy, lập lịch, chia sẻ và bán.
Dự ánThư mục đứng sau macro: src/app.py, một biểu mẫu tham số tùy chọn, tài nguyên và lịch sử git.
Thiết bịMột đích Android mà MAS điều khiển được, nhận diện bằng cổng adb hoặc, với thiết bị cloud, bằng ID.
Nhóm thiết bịMột tập thiết bị có tên trên trang Nhóm thiết bị. Mỗi thiết bị trong nhóm có macro, tham số, proxy và webhook riêng; Bắt đầu tất cả chạy chúng lần lượt.
Hồ sơ cài đặtMột bộ giá trị tham số có tên cho một macro. Thiết bị đi theo hồ sơ, nên đổi hồ sơ là cập nhật mọi thiết bị dùng nó. “Default” luôn tồn tại.
Thiết bị cloudMột thiết bị Android MAS chạy cho bạn trên máy chủ của MAS. Macro trên đó chạy phía máy chủ và màn hình truyền qua WebRTC.
MAS AgentTác giả AI trên trang Agent. Mô tả tác vụ, nó khám phá thiết bị, hỏi khi phải quyết định, và biên dịch ra một macro vượt qua 3 lần chạy kiểm chứng.
MarketplaceDanh mục bot làm sẵn trong ứng dụng. Tải một bot và nó thành macro trong Macro.
Asset LabỨng dụng trợ giúp để cắt ảnh mẫu, chọn điểm và thử vùng OCR trên màn hình đang chạy.
UI BuilderTrình thiết kế biểu mẫu tham số (.uibproj) và bảng điều khiển lúc chạy (.uibrt).
Code EditorIDE Python bên trong MAS, mở theo từng dự án từ Macro, có trình gỡ lỗi và bảng điều khiển chạy.

Mọi thứ chạy ở đâu

Ba nơi làm việc, và biết bạn đang nhìn nơi nào sẽ có ích.

Máy tính của bạn điều khiển giả lập

MAS trên PC hoặc Mac của bạn tìm giả lập theo tên tiến trình và các cổng chúng đang nghe, rồi nói chuyện với từng cái bằng adb connect 127.0.0.1:<port>. Ảnh chụp màn hình, cú chạm và OCR cho thiết bị local đều diễn ra trên máy bạn, nên ứng dụng phải mở trong lúc macro chạy. Bộ lập lịch cũng vậy.

Thiết bị cloud chạy trong cloud của MAS

Thiết bị cloud nằm trên máy chủ của MAS. Khi bạn chạy macro trên đó, MAS tải lên một bản chụp dự án của bạn và chạy nó ngay cạnh thiết bị. Bạn có thể xem màn hình trực tiếp trong ứng dụng hoặc đóng hẳn ứng dụng; lần chạy vẫn tiếp tục. Thiết bị rảnh sẽ dừng sau khoảng một giờ không hoạt động và giữ nguyên dữ liệu.

Mã nói chuyện với ứng dụng qua JSON-RPC

Macro là một tiến trình Python bình thường. MAS khởi chạy nó bằng python -u -m src.app trong môi trường Python 3.13 riêng và truyền thông tin kết nối qua biến môi trường (MAS_RPC_PORT, MAS_RPC_HOST, MAS_DEVICE_ID, MAS_SESSION_TOKEN). Mỗi lời gọi mas.* là một yêu cầu JSON-RPC 2.0 qua socket cục bộ; ứng dụng nắm adb, OpenCV và Tesseract rồi gửi kết quả về. Trên thiết bị cloud, cùng các lời gọi đó đi qua unix socket bên trong sandbox. Đó là lý do import mas không cần cài gì và một đoạn mã khởi chạy ngoài MAS báo “Could not discover RPC port”.

AI lúc viết, không có AI lúc chạy

MAS Agent tiêu credit AI trong lúc khám phá và biên dịch. Macro nó tạo ra là Python thuần và chạy như mọi macro khác, trên giả lập của bạn hoặc trên thiết bị cloud, không có agent trong vòng lặp.

Gói đăng ký

Mọi trang trong ứng dụng, trừ đăng nhập và Gói đăng ký, đều cần quyền truy cập đang hoạt động: bản dùng thử miễn phí hoặc gói trả phí. Gói được định cỡ theo số thiết bị, tức bao nhiêu giả lập hoặc điện thoại của bạn có thể chạy cùng lúc. Thiết bị cloud là phần bổ sung với credit hằng tháng riêng, và bạn có thể nạp thêm credit cho các phiên agent. Hủy gói vẫn giữ quyền truy cập đến hết kỳ đã trả. Trang Thanh toán giải thích cơ chế; con số nằm ở trang giá.

Đi tiếp

Thiết lập thiết bị ở trang Thiết bị, cắt ảnh mẫu đầu tiên trong Asset Lab, hoặc đọc Tổng quan SDK nếu bạn muốn bắt đầu từ mã.

Bước tiếp theo

Trang liên quan

Trang này có hữu ích không?

Có câu hỏi? Hỏi trên Discord