Tài liệu RunMacro
Tạo robot đầu tiên, rồi tiến xa theo nhu cầu.
Hướng dẫn rõ ràng từng bước để tạo, chạy và cải thiện robot cho công việc máy tính lặp lại.

Cách tạo và xuất RunMacro package được mã hóa trong RunMacro
Xuất RunMacro package biến workflow đã kiểm thử thành gói mã hóa cho RunMacro Runner, có thể kèm input và mặc định Desktop/Trình duyệt. Đặt file đích ở vị trí mà các tham chiếu tương đối hiện có giải được, rồi thử gói với nguồn cũ không còn truy cập: export không kiểm tra dependency trước và không bảo đảm mọi mục thiếu đã được nhúng.
Điều kiện cần
- Workflow có ít nhất một lệnh và đã được chạy thử trong đúng workspace Desktop hoặc Trình duyệt dự định phân phối.
- Nên lưu bản nguồn
.pmacrotrước khi xuất để còn bản chỉnh sửa, nhưng lưu không làm thư mục PMacro trở thành gốc dependency của luồng Export RunMacro package hiện tại. - Chọn thư mục đích
.qmacrosao cho các đường dẫn tương đối giải được từ đó; ảnh và macro con phải truy cập được. RunMacro package con có mật khẩu không thể được nhúng lại tự động. - Nếu sẽ Upload / Sync, cần cấu hình Gist ID và GitHub Token trong Cloud settings và có kết nối mạng.
Chế độ hỗ trợ
- Chế độ Desktop — Xuất khi Studio đang ở Chế độ Desktop để Runner mặc định điều khiển chuột và bàn phím thật. Workspace đang hoạt động là giá trị quyết định mode được đóng dấu.
- Chế độ Browser — Xuất khi Studio đang ở Chế độ Trình duyệt để đóng dấu Browser/CDP làm mặc định; sau đó cấu hình provider, profile, viewport và số luồng cho Runner.
Chức năng này làm gì
Tính năng này đóng gói workflow đang mở thành một file .qmacro dành cho RunMacro Runner. Trước khi xuất, bạn có thể biến giá trị chính của các lệnh được hỗ trợ thành ô nhập có liên kết; khi chạy, giá trị người dùng điền sẽ thay đúng trường lệnh đã đánh dấu. Hộp thoại xuất cho phép đặt tên, phiên bản, mô tả, cấu hình Desktop/Trình duyệt, số luồng, trình duyệt/profile và biểu mẫu nhập thủ công. Mọi RunMacro package do RunMacro hiện tại xuất đều mã hóa workflow bằng AES-256-GCM: bỏ trống mật khẩu thì dùng khóa ứng dụng, còn đặt mật khẩu thì dùng khóa dẫn xuất từ mật khẩu. Exporter cố nhúng ảnh, selector library và submacro tìm thấy, nhưng không truyền đường dẫn PMacro nguồn làm gốc dependency: tham chiếu tương đối được giải từ thư mục đích của file .qmacro; mục không tìm thấy có thể giữ tham chiếu ngoài mà không cảnh báo vì luồng xuất không có preflight dependency.
Khi nào nên dùng
- Khi cần giao một workflow để người khác chạy qua giao diện RunMacro Runner mà không phải mở và chỉnh từng lệnh trong Studio.
- Khi workflow cần hỏi tài khoản, URL, số lượng, thư mục, tệp hoặc dữ liệu TXT ở mỗi lần chạy.
- Khi muốn exporter cố thu thập ảnh nhận diện, selector library và submacro; phải bố trí đích phù hợp rồi kiểm thử vì tham chiếu không giải được có thể vẫn nằm ngoài gói.
- Khi muốn đóng dấu tên, phiên bản, mô tả và cấu hình chạy mặc định trước khi chia sẻ hoặc đồng bộ qua Gist.
Khi nào không nên dùng
- Không dùng RunMacro package làm bản nguồn duy nhất nếu bạn còn cần chỉnh sửa thường xuyên; hãy giữ file
.pmacrogốc. - Không chọn gói không mật khẩu khi yêu cầu là chỉ người được cấp bí mật mới có thể mở workflow.
- Không xem RunMacro package là bằng chứng xác thực nhà phát hành: gói hiện được mã hóa và kiểm tra toàn vẹn nhưng không có chữ ký số nhà phát hành.
- Không dùng thông báo xuất thành công làm bằng chứng gói tự chứa; file con hoặc ảnh không giải được có thể vẫn là tham chiếu ngoài mà không có cảnh báo.
Các bước cấu hình
- Mở hoặc tạo workflow trong Studio, chuyển sang đúng Chế độ Desktop hoặc Chế độ Trình duyệt rồi chạy thử toàn bộ luồng.
- Lưu bản chỉnh sửa bằng bộ lọc Dự án PMacro có thể chỉnh sửa (*.pmacro). Nếu workflow chưa lưu hoặc còn thay đổi, hộp thoại xuất cho phép Lưu .pmacro trước, Xuất RunMacro package luôn hoặc Hủy; lưu nguồn không đổi gốc dependency của bước export.
- Nếu cần biểu mẫu, nhấp phải một dòng lệnh được hỗ trợ, chọn Đánh dấu là input RunMacro package, rồi đặt tên hiển thị, loại, mặc định và chế độ TXT nếu có.
- Chọn Xuất thành RunMacro package..., đặt tên và nơi lưu file
.qmacro. Với dependency tương đối, chọn đích từ đó đường dẫn hiện có giải được; tên file mới được dùng làm tên dự kiến cho lần xuất này. - Trong tab Thông tin, kiểm tra Tên quy trình, Phiên bản và Mô tả quy trình.
- Trong tab Bảo vệ, để trống cả hai ô nếu dùng app-key hoặc nhập và xác nhận mật khẩu ít nhất sáu ký tự nếu muốn giới hạn người mở.
- Trong tab Cấu hình chạy, chọn các mặc định và quyền cho người chạy thay đổi mode, số luồng, trình duyệt/profile, CDP, viewport và profile cục bộ.
- Trong tab Biến nhập, bật hoặc xóa binding đã đánh dấu, thêm biến thủ công nếu cần, chọn loại và options, rồi dùng Xem thử biểu mẫu.
- Chọn Lưu cấu hình RunMacro package để đóng gói; luồng này không chạy dependency preflight. Sau thông báo thành công, có thể Upload / Sync hoặc bỏ qua, nhưng phải mở file bằng RunMacro Runner và thử khi nguồn cũ không còn truy cập để phát hiện tham chiếu ngoài.
Giải thích từng tùy chọn
Kết quả mong đợi
Kết quả là file .qmacro mà RunMacro hiện tại luôn mã hóa và RunMacro Runner có thể mở với tên, phiên bản, mô tả, biểu mẫu cùng cấu hình đã đóng dấu. Workflow nằm trong payload mã hóa; ảnh hoặc macro con chỉ nằm trong payload khi exporter giải và nhúng được chúng. Gói mật khẩu hỏi mật khẩu, gói app-key mở im lặng. RunMacro package legacy không protected còn macro.json vẫn được giữ tương thích khi tải.
Ví dụ thực tế
Đóng gói workflow Trình duyệt nhận danh sách tài khoản từ TXT
- Chuyển Studio sang Chế độ Trình duyệt, chạy thử điều hướng và thao tác web với một profile mẫu.
- Nhấp phải lệnh nhập tài khoản, đánh dấu làm Dòng TXT, đặt mặc định tới file mẫu và chọn Theo thứ tự.
- Chọn Xuất thành RunMacro package..., đặt cấu hình Trình duyệt, chọn số luồng nhỏ và chỉ cho người chạy đổi profile khi cần.
- Đặt mật khẩu, lưu gói rồi mở bằng Runner, chọn file TXT có dữ liệu thật và import danh sách profile.
- Chạy một lượt nhỏ, kiểm tra bảng profile, báo cáo JSON và CSV kết quả Trình duyệt trước khi chuyển gói cho đội vận hành.
Phân phối workflow có macro con và ảnh nhận diện
- Kiểm tra PMacro con và ảnh Find Image đang chạy được trong dự án nguồn, rồi xác định các tham chiếu tương đối của chúng.
- Chọn thư mục đích RunMacro package ở vị trí mà các tham chiếu đó vẫn giải được; việc lưu PMacro cha không tự cung cấp gốc nguồn cho export.
- Thêm input URL, file và thư mục cần cho người nhận nhưng không đặt token bí mật làm giá trị mặc định.
- Chọn Xuất thành RunMacro package...; exporter cố nhúng macro con, ảnh và selector tìm được nhưng không báo trước mục thiếu.
- Di chuyển hoặc đổi tên nguồn cũ, mở RunMacro package trong Runner và chạy mọi nhánh. Nếu lỗi, sửa vị trí/đường dẫn rồi xuất lại thay vì coi file đã tự chứa.
Giới hạn và trường hợp lỗi
- RunMacro package là gói chạy; nên giữ PMacro gốc vì quy trình xuất không thay thế vòng đời chỉnh sửa nguồn.
- Không mật khẩu chỉ dùng khóa nhúng ứng dụng: file vẫn mã hóa nhưng mọi bản RunMacro tương thích có thể mở, nên đây không phải kiểm soát truy cập.
- Mật khẩu phải dài ít nhất sáu ký tự, không có cơ chế khôi phục trong luồng mở RunMacro package và cần được chuyển cho người chạy bằng kênh riêng.
- Manifest hiện ghi
signed: false; AES-GCM phát hiện sửa payload nhưng không chứng minh danh tính tác giả hoặc nhà phát hành. - Metadata công khai như tên, phiên bản, biểu mẫu input và runner config cần đọc được để dựng Runner; chỉ workflow và asset nằm trong payload mã hóa.
- Binding chỉ khả dụng với giá trị chính của tập lệnh được hỗ trợ; các trường khác phải dùng biến thủ công hoặc chỉnh workflow.
- Mọi input được bật đều được Runner kiểm tra có giá trị; giao diện xuất hiện không có công tắc biến tùy chọn.
- Select bắt buộc có options; file Dòng TXT phải tồn tại và có ít nhất một dòng không rỗng khi Runner bắt đầu.
- Export RunMacro package không chạy dependency preflight và không truyền PMacro nguồn làm
dependency_base_path. Tham chiếu tương đối giải từ thư mục đích RunMacro package; mục thiếu có thể giữ nguyên đường dẫn ngoài trong im lặng. RunMacro package con có mật khẩu cũng không thể được đóng gói lại. - Mode được xuất theo workspace Studio đang hoạt động, vì vậy lựa chọn cũ trong metadata không thể thay thế việc chuyển đúng workspace trước khi xuất.
- Provider anti-detect còn phụ thuộc ứng dụng/provider cục bộ, API, token, gói dịch vụ và giấy phép tương ứng.
- Upload / Sync là bước tùy chọn riêng; lỗi mạng hoặc thiếu Gist ID/GitHub Token không làm file RunMacro package cục bộ biến mất.
Mẹo & lỗi thường gặp
Thông tin kiểm chứng
ui/main_window.pyui/qmacro_metadata_dialog.pyui/qmacro_mark_input_dialog.pycore/qmacro_protection.pystorage/json_store.pytests/test_qmacro_export_dialog.py
RunMacro