Lộ trình triển khai OpenClaw V3.1 trong 30 ngày

Kế hoạch hành động thực tế cho máy phụ i7-6600U / RAM 8GB: Excel là source of truth, SQLite là mirror, OpenClaw chỉ đăng bài, Product Collector tìm 20 sản phẩm/ngày.

30
ngày triển khai
20
sản phẩm tìm mỗi ngày
3–5
profile trong MVP
5–10
bài/ngày giai đoạn đầu

Mục tiêu cuối 30 ngày

Đến cuối ngày 30, hệ thống cần đạt trạng thái:

  • Product Collector tự tìm 20 sản phẩm/ngày và ghi vào products_raw.xlsx.
  • Bạn duyệt sản phẩm bằng Excel: approved hoặc rejected.
  • Caption được viết theo batch trong file products_caption_ready.xlsx.
  • Queue Manager sync Excel → SQLite trước mỗi đợt đăng.
  • OpenClaw chỉ đăng từng job, mỗi lần một Chrome profile.
  • Kết quả đăng được ghi lại vào Excel và SQLite.
  • Có backup tự động lúc 23:00, giữ 7 ngày.

Triết lý vận hành

Không để OpenClaw làm quá nhiều. OpenClaw không viết caption, không tự quyết định sản phẩm, không sửa nội dung đã duyệt. Nó chỉ đăng bài theo dữ liệu đã được chuẩn bị và kiểm soát.

Nguyên tắc bắt buộc của V3.1

Nguyên tắcQuy địnhLý do
Source of truthExcel là gốc, SQLite chỉ mirror/cache.Người vận hành dễ kiểm tra, sửa, lọc và duyệt.
Vai trò OpenClawChỉ đăng bài từ file caption-ready, 1 job/lần.Giảm lỗi UI, giảm tải máy, dễ debug.
CaptionKhông viết trong lúc đăng. Viết batch trước, duyệt trước.Giữ văn phong tự nhiên và tránh bịa thông số.
Product CollectorChỉ tìm 20 sản phẩm/ngày, không đăng, không viết caption.Tách phase rõ ràng, tránh tranh tài nguyên.
Zalo deal forwardingKhông nằm trong MVP V3.1.Giảm độ phức tạp, triển khai sau khi đăng bài ổn định.
BackupBackup Excel + SQLite mỗi ngày lúc 23:00.Tránh mất dữ liệu đã duyệt/caption.

Tiến độ tổng

0% hoàn thành

Tuần 1 — Nền móng hệ thống, chưa đăng thật

Ngày 1–7

Ngày 1 — Chốt kiến trúc & thư mục

Chuẩn bị

Mục tiêu: có khung hệ thống V3.1 rõ ràng trên máy phụ.

  • Tạo thư mục gốc D:\AutoPost\.
  • Tạo các thư mục: excel, db, config, logs, logs\screenshots, media, archive, scripts.
  • Đặt quy tắc: Excel là source of truth, SQLite chỉ mirror.
  • Ghi chú lại danh sách page sẽ dùng trong MVP: 3–5 page trước.

Ngày 2 — Cài phần mềm nền

Chuẩn bị
  • Cài Chrome bản mới.
  • Cài Python 3.10+ và bật Add to PATH.
  • Cài Node.js 18+.
  • Cài PM2 bằng npm nếu dùng Zalo command.
  • Cài các thư viện Python cần dùng: openpyxl, pandas, sqlite-utils hoặc tương đương.

Ngày 3 — Tạo Chrome profiles MVP

Chuẩn bị
  • Tạo 3–5 Chrome profiles đầu tiên.
  • Login Facebook từng profile.
  • Kiểm tra từng profile vào đúng page tương ứng.
  • Không tạo đủ 10 profile ngay nếu chưa cần.
  • Ghi mapping profile vào config.

Ngày 4 — Chuẩn hóa file Excel

Excel
  • Tạo products_raw.xlsx.
  • Tạo products_caption_ready.xlsx.
  • Thêm sheet huong_dan cho mỗi file.
  • Thêm 1 dòng mẫu sản phẩm để test.
  • Khóa hoặc tô màu các cột OpenClaw không được sửa.

Ngày 5 — Tạo SQLite mirror

