Tài liệu

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.

RunMacro robot
Tài liệu Tính năng Chạy RunMacro Runner
▶ Tính năng

Cách chạy workflow bằng RunMacro Runner an toàn

RunMacro Runner chạy file .qmacro mà không sửa workflow trong Studio. Mở gói, nhập dữ liệu, chọn Desktop hoặc Trình duyệt rồi bấm Chạy. Khi bật báo cáo, Desktop tạo JSON; Trình duyệt đa profile còn có CSV kết quả. Hãy sao lưu JSON nếu cần giữ nhiều lượt cùng ngày và nhớ rằng input password không được ghi nhớ.

Điều kiện cần

  • File .qmacro tồn tại, tải hoàn chỉnh và đến từ nguồn bạn có thể đánh giá; nếu có mật khẩu, cần nhận đúng mật khẩu từ tác giả.
  • Điền giá trị cho mọi input hiển thị; file Dòng TXT phải tồn tại và có ít nhất một dòng dữ liệu.
  • Chế độ Trình duyệt cần CSV/Google Sheet có cột ID đúng provider, trình duyệt/provider đang hoạt động và API/token/executable khi giao diện yêu cầu.
  • Báo cáo, Telegram, Cloud/Gist và Lập lịch chạy cần được bật/cấu hình trong Cài đặt Runner và ứng dụng phải có quyền ghi thư mục đích.

Chế độ hỗ trợ

  • RunMacro Runner — Đây là giao diện chuyên dụng để mở RunMacro package. Chế độ Desktop điều khiển màn hình thật; Chế độ Trình duyệt chạy Chrome/CDP theo profile. Khóa mode, số luồng hoặc browser chỉ thể hiện ý định của tác giả trong UI, không phải bảo đảm cưỡng chế tuyệt đối.

Chức năng này làm gì

RunMacro Runner mở gói .qmacro, dựng biểu mẫu từ metadata, áp dụng input đã liên kết vào workflow đã giải mã và chạy bằng Chế độ Desktop hoặc Trình duyệt. Gói app-key mở im lặng; gói mật khẩu yêu cầu mật khẩu trước khi nạp lệnh. Với RunMacro package lạ có lệnh nguy hiểm, Runner tự bật Safe Mode để bỏ qua các lệnh đó trừ khi người dùng chủ động tắt và xác nhận. Runner cho phép lặp, điều chỉnh tốc độ, tạm dừng/dừng, chạy nhiều profile Trình duyệt, import CSV hoặc Google Sheet, theo dõi bước hiện tại, xem log và chẩn đoán. Khi bật tạo báo cáo, lượt Desktop hoàn tất chỉ ghi JSON; lượt Trình duyệt đa profile ghi JSON và cập nhật CSV kết quả. JSON dùng tên theo RunMacro package và ngày nên lượt sau cùng ngày có thể ghi đè lượt trước; chi tiết Trình duyệt chỉ giữ 1.000 outcome mới nhất. Lập lịch chạy, Cloud/Gist, config chạy và Telegram hỗ trợ vận hành lặp lại.

Khi nào nên dùng

  • Khi nhận một file RunMacro package đã đóng gói và chỉ cần điền dữ liệu nghiệp vụ rồi chạy theo cấu hình tác giả cho phép.
  • Khi cần chạy Trình duyệt trên danh sách profile từ CSV hoặc Google Sheet với nhiều cửa sổ và báo cáo từng profile.
  • Khi cần lịch một lần, hằng ngày, hằng tuần, theo khoảng thời gian, đếm ngược hoặc nối sau lịch khác.
  • Khi cần kiểm tra cập nhật, tải/upload RunMacro package qua Gist, nhập/xuất config chạy hoặc gửi kết quả qua Telegram.

Khi nào không nên dùng

  • Không dùng Runner để sửa lệnh, selector hoặc cấu trúc workflow; hãy quay lại PMacro nguồn trong Studio.
  • Không tắt Safe Mode cho RunMacro package lạ nếu chưa hiểu rõ từng lệnh nguy hiểm được liệt kê.
  • Không dùng Xuất config như kho bí mật vì file JSON có thể chứa input hiện tại, đường dẫn và dữ liệu profile.
  • Không chọn Trình duyệt nếu chưa có profile source và môi trường provider/API cần thiết; Desktop phù hợp hơn cho điều khiển màn hình trực tiếp.

