← Tất cả bài viết

Tự động đăng bài Facebook và Instagram bằng AI (OpenClaw): hệ thống 4 khối mình chạy mỗi đêm

3 giờ sáng, page Học lỏm tự soạn xong bài mới. Sáng ra mình mở Discord, đọc bản nháp, nhắn "ok lên đi" là bài lên Facebook. Nhắn thêm "insta nữa" là lên Instagram.

Tự động đăng bài Facebook và Instagram bằng AI ở đây là dùng một AI agent (OpenClaw) tự làm hết phần soạn bài, còn mình chỉ giữ đúng một việc: duyệt. Bài này kể lại cách mình dựng hệ thống đó, chia thành 4 khối, kèm file thật đang chạy và cả những lần nó làm sai.

Bản nháp AI agent tự gửi vào Discord lúc 3 giờ sáng để chờ duyệt trước khi tự động đăng bài Facebook

Key Takeaways

  • Hệ thống chỉ có 4 khối: hẹn lịch, nguồn + luật chọn bài, mẫu ảnh, bước duyệt.
  • Agent chạy bằng OpenClaw, nhận lệnh và gửi nháp qua Discord.
  • Toàn bộ "chất" của bài nằm trong một file chữ (FEED.md). Muốn đổi giọng, đổi chủ đề thì sửa file đó.
  • Agent chỉ viết chữ, còn ảnh dựng từ mẫu có sẵn, nên bài nào cũng đúng nhận diện.
  • Không cho AI tự đăng. Nó soạn, mình duyệt. Có lần chính nó bắt được lỗi của nó, nhưng mình vẫn là người bấm cuối.

AI Agent làm được gì khác chatbot?

Chatbot như ChatGPT là hỏi gì đáp nấy: bạn phải mở ra, gõ câu hỏi, rồi tự copy kết quả đi đăng.

AI agent thì nhận một việc rồi tự đi làm nhiều bước: tự mở web đọc nguồn, tự viết, tự chạy lệnh vẽ ảnh, tự gửi tin nhắn. Nó còn tự chạy theo giờ hẹn, không cần ai gọi.

Mình dùng OpenClaw, một công cụ miễn phí nối model AI (ở đây là gói ChatGPT) với máy chủ và với app chat. Nếu chưa cài, xem trước hai bài OpenClaw Telegram và OpenClaw Discord. Bài này là bước tiếp theo: cài xong rồi thì giao cho nó việc gì.

4 khối để tự động đăng bài Facebook bằng AI

Khối 1: Hẹn lịch, mỗi ngày đúng 3 giờ sáng

Máy chủ hẹn giờ gọi agent dậy chạy một vòng lúc 3:00 sáng mỗi ngày. Chọn ban đêm để sáng ra đã có sẵn bài chờ duyệt, khỏi phải ngồi đợi.

Đây là nhật ký thật: ngày nào cũng có một dòng 03:00:01.

Nhật ký AI agent chạy lúc 3 giờ sáng mỗi ngày để soạn bài đăng Facebook

Mỗi vòng, agent nhận một lời dặn viết bằng chữ thường, không phải code: đọc vài nguồn, chọn đúng một mẹo, viết caption theo luật, vẽ ảnh, gửi bản nháp vào Discord. Câu quan trọng nhất nằm ở cuối: không được tự đăng Facebook.

Lời dặn cho AI agent mỗi chu kỳ: chọn 1 tip, render ảnh, gửi preview vào Discord, không tự đăng Facebook

Mình còn dặn thêm: không có bài nào đủ hay thì bỏ qua và nói rõ lý do. Thà không có bài còn hơn đăng bài dở cho đủ chỉ tiêu.

Khối 2: Nguồn và luật chọn bài nằm trong một file