Dữ liệu
  • Tạo database D:\AutoPost\db\system.db.
  • Tạo bảng products.
  • Tạo bảng post_jobs.
  • Tạo bảng rate_limit_log.
  • Tạo bảng system_logs.

Ngày 6 — Viết script sync Excel → SQLite

Sync
  • Viết sync_excel_to_sqlite.py.
  • Đọc products_raw.xlsx vào bảng products.
  • Đọc products_caption_ready.xlsx vào bảng post_jobs.
  • Đảm bảo sync một chiều từ Excel sang SQLite.
  • Test chống trùng bằng product_id hoặc product_url.

Ngày 7 — Kiểm tra khung hệ thống

Nghiệm thu tuần
  • Chạy thử sync với 3 dòng sản phẩm mẫu.
  • Mở SQLite kiểm tra dữ liệu đúng.
  • Kiểm tra không có module nào đang đăng thật.
  • Viết ghi chú lỗi tuần 1 và sửa ngay các lỗi nhỏ.

Tuần 2 — Product Collector & quy trình duyệt Excel

Ngày 8–14

Ngày 8 — Tạo keywords/seed

Collector
  • Tạo keywords.xlsx hoặc sheet seed.
  • Nhập 20–50 keyword theo niche.
  • Gán mỗi keyword vào page phù hợp.
  • Đặt giới hạn mỗi keyword lấy bao nhiêu sản phẩm.

Ngày 9 — Product Collector bản tối thiểu

Collector
  • Viết hoặc cấu hình module tìm sản phẩm theo keyword.
  • Chỉ lấy dữ liệu cơ bản: tên, link, niche, giá/khoảng giá.
  • Không viết caption ở bước này.
  • Ghi thử 5 sản phẩm vào products_raw.xlsx.

Ngày 10 — Chống trùng sản phẩm

Collector
  • Thêm kiểm tra trùng theo product_url.
  • Thêm kiểm tra trùng gần đúng theo tên sản phẩm nếu cần.
  • Dòng trùng được đánh dấu duplicate, không xóa âm thầm.
  • Test chạy lại collector 2 lần không tạo trùng hàng loạt.

Ngày 11 — Ảnh & thư mục media

Media
  • Quy chuẩn image_folder: D:\AutoPost\media\product_id\.
  • Collector lưu số ảnh vào image_count.
  • Không tải quá nhiều ảnh, ưu tiên 1–3 ảnh/sản phẩm.
  • Ảnh lỗi thì status hoặc note phải ghi rõ.

Ngày 12 — Quy trình duyệt thủ công

Review
  • Định nghĩa status: need_review, approved, rejected, duplicate.
  • Duyệt thử 20 sản phẩm đầu tiên trong Excel.
  • Thêm ghi chú lý do reject nếu cần.
  • Không đưa sản phẩm chưa approved sang file caption-ready.

Ngày 13 — Tạo file gửi viết caption

Caption batch
  • Lọc các dòng approved.
  • Xuất bản sao để gửi viết caption.
  • Đảm bảo đủ cột: tên, link, niche, giá, điểm nổi bật, đối tượng, lưu ý nhỏ, page.
  • Không gửi dòng rejected/duplicate.

Ngày 14 — Nghiệm thu tuần 2

Nghiệm thu tuần
  • Collector tự tạo được 20 sản phẩm/ngày.
  • Excel raw dễ duyệt, không rối cột.
  • Sync raw Excel → SQLite không lỗi.
  • Có ít nhất 30 sản phẩm approved sẵn sàng viết caption.

Tuần 3 — Caption-ready, Queue Manager & OpenClaw đăng test

Ngày 15–21

Ngày 15 — Nhận file caption-ready

Caption
  • Nhập caption vào products_caption_ready.xlsx.
  • Kiểm tra các cột: caption_main, comment_text, reply_text.
  • Đặt caption_status = caption_ready.
  • Đặt post_status = pending hoặc scheduled.

Ngày 16 — Queue Manager bản đầu

Queue
  • Viết queue_manager.py.
  • Đọc Excel caption-ready trước mỗi đợt đăng.
  • Sync job sang SQLite.
  • Chọn 1 job hợp lệ theo page và status.
  • Không chọn job rejected/skipped/posted.

Ngày 17 — Rate limit

An toàn
  • Thiết lập max_posts_per_page_per_day = 2.
  • Thiết lập khoảng cách tối thiểu 3 giờ giữa 2 bài cùng page.
  • Ghi mọi action vào rate_limit_log.
  • Test: nếu page đã đủ quota thì queue không chọn job đó.