Các bước cấu hình

  1. Mở RunMacro Runner và bấm Mở RunMacro package hoặc nhấn Ctrl+O để chọn file. Bạn cũng có thể chọn một file khác trong cùng cửa sổ khi Runner đang rảnh.
  2. Nếu Runner hỏi mật khẩu, nhập mật khẩu RunMacro package. Gói app-key mở không cần hỏi; kiểm tra tên workflow, phiên bản và mô tả sau khi nạp.
  3. Nếu xuất hiện thẻ cảnh báo lệnh nguy hiểm, đọc danh sách và giữ Bật Safe Mode cho RunMacro package không phải do máy này tạo.
  4. Điền tất cả ô trong Biến đầu vào. Chọn thư mục/file, file TXT, checkbox hoặc select theo form do tác giả đóng gói.
  5. Chọn Chế độ, Lặp lại và Tốc độ; khóa của tác giả là trạng thái UI dự kiến, nhưng cache, config import hoặc lịch đã lưu có thể áp lại mode, số luồng hay browser và một số control khác vẫn chỉnh được. Giá trị lặp 0 hiển thị vô hạn.
  6. Nếu dùng Trình duyệt, mở Cấu hình chạy ngầm, chọn số cửa sổ, provider, port/viewport, cách xếp và import danh sách profile từ CSV hoặc Google Sheet.
  7. Chọn hoặc bỏ Ghi nhớ thông tin cho lần chạy sau. Runner không ghi nhớ input có loại password, nhưng vẫn nên kiểm tra dữ liệu trước khi chia sẻ config.
  8. Bấm Chạy. Dùng Tạm dừng/Tiếp tục hoặc nút Dừng xuất hiện trên nút chạy; theo dõi trạng thái, bước hiện tại, thời gian và số bước.
  9. Mở Xem log khi cần. Desktop có báo cáo JSON nhưng không tạo CSV ở đường hoàn tất hiện tại. Với Trình duyệt đa profile, xem Kết quả theo profile, JSON và CSV kết quả; bảng chi tiết chỉ giữ 1.000 outcome mới nhất.
  10. Khi lượt chạy đã ổn định, dùng Quản lí lịch, Upload/Download/Kiểm tra cập nhật, Telegram hoặc Nhập/Xuất config để lặp lại quy trình có kiểm soát. Sao lưu JSON trước lượt khác cùng ngày nếu cần giữ lịch sử.

Giải thích từng tùy chọn

Mở RunMacro package và mật khẩu

Mở RunMacro package và Ctrl+O chọn file khác. Gói app-key mở im lặng; chỉ gói đặt mật khẩu mới hiện hộp RunMacro package Protected với ô mật khẩu, OK và Cancel.

Thanh công cụ đầu Runner

Các nút nhìn thấy gồm đổi giao diện sáng/tối, đổi VI/EN, Mở RunMacro package, Quản lí lịch và Cài đặt. Tên workflow, phiên bản và mô tả nằm cạnh logo.

Menu Cài đặt và công cụ

Menu đầy đủ có Cài đặt Runner, AI / API, Nhập config, Xuất config, Đổi chế độ, Chẩn đoán lỗi, Upload / Sync RunMacro package, Tải RunMacro package..., Kiểm tra cập nhật và Hướng dẫn sử dụng.

Chế độ, lặp lại và tốc độ

Chế độ có Desktop và Trình duyệt. Lặp lại nhận 0–999999, trong đó 0 là ∞. Tốc độ nhận 1–10. Tác giả có thể làm mờ mode, số luồng hoặc browser trong UI, nhưng cache/config/lịch có thể áp lại các giá trị này và một số control liên quan vẫn chỉnh được.

Biểu mẫu input của gói

Runner dựng control theo tám loại: text, password, number, folder, file, txt_lines, checkbox và select. Folder/File/TXT có nút chọn; password che ký tự; number dùng số; select chỉ cho các options đã đóng gói. Biến hệ thống trong mặc định được resolve theo vị trí RunMacro package.

Dòng TXT theo vòng lặp

File TXT được đọc UTF-8 có hỗ trợ BOM, bỏ dòng rỗng. Theo thứ tự xoay vòng qua danh sách; Ngẫu nhiên chọn một dòng mỗi vòng. File rỗng làm lượt chạy không bắt đầu.

Ghi nhớ thông tin