Đây là khối quyết định bài hay hay dở. Mọi thứ nằm trong file FEED.md, coi như "não" của bot:

  • Viết cho ai: người bình thường, không đóng khung "chủ shop" hay "dân marketing".
  • Đọc nguồn nào: Reddit (r/ChatGPT, r/ClaudeAI, r/productivity…), blog OpenAI, Google Search Central, Meta…
  • Chọn chủ đề sao: xoay vòng 4 mảng (AI dùng hằng ngày, mạng xã hội & nội dung, Google & tìm kiếm, bán hàng đời thường), để page không bị một màu.
  • Viết caption thế nào: "viết như người, không như AI". Không rải icon, không nhãn kiểu "Tip:", mỗi bài phải có một việc người đọc làm được ngay.

File FEED.md chứa nguồn, đối tượng và luật chọn bài cho AI agent

Muốn đổi chất bài, mình không sửa code mà sửa file này. Ví dụ hồi đầu bot hay dịch nguyên bài blog Tây, đọc rất khô. Mình thêm một dòng "lấy ý, không dịch nguyên bài, Việt hoá về bối cảnh người Việt" là các bài sau đổi hẳn.

Agent còn tự ghi lại bài đã làm vào một cuốn sổ (history.md), để hôm sau khỏi trùng chủ đề. Chữ A, B, C, D trong sổ là 4 mảng đang xoay vòng.

Sổ ghi bài đã làm giúp AI agent chống trùng chủ đề, xoay vòng 4 mảng A B C D

Khối 3: Mẫu ảnh, agent chỉ viết chữ

Nếu để AI tự vẽ ảnh mỗi ngày, mỗi bài sẽ ra một kiểu, page nhìn lộn xộn. Nên mình làm ngược lại: thiết kế sẵn vài mẫu ảnh (template), agent chỉ cần viết phần chữ vào một file JSON (một dạng file chữ có cấu trúc: tiêu đề, nội dung, nhãn).

File JSON agent viết ra gồm tiêu đề, nội dung và nhãn để dựng ảnh

Rồi một lệnh dựng ảnh đổ chữ vào mẫu là ra card đúng màu, đúng font, đúng logo:

Card bài đăng dựng tự động từ template, đúng nhận diện của page

Mình có vài mẫu cho từng kiểu bài: mẹo ngắn, danh sách, các bước, trích dẫn. Agent chọn mẫu phù hợp theo nội dung.

Khối 4: Bước duyệt, AI soạn còn mình bấm

Bản nháp gửi vào Discord gồm caption đầy đủ, ảnh thật và link nguồn, kết bằng câu "Reply đăng để lên trang, hoặc góp ý để sửa". Mình có 3 lựa chọn:

  1. Ổn: nhắn "ok lên đi", nó đăng Facebook.
  2. Muốn sửa: góp ý thẳng, kiểu "caption dài quá, viết ngắn lại", nó sửa rồi gửi lại.
  3. Không ổn: bỏ qua, không đăng.

Đăng Facebook xong, nhắn "insta nữa" là nó đăng tiếp Instagram, và tự kiểm lại caption, hashtag sau khi đăng.

Duyệt bài trong Discord: nhắn ok lên đi để AI agent tự động đăng Facebook rồi Instagram

Để ý dòng trong ảnh: "Em có bắt được một câu sót từ bài cũ trong file caption trước khi publish, đã sửa sạch rồi mới đăng." Agent tự phát hiện caption đang dính một câu của bài hôm trước và sửa lại. Hay đấy, nhưng đó cũng là lý do mình không bao giờ bỏ bước duyệt: lần này nó tự bắt được, lần sau chưa chắc.

Kết quả: bài thật trên Facebook và Instagram

Bài trên Facebook, ảnh đúng mẫu, caption đúng giọng:

Bài đăng Facebook do AI agent tự động đăng sau khi được duyệt

Và cùng bài đó trên Instagram:

Bài đăng Instagram do AI agent tự động đăng sau khi được duyệt

Phần đăng lên Facebook và Instagram, agent gọi qua Composio, một dịch vụ kết nối sẵn với tài khoản Facebook/Instagram để AI gọi lệnh đăng bài, khỏi phải tự viết code nối API của Meta.