Ngày 18 — Prompt OpenClaw 1 job/lần

OpenClaw
  • Chuẩn hóa prompt: nhận 1 job JSON.
  • OpenClaw mở đúng Chrome profile.
  • OpenClaw đăng caption + ảnh.
  • OpenClaw trả kết quả dạng JSON.
  • Timeout mỗi job tối đa 5 phút.

Ngày 19 — Test đăng bài giả / nội bộ

Test
  • Chạy test với nội dung rõ là bài test.
  • Kiểm tra đúng profile, đúng page.
  • Kiểm tra đăng ảnh thành công.
  • Kiểm tra comment/reply nếu có.
  • Xóa bài test nếu cần.

Ngày 20 — Ghi kết quả ngược về Excel

Sync
  • Sau khi OpenClaw trả JSON, cập nhật SQLite.
  • Ghi ngược về Excel các cột: post_status, posted_at, post_url, error_message.
  • Nếu lỗi, lưu screenshot vào logs\screenshots.
  • Không sửa các cột caption.

Ngày 21 — Nghiệm thu tuần 3

Nghiệm thu tuần
  • Đăng test thành công ít nhất 3 job.
  • Khi lỗi, job chuyển failed và có lý do.
  • Excel và SQLite không lệch dữ liệu vận hành.
  • Không có tình trạng OpenClaw click lung tung khi login expired.

Tuần 4 — Chạy MVP thật, báo cáo, backup & ổn định

Ngày 22–30

Ngày 22 — Chạy thật quy mô nhỏ

Cẩn trọng
  • Chỉ đăng 1–2 bài thật trong ngày.
  • Theo dõi Chrome, RAM, CPU khi đăng.
  • Ghi lại mọi lỗi vào log.
  • Không bật deal forwarding.

Ngày 23 — Thêm báo cáo Zalo/status

Reporter
  • Cấu hình Zalo command: status, dừng, tiếp tục.
  • Thiết lập whitelist người được ra lệnh.
  • Reporter gửi số bài pending/posted/failed.
  • Không cho nhóm lạ kích hoạt lệnh.

Ngày 24 — Backup tự động

Backup
  • Viết backup_excel.py.
  • Backup products_raw.xlsx, products_caption_ready.xlsx, system.db.
  • Lưu vào archive\YYYYMMDD\.
  • Giữ 7 ngày gần nhất, tự xóa bản cũ hơn.

Ngày 25 — Task Scheduler/PM2

Tự động hóa
  • Lên lịch Product Collector lúc 00:30.
  • Lên lịch Queue Manager lúc 08:50, 13:50, 19:50.
  • Lên lịch Reporter lúc 22:00.
  • Lên lịch Backup lúc 23:00.
  • Nếu dùng Node/Zalo listener, chạy bằng PM2.

Ngày 26 — Tăng nhẹ số bài

Cẩn trọng
  • Nếu 3 ngày trước ổn, tăng lên 3–5 bài/ngày.
  • Vẫn giữ tối đa 2 bài/page/ngày.
  • Không đăng 2 bài liên tiếp cùng profile.
  • Kiểm tra rate limit log sau mỗi đợt đăng.

Ngày 27 — Test phục hồi lỗi

Recovery
  • Giả lập Chrome crash.
  • Giả lập ảnh upload lỗi.
  • Giả lập login expired.
  • Job running quá 10 phút phải chuyển failed.
  • Reporter báo lỗi dễ hiểu.

Ngày 28 — Đánh giá chất lượng caption/post

QA
  • Đọc lại 10 bài đã đăng.
  • Kiểm tra có bịa thông số không.
  • Kiểm tra văn phong có bị lặp không.
  • Ghi lại tone nào hiệu quả nhất.
  • Cập nhật hướng dẫn viết caption batch cho lần sau.

Ngày 29 — Tổng kết lỗi và tối ưu

Tối ưu
  • Thống kê tỷ lệ posted/failed.
  • Xác định lỗi phổ biến nhất.
  • Sửa prompt OpenClaw nếu lỗi do thao tác UI.
  • Sửa collector nếu sản phẩm tìm ra kém chất lượng.
  • Không tăng quy mô nếu lỗi > 10%.

