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.

Chẩn đoán log và xuất gói hỗ trợ trong RunMacro
Sau khi lỗi xuất hiện, mở Công cụ › Xem nhật ký trong Studio hoặc Xem log trong Runner, rồi chọn Trung bình - Miễn phí để phân tích tại máy. Chỉ chọn Thông minh (AI) nếu chấp nhận gửi payload đã giảm rủi ro nhưng vẫn có thể còn bí mật tới provider. Khi cần hỗ trợ, xuất ZIP và tự kiểm tra nội dung/ảnh trước khi chia sẻ.
Điều kiện cần
- Tái hiện lỗi và giữ nguyên log/error context; đừng bấm Xóa log hoặc bắt đầu nhiều lượt mới trước khi chẩn đoán.
- Trong Studio, mở Công cụ › Xem nhật ký hoặc Thêm › Xem nhật ký; trong Runner, bấm Xem log.
- Để dùng Smart, phải có ít nhất một AI provider đang bật, API key hợp lệ và kết nối mạng; Medium không cần key.
- Thư mục đích cho Support ZIP phải ghi được; nếu không gõ
.zip, RunMacro sẽ tự thêm. - Muốn Studio đính kèm ảnh lỗi thì tùy chọn screenshot-on-failure phải bật cho Desktop; Browser/CDP có cơ chế chụp riêng.
- Người xuất phải có thời gian tự mở và rà soát ZIP trước khi chuyển qua kênh hỗ trợ an toàn.
Chế độ hỗ trợ
- Chế độ Desktop — Studio và Runner dùng chung engine chẩn đoán. Ảnh lỗi toàn màn hình Desktop mặc định tắt và chỉ được chụp khi setting bật; Studio test run luôn tắt chụp.
- Chế độ Browser — Chẩn đoán có thể thêm bằng chứng CDP như port, tab, title hoặc URL đã rút gọn. Trình duyệt context có thể chụp tab lỗi; profile, cookie và browser state không tự được đưa thành file riêng trong ZIP.
- RunMacro Runner — Runner hiển thị log inline và có Medium/Smart, nhưng không có Sao chép log, Xóa log hay Đến dòng lỗi. Action nhìn thấy Cài đặt › Chẩn đoán lỗi thực ra xuất Support ZIP; đường Runner không nhận error context nên không có error_report.json hoặc screenshot.
Chức năng này làm gì
Chẩn đoán log đọc log runtime đang hiển thị, error context gần nhất và danh sách lệnh để tìm dòng lỗi, lệnh liên quan, bằng chứng và hướng sửa. Mức Trung bình - Miễn phí chạy hoàn toàn cục bộ bằng quy tắc xác định. Mức Thông minh (AI) dựng kết quả Medium rồi gửi payload văn bản đã giảm rủi ro bằng lọc key có cấu trúc và regex tới provider; screenshot bị loại. Các section có giới hạn cục bộ nhưng không có trần byte/token toàn payload, và giá trị context allowlist có thể không giới hạn. AI có thể điền row khi local chưa xác định nhưng không được ghi đè row runtime đã thiết lập. Xuất log hỗ trợ tạo ZIP môi trường, settings đã lọc, đường dẫn, log và manifest; Studio có thể thêm error report và ảnh lỗi.
Khi nào nên dùng
- Một lượt chạy dừng, trả false, ném exception hoặc lỗi ở một dòng nhưng nguyên nhân chưa rõ.
- Cần phân biệt timeout, CDP/port, selector, ảnh, đường dẫn, quyền hay Label/Goto để chọn hướng sửa.
- Muốn gửi cho hỗ trợ một ảnh chụp có cấu trúc về môi trường và log mà không đính kèm toàn bộ macro.
- Lỗi chỉ xảy ra trên một máy/profile và cần so sánh mode, executable, PATH, file log hoặc error context.
Khi nào không nên dùng
- Log chỉ báo hoàn tất thành công hoặc người dùng chủ động dừng; chẩn đoán sẽ trả no-error thay vì bịa nguyên nhân.
- Bạn cần tự động sửa workflow — chẩn đoán chỉ đề xuất, không thay lệnh, cài đặt, file hay profile.
- Không thể chấp nhận gửi dữ liệu tới bên thứ ba; hãy dùng Medium cục bộ và không chọn Smart AI.
- Muốn sao lưu macro, output hoặc toàn bộ lịch sử log xoay vòng; Support ZIP không phải bản backup dự án.
Các bước cấu hình
- Chạy workflow tới lúc lỗi thật xuất hiện. Ghi lại thời điểm, mode, profile và thao tác gây lỗi; không xóa log ngay sau đó.
- Trong Studio chọn Công cụ › Xem nhật ký hoặc Thêm › Xem nhật ký. Trong RunMacro Runner bấm Xem log để mở phần log inline.
- Kiểm tra các dòng cuối và error context còn đúng lượt lỗi. Studio hiển thị tối đa 1.000 block trong cửa sổ log; Runner có thể tự bung log nếu bật Hiện log khi lỗi.
- Mở menu AI Chẩn đoán Lỗi và chọn Trung bình - Miễn phí. Phân tích này chạy tại máy, không cần provider hay API key.
- Đọc level, dòng/lệnh, tóm tắt, nguyên nhân, đề xuất, cảnh báo, confidence và bằng chứng hiển thị. Category được lưu nội bộ nhưng dialog kết quả hiện không render trường đó. Trong Studio, dùng Đến dòng lỗi nếu nút có sẵn.
- Nếu cần thêm suy luận và chính sách cho phép, cấu hình provider rồi bấm Dùng AI chẩn đoán hoặc chọn Thông minh (AI). Chờ tối đa khoảng 25–28 giây hoặc bấm Hủy.
- Nếu vẫn cần hỗ trợ, trong Studio bấm Xuất log hỗ trợ; trong Runner mở action nhìn thấy Cài đặt › Chẩn đoán lỗi. Đây là thao tác tạo ZIP, không phải nút chẩn đoán Medium/Smart; nút Chẩn đoán lỗi được dựng riêng hiện không được mount vào giao diện.
- Chọn tên và nơi lưu
.zip. Log không đọc được có thể tạo warning, nhưng screenshot không có path hoặc file screenshot đã mất có thể bị bỏ qua im lặng và không nhất thiết xuất hiện trong manifest. - Mở ZIP, xem
summary.json, settings/path/environment, manifest, từng log và screenshot nếu có. Xóa hoặc che thêm dữ liệu cá nhân còn sót rồi mới gửi qua kênh hỗ trợ tin cậy.
Giải thích từng tùy chọn
Kết quả mong đợi
Dialog chẩn đoán chỉ đọc hiển thị level, dòng lỗi nếu tìm được, tên/type lệnh, đường dẫn macro, tóm tắt, lý do, cách sửa, cảnh báo, confidence và bằng chứng; category chỉ tồn tại trong kết quả nội bộ. Support export tạo automacro-diagnostics-YYYYMMDD-HHMMSS.zip (hoặc tên đã chọn) với JSON/log đã giảm rủi ro, không bảo đảm sạch bí mật. Studio có thể kèm error report và ảnh lỗi; đường Runner không kèm hai mục này.
Ví dụ thực tế
Ví dụ: tìm dòng lỗi selector trong Studio mà không gửi dữ liệu ra ngoài
- Chạy macro cho tới khi Smart HTML timeout và giữ nguyên cửa sổ sau lỗi.
- Chọn Công cụ › Xem nhật ký, xem các dòng cuối có đúng lượt vừa chạy rồi chọn AI Chẩn đoán Lỗi › Trung bình - Miễn phí.
- Xem detail, selector fallback và lệnh lân cận trong evidence; engine ưu tiên dấu hiệu timeout trước selector, nhưng category nội bộ không hiển thị trong dialog.
- Bấm Đến dòng lỗi để Studio đóng dialog, chọn và highlight lệnh; tăng điều kiện chờ hoặc sửa selector theo bằng chứng.
- Chạy lại. Nếu vẫn lỗi và cần gửi hỗ trợ, xuất ZIP, tự xem log/paths/settings và xóa dữ liệu riêng tư còn sót trước khi gửi.
Ví dụ: chẩn đoán tùy chọn và xuất ZIP từ RunMacro Runner
- Sau khi profile chạy lỗi, bấm Xem log; nếu dùng nhiều profile, mở thêm Kết quả theo profile để xác định lượt failed/skipped.
- Chọn Trung bình - Miễn phí trước và lưu ý Runner không có nút Đến dòng lỗi, Sao chép log hay Xóa log.
- Nếu cần Smart, vào Cài đặt › AI / API, cấu hình provider rồi quay lại chọn Thông minh (AI); đọc payload/rủi ro riêng tư trước khi đồng ý.
- Để tạo hồ sơ hỗ trợ, chọn action nhìn thấy Cài đặt › Chẩn đoán lỗi. Dù tên là chẩn đoán, action này lưu ZIP chứ không chạy AI.
- Mở ZIP và xác nhận có summary/environment/settings/paths/manifest/logs nhưng không có
error_report.jsonhoặc screenshot do đường Runner không truyền error context.
Giới hạn và trường hợp lỗi
- Phân loại là heuristic có precedence: timeout thắng CDP, rồi Label, selector, ảnh, file, quyền, exception và false. Một lỗi hỗn hợp có thể mang category rộng hơn nguyên nhân cuối.
- Cổng no-error ban đầu hẹp hơn bộ dò failure chi tiết; log chỉ có từ như disconnect, could not, invalid hoặc returned false đôi khi bị báo chưa thấy lỗi rõ.
- Báo cáo không sửa tự động. Suggested fixes và confidence chỉ là hướng điều tra; phải kiểm tra lại lệnh, môi trường và dữ liệu thật.
- Smart gửi dữ liệu tới provider ngoài: diagnosis local, error context đã allowlist, cấu hình lệnh lân cận, flow, log tối đa 8.000 ký tự, danh sách lệnh và metadata runtime. Redaction không biến payload thành vô danh.
- Các section có giới hạn riêng nhưng không có trần byte/token toàn payload. Giá trị trong error context allowlist có thể dài không giới hạn, nên payload và chi phí/rủi ro riêng tư có thể lớn hơn dự kiến.
- Screenshot object không gửi cho AI, nhưng bằng chứng Chrome/CDP dẫn xuất có thể còn port, tab, title hoặc URL. Đừng hiểu “không có browser state” là không có mọi metadata trình duyệt.
- Redaction dùng key có cấu trúc và regex text để giảm rủi ro, không phải cam kết xóa bí mật hay PII. Qua email, username, đường dẫn, URL, title, traceback, data row, cùng chuỗi JSON tự do có key được quote như
api_key,apikeyhoặc tên kiểu session vẫn có thể còn nguyên. - Screenshot trong ZIP Studio là ảnh pixel thô, không che nội dung. Nó có thể chứa tài khoản, email, số dư hoặc dữ liệu trên desktop/trang web.
- ZIP từ Runner không truyền error context, do đó không có
error_report.jsonvà screenshot. Muốn hai artifact này phải dùng đường export Studio khi context còn tồn tại. - Mỗi log chỉ lấy tail file hiện tại tối đa 512.000 byte; các bản xoay
.1–.3, UI log riêng, PMacro/RunMacro package, output tùy ý và nội dung browser không được thêm. - Xóa log trong Studio chỉ xóa phần nhìn thấy, không xóa persistent log hay chắc chắn xóa error context. Ngược lại, bắt đầu/reset context mới có thể làm mất bằng chứng của lượt trước.
- Hủy Smart không đảm bảo dừng HTTP đã chạy. Nhiều provider được thử tuần tự nhưng timer UI bao toàn bộ future, nên fallback có thể xuất hiện trong khi request nền đang kết thúc.
- AI có thể điền row khi kết quả local chưa có, đồng thời thay summary, root-cause detail, fixes, confidence và thêm bước xác minh. Khi runtime row đã được thiết lập, AI không thể ghi đè nó.
Mẹo & lỗi thường gặp
api_key, apikey hoặc key kiểu session vẫn có thể lọt. Luôn đọc ZIP/log và xem screenshot trước khi gửi.Thông tin kiểm chứng
core/log_diagnostics.pycore/diagnostics_export.pycore/error_context.pycore/logging_utils.pyui/main_window.pyui/qmacro_runner_window.pytests/test_log_diagnostics_context.pytests/test_logging_utils.py
RunMacro