Chi phí và công cụ

PhầnMình dùngGhi chú
AgentOpenClawMiễn phí, tự cài
Model AIGói ChatGPT có sẵnDùng chung hạn mức của gói. Hết hạn mức thì bot tự báo vào Discord và tạm dừng, khi nào reset nó tự chạy lại
Chỗ chạyMột máy chủ nhỏ (VPS)Để chạy 24/7. Chạy trên máy cá nhân thì tắt máy là bot nghỉ
Đăng FB/IGComposioKết nối tài khoản một lần
Nhận lệnh, duyệtDiscordMiễn phí

So với n8n thì sao?

Tìm "tự động đăng bài Facebook" bạn sẽ gặp nhiều bài hướng dẫn n8n. Khác nhau ở chỗ:

  • n8n là luồng cố định do bạn kéo thả: lấy dữ liệu từ A, đưa qua bước B, đăng lên C. Chạy rất ổn định, nhưng luồng không tự đổi.
  • AI agent nhận lời dặn bằng chữ rồi tự quyết: hôm nay đọc nguồn nào, chọn bài nào, bỏ qua bài nào, dùng mẫu ảnh nào. Muốn đổi cách làm thì sửa lời dặn, không phải nối lại luồng.

Đổi lại, agent khó đoán trước hơn. Đó là thêm một lý do phải có bước duyệt.

Những chỗ AI làm sai và cách mình chặn

  • Dính chữ từ bài cũ: caption lẫn một câu của bài trước. Cách chặn: đọc kỹ bản nháp, và dặn agent kiểm lại caption trước khi đăng.
  • Dịch nguyên bài Tây, đọc khô: sửa bằng luật "lấy ý, không dịch" trong FEED.md.
  • Chủ đề lặp, page một màu: sửa bằng sổ chống trùng và xoay vòng 4 mảng.
  • Hết hạn mức model giữa chừng: bot tự báo và tạm dừng, không im lặng chết.

Lưu ý an toàn khi cho AI agent đăng bài

  • Không cho tự đăng. Viết rõ trong lời dặn và giữ bước duyệt.
  • Giữ kín các mã kết nối (token Discord, kết nối Facebook/Instagram). Ai có mã là đăng được lên page của bạn.
  • Chỉ thêm bot vào server Discord của bạn, và chỉ duyệt ghép đôi cho chính tài khoản của bạn.
  • Đọc nguồn trước khi duyệt, nhất là tin tức. AI có thể hiểu sai hoặc bịa ý.

Câu hỏi thường gặp

Có tự động đăng bài Facebook bằng AI mà không cần duyệt được không?

Được, về kỹ thuật chỉ cần bỏ câu "không tự đăng" trong lời dặn. Nhưng mình khuyên không nên: AI vẫn có lúc viết sai, dính chữ từ bài cũ, hoặc hiểu sai nguồn. Đăng lên page rồi mới phát hiện thì muộn.

Không biết code có làm được không?

Phần lời dặn và file luật (FEED.md) đều là chữ thường. Phần cài OpenClaw và mẫu ảnh thì cần làm theo hướng dẫn một lần. Mấy bài OpenClaw trên web đi từng bước có ảnh.

Agent có đăng được TikTok không?

Hệ thống này mình đang dùng cho bài ảnh trên Facebook và Instagram. Video thì mình làm và đăng theo quy trình riêng.

Kết luận

Tự động đăng bài Facebook và Instagram bằng AI không cần một hệ thống phức tạp. Chỉ cần 4 khối: hẹn lịch, nguồn + luật, mẫu ảnh, bước duyệt. Agent làm phần tốn thời gian, còn bạn giữ phần quan trọng nhất là quyết định bài nào được lên.

Muốn bắt đầu thì cài OpenClaw theo bài OpenClaw Telegram hoặc OpenClaw Discord, rồi viết thử một file luật cho page của bạn: viết cho ai, đọc nguồn nào, cấm gì.