Ngày 30 — Chốt MVP & kế hoạch tháng 2

Mốc hoàn thành
  • Hệ thống chạy được ít nhất 7 ngày không lỗi nghiêm trọng.
  • Product Collector tạo 20 sản phẩm/ngày ổn định.
  • OpenClaw đăng 5–10 bài/ngày nếu đủ an toàn.
  • Backup hoạt động.
  • Quyết định có mở rộng lên 6–10 profile hoặc thêm Zalo deal forwarding Phase 2 hay không.

Lịch vận hành chuẩn sau khi chạy ổn định

GiờViệcNguyên tắc
00:30–02:00Product Collector tìm 20 sản phẩm và ghi vào products_raw.xlsx.Không mở Chrome đăng bài cùng lúc.
Buổi sángBạn duyệt sản phẩm: approved / rejected.Chỉ dòng approved mới gửi viết caption.
Khi đủ batchGửi file approved để viết caption, nhận lại products_caption_ready.xlsx.Caption phải dựa trên dữ liệu có sẵn, không bịa thông số.
08:50Sync Excel → SQLite trước đợt đăng sáng.Queue Manager chọn job hợp lệ.
09:00OpenClaw đăng đợt sáng.1 profile/lần, 1 job/lần.
13:50Sync Excel → SQLite trước đợt chiều.Kiểm tra rate limit trước khi chọn job.
14:00OpenClaw đăng đợt chiều.Không đăng 2 bài liên tiếp cùng page.
19:50Sync Excel → SQLite trước đợt tối.Không vượt giới hạn page/ngày.
20:00OpenClaw đăng đợt tối nếu còn quota.Nếu lỗi login, dừng page đó.
22:00Reporter gửi báo cáo.Báo posted, failed, pending, page cần login lại.
23:00Backup Excel + SQLite.Giữ 7 ngày gần nhất.

Danh sách file cần có

Excel

D:\AutoPost\excel\products_raw.xlsx D:\AutoPost\excel\products_caption_ready.xlsx D:\AutoPost\excel\keywords.xlsx

Database

D:\AutoPost\db\system.db

Scripts

D:\AutoPost\scripts\product_collector.py D:\AutoPost\scripts\sync_excel_to_sqlite.py D:\AutoPost\scripts\queue_manager.py D:\AutoPost\scripts\run_openclaw_job.py D:\AutoPost\scripts\reporter.py D:\AutoPost\scripts\backup_excel.py D:\AutoPost\scripts\recovery.py

Tiêu chí nghiệm thu cuối 30 ngày

Bắt buộc đạt

  • Collector tạo được 20 sản phẩm/ngày.
  • Bạn duyệt được sản phẩm bằng Excel.
  • Caption-ready có thể dùng trực tiếp để đăng.
  • OpenClaw đăng đúng page, đúng profile.
  • Job lỗi có status failed, lý do lỗi và screenshot.
  • Backup hoạt động mỗi ngày.

Không được mở rộng nếu

  • Tỷ lệ lỗi đăng > 10%.
  • Chrome thường xuyên treo hoặc không đóng sạch.
  • Excel và SQLite lệch dữ liệu.
  • OpenClaw click sai khi login expired.
  • Caption có thông tin không có trong dữ liệu sản phẩm.

Rủi ro chính và cách xử lý

Rủi roDấu hiệuCách xử lý
Máy quá tảiChrome chậm, OpenClaw click sai, RAM cao.Giảm số bài/ngày, chỉ chạy 1 Chrome, tách giờ collector và giờ đăng.
Excel/SQLite lệchExcel báo pending nhưng SQLite báo posted.Chốt Excel là source of truth, sync lại trước mỗi đợt đăng.
Login expiredFacebook yêu cầu đăng nhập lại.Chuyển job failed, báo Zalo, không tiếp tục click.
Caption bịa thông sốCó thông số không xuất hiện trong file sản phẩm.Không dùng câu khẳng định kỹ thuật nếu dữ liệu thiếu; sửa hướng dẫn viết caption batch.
Sản phẩm kém chất lượngNhiều dòng bị reject.Sửa keyword, thêm tiêu chí lọc giá/rating/sold_count.
Đăng quá dàyCùng page có nhiều bài gần nhau.Rate limit tối đa 2 bài/page/ngày, cách nhau tối thiểu 3 giờ.