Ghi nhớ thông tin cho lần chạy sau lưu input không phải password theo khóa băm của đường dẫn RunMacro package tuyệt đối, không theo package ID. the local package configuration cache riêng lưu mode, số luồng, provider, port/viewport, tùy chọn cửa sổ và các trường profile/provider đơn lẻ như tên/thư mục/port profile local, profile ID, API URL/path; nó không lưu profile rows hay profile source CSV/Sheet. Cache hiện còn ghi provider_token dạng chuỗi vào settings.json, dù token theo provider cũng được lưu qua kho DPAPI.

Safe Mode

RunMacro package lạ có lệnh nguy hiểm hiện thẻ cảnh báo, bản tóm tắt và checkbox Bật Safe Mode: bỏ qua lệnh nguy hiểm khi chạy, mặc định bật. Nếu tắt, Runner hỏi xác nhận lần nữa trước khi chạy bình thường.

Chạy, tạm dừng, dừng và trạng thái

Chạy đổi thành Dừng khi hoạt động; nút Tạm dừng tiếp tục lại cùng lượt. Lên lịch mở hộp tạo lịch. Khu trạng thái hiển thị Sẵn sàng/Đang chạy/Tạm dừng/Hoàn tất/Lỗi, bước hiện tại, thời gian và số bước.

Log, chẩn đoán và kết quả profile

Xem log mở chi tiết. AI Chẩn đoán Lỗi có Trung bình - Miễn phí và Thông minh (AI). Sau lượt đa profile, Kết quả theo profile hiển thị #, Profile, Trình duyệt, Vòng, Trạng thái, Lần thử, Lý do và nút Mở báo cáo.

Số cửa sổ và provider Trình duyệt

Số cửa sổ Chrome nhận 1–99. Trình duyệt/Profile hiện Chrome mặc định, GPM Login, AdsPower, Hidemium, Dolphin Anty, GoLogin và Octo Trình duyệt. Provider anti-detect có thể cần key bản quyền, ứng dụng cục bộ, gói trả phí hoặc SDK riêng.

Cấu hình Chrome và viewport

Với Chrome mặc định có Port CDP bắt đầu và Xóa profile mới tạo sau khi chạy. Tùy chọn chung gồm viewport rộng × cao 100–9999, Tự xếp vị trí cửa sổ, Chụp ảnh lỗi toàn trang và Scale xếp cửa sổ Auto/100/125/150/175/200/250/300%.

Nguồn profile và trường provider

Nguồn profile có Import CSV, Thêm từ Google Sheet và Xem file mẫu. Theo provider, Runner hiện URL API, API token, executable/path và ghi chú cần thiết; trường không cần được ẩn. CSV phải có ID profile ở cột phù hợp provider.

Cài đặt Runner

Tab Runner có Mode mặc định, Đường dẫn tải/lưu, Thư mục báo cáo, Tự động đóng sau khi chạy xong, Hiện log khi lỗi, Kiểm tra cập nhật trước khi chạy, Gist ID, GitHub Token và Channel mặc định. Có nút Chọn, Lưu và Hủy.

Thông báo, Telegram và file báo cáo

Tab Thông báo / Telegram có Bật thông báo, Bot Token, Chat ID, Tên máy, Tạo file báo cáo, chụp lỗi Desktop, tùy chọn đính kèm JSON/CSV, báo hoàn tất, báo tạm dừng/dừng, cho phép TLS không an toàn và Gửi thử. Đường hoàn tất Desktop hiện chỉ tạo JSON; CSV chỉ có từ luồng kết quả Trình duyệt, nên yêu cầu đính kèm CSV có thể không có file.

Nhập và xuất config chạy

Config JSON chứa định danh RunMacro package và cấu hình hiện tại: mode, vòng lặp, tốc độ, inputs, threads, provider, port, viewport, cách xếp, URL/path provider và profile source/rows. Provider token không được đưa vào payload xuất. Khi ID/channel khác, Runner hỏi trước khi import.

Cloud/Gist và cập nhật

Upload / Sync gửi file hiện tại; Tải RunMacro package... hỏi tên/cloud filename, thư mục lưu và có tùy chọn mở sau tải; Kiểm tra cập nhật so ID/channel/version và hash công khai được tính từ metadata cùng lệnh workflow gốc. Nó không so content_sha256 của payload mã hóa, nên thay đổi chỉ ở macro con hoặc ảnh có thể bị bỏ sót nếu version/hash công khai không đổi. Validation cloud chấp nhận gói legacy có macro.json hoặc gói protected có manifest/payload; thay file tạo .bak-... trước khi ghi nguyên tử.

