Mã nguồn mở  ·  MIT

Một chiến dịch chạy từ brief tới báo cáo —
AI làm, bạn duyệt.

Repo này là engine: skill, agent, workflow, script và template. Nội dung, dữ liệu và báo cáo của bạn sống ở instance riêng, nằm ngoài git.

Dry-run mặc định MIT License Excel · 13 sheet Windows · PowerShell
Tính năng

Agent chạy nhanh, nhưng chỉ đi qua chỗ bạn đã mở cửa

Tự động hoá marketing thường hỏng ở một chỗ: không ai biết cái gì đã được duyệt, cái gì chỉ là bản nháp trôi ra ngoài. Ở đây trạng thái nằm trong file, và file thì đọc được bằng mắt.

Một workbook, cả vòng đời

Mỗi chiến dịch là một file Excel 13 sheet: brief → chỉ tiêu KPI → lịch nội dung → nội dung → phê duyệt → log đăng → số liệu ngày → tổng hợp → lead → insight. Không phải mười công cụ nối bằng ảnh chụp màn hình, mà một file mở lên là thấy chiến dịch đang ở đâu.

01_Brief … 10_Insights · _Lists · _Dictionary

Người duyệt là cột trong Excel, không phải lời hứa

Ba cổng: approve_topic mở đường cho viết nháp, approve_content mở đường cho làm media, approve_final mở đường cho đăng. Chưa tick thì CLI không trả asset đó ra, agent không có cách nào nhảy bước.

gate: draft → media → publish

Dry-run là mặc định

Adapter đăng bài từ chối chạy thật trừ khi instance đặt autonomy: full và bạn xác nhận bằng tay. Ba mức tự trị: suggest chỉ đọc và đề xuất, auto_safe được viết nháp, full mới được đăng.

Schema là hợp đồng

Cột nào tồn tại, giá trị nào hợp lệ, tên nào ánh xạ tên nào — tất cả nằm ở YAML trong schema/. Sửa schema một chỗ thì dropdown trong Excel, validator và mô hình dữ liệu đổi theo, cho mọi chiến dịch.

Không đo thì không kết luận

Baseline là median của 10 nội dung gần nhất cùng định dạng, trên chính kênh của bạn — không phải “chuẩn ngành” đọc ở đâu đó. Chưa đủ mẫu thì hiện “chưa đủ mẫu”, không hiện một con số đoán.

Bộ mẫu chạy được ngay

Instance content/KPIM là một ngân hàng giả định với dữ liệu mô phỏng: 4 chiến dịch theo quý, 60 bài đã đăng, 5.687 lead từ 7 nguồn (app · hotline · form · social inbox · website · quầy · QR sự kiện) — mỗi nguồn một kiểu định dạng lệch nhau, đúng như đời thật. Clone về là chạy, không cần token, không cần tài khoản kênh nào. Đây cũng là bộ dữ liệu dạy học cho khoá Marketing Analytics.

4 chiến dịch · 60 bài 5.687 lead · 7 nguồn Không PII · không credential Không đăng gì lên đâu
Cách hoạt động

Sáu bước, ba chỗ dừng chờ người

Agent đi liền mạch từ brief tới báo cáo, nhưng dừng lại ở bước 3, 4 và 5 — mỗi lần dừng là một ô checkbox bạn phải tự tick. Bỏ trống thì đường ống đứng yên, không có “mặc định đồng ý”.

01

Brief

Mục tiêu, đối tượng, pillar, chỉ tiêu KPI — bạn điền vào sheet brief.

02

Lịch nội dung

Agent rải asset theo pillar và định dạng, validator kiểm trước khi ghi.

03

AI viết nháp

Chỉ những asset đã duyệt chủ đề mới được viết. Nháp dài để ở file Markdown.

04

Bạn duyệt

Checklist QA trong sheet phê duyệt. Đây là bước không ai làm thay bạn.

05

Đăng kênh

Adapter YouTube và Facebook, chạy dry-run nếu chưa bật toàn quyền. Đang xây.

06

Đo & báo cáo

Thu số liệu qua API, dựng star schema và dashboard Power BI. Đang xây.

Cài đặt

Ba dòng lệnh và bảy câu hỏi

Clone repo rồi chạy install.ps1. Installer hỏi bảy câu — tên kênh, nơi đặt nội dung, kênh phát hành, nguồn số liệu, mức tự trị, ngôn ngữ, brand voice — rồi dựng khung thư mục instance cho bạn. Nhấn Enter hết là dùng mặc định trong repo.

  • Windows với PowerShell 5.1 trở lên
  • Python 3.10+ kèm pyyamlopenpyxl
  • Instance có ba gốc tách rời — nội dung đặt ở kho tri thức riêng cũng được
Đọc README trên GitHub
PowerShell
git clone https://github.com/ducnguyen221/marketing-agent
cd marketing-agent
.\install.ps1                        # hỏi 7 câu rồi dựng khung thư mục
Ranh giới rõ ràng

Repo giữ engine, bạn giữ nội dung

Một repo marketing rất dễ biến thành nơi rò rỉ: token nằm trong file config, bản nháp chưa duyệt bị commit, dữ liệu khách hàng đi theo. Ranh giới ở đây được cài bằng gitignore và mặc định an toàn, không phải bằng kỷ luật cá nhân.

Trong repo (lên GitHub) Ngoài repo (ở lại máy bạn)
Token & credential Chỉ có .env.example Mọi .env và file *token*.json đều bị gitignore
Nội dung chiến dịch Chỉ bộ mẫu KPIM mô phỏng Workbook, bản nháp, media thật của bạn
Dữ liệu & báo cáo Chỉ dữ liệu mô phỏng để học Export số liệu, lead, báo cáo xuất ra
Đăng bài Dry-run cho tới khi bạn duyệt Chỉ chạy thật khi bật autonomy: full bằng tay
Thông tin cá nhân Không PII — số điện thoại trong bộ mẫu là chuỗi sinh máy Dữ liệu khách hàng thật không bao giờ rời instance
Mã nguồn mở

Mở repo lên, xem thử một chiến dịch hoàn chỉnh

Giấy phép MIT. Bộ mẫu KPIM cho bạn thấy đích đến trông thế nào trước khi bắt tay dựng chiến dịch của mình.