Lên lịch và Quản lí lịch

Lịch có Bật lịch, tự chạy khi mở PC, trigger Theo thời gian hoặc Sau lịch khác; điều kiện Thành công/Luôn luôn/Thất bại và trì hoãn. Kiểu thời gian gồm Một lần, Hằng ngày, Hằng tuần, Mỗi N phút, Đếm ngược; kèm ngày/giờ/thứ, mode, vòng lặp, tốc độ và toàn bộ cấu hình Trình duyệt/profile. Manager có Thêm, Sửa, Chạy ngay, Xóa, Bật/Tắt, Dừng, Chi tiết, Xem/Xuất kết quả, Làm mới.

Kết quả mong đợi

Runner nạp workflow, áp dụng input binding và chuyển trạng thái từ Sẵn sàng sang Đang chạy rồi Hoàn tất, Hoàn tất có lỗi, Đã dừng hoặc Lỗi. Khóa của tác giả định hướng UI nhưng không bảo đảm chống mọi cache/config/lịch ghi đè. Khi bật báo cáo, Desktop ghi JSON Results_*.json nhưng không tạo CSV; Trình duyệt đa profile còn cập nhật CSV và hiển thị tổng OK/lỗi/bỏ qua. JSON cùng RunMacro package trong cùng ngày có thể bị ghi đè, còn chi tiết Trình duyệt giữ tối đa 1.000 outcome mới nhất.

Ví dụ thực tế

Chạy RunMacro package Trình duyệt có mật khẩu trên nhiều profile

  1. Mở RunMacro package, nhập mật khẩu nhận từ tác giả và xác nhận đúng tên, phiên bản, channel trước khi chạy.
  2. Điền URL và chọn file TXT đầu vào; để Safe Mode bật nếu gói lạ hiển thị cảnh báo lệnh nguy hiểm.
  3. Chọn Trình duyệt, mở cấu hình chạy ngầm, chọn provider và import CSV có đúng cột ID profile.
  4. Đặt số cửa sổ nhỏ, viewport và chụp ảnh lỗi toàn trang, sau đó chạy một vòng kiểm thử.
  5. Mở Kết quả theo profile, xem lý do lỗi, báo cáo JSON và CSV kết quả Trình duyệt trước khi tăng số luồng hoặc tạo lịch.

Tạo lịch hằng ngày và gửi báo cáo Telegram

  1. Chạy RunMacro package Trình duyệt thủ công thành công một lần, chọn thư mục báo cáo và bật tạo file báo cáo trong Cài đặt Runner; lượt Trình duyệt có JSON và CSV kết quả.
  2. Trong tab Telegram, nhập Bot Token, Chat ID, tên máy, bật báo hoàn tất và gửi kèm báo cáo rồi Gửi thử.
  3. Bấm Lên lịch, chọn Hằng ngày, đặt giờ, mode, vòng lặp và cấu hình profile giống lượt đã kiểm thử.
  4. Lưu lịch, bật Lập lịch chạy và để RunMacro đang mở trước thời điểm chạy theo giờ.
  5. Sau lượt chạy, dùng Quản lí lịch để xem trạng thái và profile lỗi; sao lưu JSON nếu cần giữ nó trước một lượt khác cùng ngày.

Giới hạn và trường hợp lỗi

  • Runner không chỉnh sửa workflow; tên trường, binding, lệnh và selector phải được sửa trong PMacro nguồn rồi xuất RunMacro package mới.
  • Khóa mode/số luồng/browser của tác giả chỉ là ý định UI, không phải ranh giới bảo mật. Cache theo path, config import hoặc lịch có thể áp giá trị lên các trường khóa và một số control liên quan vẫn chỉnh được.
  • Gói đặt mật khẩu không mở nếu thiếu hoặc sai mật khẩu; gói app-key mở được bởi RunMacro tương thích và không nên được xem là bí mật truy cập.
  • RunMacro package hiện không có chữ ký tác giả; kiểm tra toàn vẹn mã hóa không thay thế việc xác minh nguồn file.
  • Safe Mode chỉ bỏ qua các lệnh mà bộ quét hiện nhận diện là nguy hiểm; nó không chứng minh toàn bộ workflow vô hại.
  • Nếu người dùng tắt Safe Mode và xác nhận, RunMacro package lạ có thể chạy các hành động nguy hiểm bằng quyền của phiên RunMacro hiện tại.
  • Mọi input hiển thị đều được kiểm tra có giá trị; checkbox bắt buộc phải bật để vượt kiểm tra required và file TXT rỗng làm lượt chạy dừng trước khi bắt đầu.
  • Cache nhận diện RunMacro package bằng đường dẫn tuyệt đối, không theo package ID: di chuyển file làm mất cache cũ, còn thay gói khác tại cùng path sẽ kế thừa cache. the local package configuration cache không lưu profile rows/source nhưng lưu các trường mode/provider/local-profile riêng lẻ và hiện có thể ghi provider_token vào settings.json. Xuất config là JSON thường và có thể chứa input, đường dẫn, URL, profile rows và profile source.
  • Payload config xuất không chứa provider token, nhưng đây không phải cơ chế xóa bí mật khỏi các input tùy chỉnh; phải tự làm sạch và kiểm tra file trước khi chia sẻ.
  • Báo cáo có redaction cho chuỗi nhạy cảm nhưng vẫn có thể chứa đường dẫn local, tên RunMacro package, output, nhãn profile, lý do lỗi và metadata vận hành.
  • File chỉ được tạo khi bật báo cáo và thư mục đích ghi được. Desktop hoàn tất ghi JSON nhưng không tạo CSV; Trình duyệt đa profile có thêm CSV. JSON dùng tên RunMacro package + ngày nên lượt sau cùng ngày có thể ghi đè lượt trước, và chi tiết Trình duyệt chỉ giữ 1.000 outcome mới nhất.
  • Trình duyệt yêu cầu profile source có ID đúng provider; API URL, token, executable, ứng dụng anti-detect, SDK hoặc license có thể khác nhau theo provider.
  • Lịch theo giờ chỉ kích hoạt khi RunMacro đang mở và Lập lịch chạy bật. Chỉ một lịch startup được active; bản Microsoft Store không truyền file macro qua StartupTask nên dùng lịch theo giờ.
  • Kiểm tra cập nhật và đồng bộ cần Gist ID, token, channel/ID khớp và mạng. So sánh update dùng version/hash công khai của metadata + lệnh gốc, không so content hash payload mã hóa; thay đổi chỉ ở macro con/ảnh có thể bị bỏ sót. Lỗi kiểm tra trước chạy có thể tiếp tục bản local.
  • Tạm dừng và dừng phụ thuộc điểm kiểm tra của engine/lệnh hiện tại; một thao tác hệ điều hành hoặc provider đang chặn có thể không phản hồi tức thì.
  • Chụp lỗi toàn trang Trình duyệt dùng kích thước nội dung hiện tại, không cuộn hoặc đổi viewport, và có thể fallback về ảnh viewport nếu đọc kích thước thất bại.

Mẹo & lỗi thường gặp

Giữ Safe Mode bật cho RunMacro package lạ. Chỉ tắt sau khi đã xác minh nguồn và hiểu từng lệnh nguy hiểm mà thẻ cảnh báo liệt kê.
Gói app-key không hỏi mật khẩu nhưng không đồng nghĩa gói đáng tin; mã hóa bảo vệ nội dung khi lưu, còn niềm tin phụ thuộc nguồn phân phối.
Trước khi Xuất config, xóa input nhạy cảm và kiểm tra profile rows: JSON xuất không mã hóa dù bỏ provider token. Đồng thời bảo vệ settings.json vì package configuration cache hiện có thể giữ provider token local.
Bật tạo báo cáo và chạy một vòng nhỏ trước khi lên lịch hoặc tăng số cửa sổ. Desktop chỉ có JSON; Trình duyệt còn có CSV và bảng profile, nhưng hãy lưu JSON nếu cần giữ nhiều lượt cùng ngày.
Lịch theo giờ cần ứng dụng mở. Với Kiểm tra cập nhật, theo dõi version và nội dung thực tế: lỗi mạng hoặc thay đổi chỉ ở macro con/ảnh có thể khiến Runner tiếp tục dùng bản local.

Thông tin kiểm chứng

  • ui/qmacro_runner_window.py
  • ui/qmacro_scheduler_dialog.py
  • core/qmacro_scheduler.py
  • core/qmacro_sync.py
  • core/run_report.py
  • tests/test_qmacro_scheduler.py
Robot biểu tượng của RunMacro

Công việc của robot. Thời gian của bạn.

Tạo robot trong vài phút, không cần lập trình. Chạy ổn định, quản lý từ xa, chi phí rõ ràng — và bạn luôn giữ quyền kiểm soát.