Hướng dẫn AI Web
Ba phần: kết nối AI Agent, quản trị site (SEO, Tailwind, bảo mật), và module nâng cao. Bản admin đăng nhập xem cùng nội dung tại menu Hướng dẫn. Video minh họa lấy từ playlist Hướng dẫn AI Web.
1. Kết nối Codex / Claude Code
Dùng AI coding agent (Codex, Claude Code, Cursor…) để điều khiển site AI Web qua API — tạo landing, đăng bài, thêm sản phẩm bằng prompt một dòng, không cần vào admin từng thao tác.
Tải và cài đặt aiweb_skill
Clone repo skill từ GitHub, copy vào thư mục skill của agent:
Repo gồm skill aiweb (vận hành site) và aiweb-migrate (migrate web cũ, video→blog). Chi tiết: github.com/slimsoftvietnam/aiweb_skill
Đăng nhập AI Web → tạo API key → copy
Vào Cài đặt → API Agent → Tạo API key mới. Đặt tên (vd: Codex máy nhà) → bấm tạo → copy key aiw_… ngay (chỉ hiện một lần).
Nên bấm Kiểm tra kết nối trong cùng tab để chắc key hoạt động. Key phải tạo trên đúng domain đang chạy (key local không dùng được trên hosting).
Nhập prompt kết nối — một dòng là đủ
Dán prompt sau vào Codex / Claude Code (thay domain và key):
Kết nối với tenmien.com theo API key aiw_xxxxxxxx
Agent sẽ đọc skill aiweb, gọi /api/agent.php và xác nhận site đã kết nối. Nếu lỗi 404, thử thêm đường dẫn đầy đủ: https://tenmien.com/aiweb_core.
Các tình huống dùng AI Agent
Copy prompt, thay tenmien.com và nội dung cụ thể:
| Việc cần làm | Prompt mẫu (1 dòng) |
|---|---|
| Tạo landing page hàng loạt Nhiều trang bán hàng / giới thiệu cùng lúc |
Tạo 5 landing page trên tenmien.com: trang-chu, gioi-thieu, dich-vu-a, dich-vu-b, lien-he — mỗi trang có hero, lợi ích, CTA Zalo |
| Tạo sản phẩm hàng loạt Đưa danh sách SP lên shop |
Thêm 10 sản phẩm vào shop tenmien.com từ file products.csv — có tên, giá, mô tả ngắn, slug |
| Viết chuỗi bài SEO theo từ khóa Content cluster, internal link |
Viết 8 bài blog SEO trên tenmien.com theo từ khóa: [kw1], [kw2], [kw3]… — bài pillar 2000 từ, bài phụ 1200 từ, link chéo |
| Migrate web cũ Chuyển landing/blog từ site cũ |
Migrate landing và blog từ webcu.com sang tenmien.com — bắt đầu từ https://webcu.com |
| Video → bài blog Dùng skill aiweb-migrate |
Chế bài blog từ video YouTube [URL] rồi đăng lên tenmien.com |
2. Tính năng quản trị
Hướng dẫn theo việc thực tế người quản trị hay làm — không cần đọc hết menu admin.
Bảo mật lần đầu (hosting)
Source không còn mật khẩu admin mặc định. Lần đầu trên hosting:
| Bước | Thao tác |
|---|---|
| 1 | Mở /login — nếu chưa có mật khẩu, hệ thống chuyển /setup_password để đặt mật khẩu mới |
| 2 | Đăng nhập sau khi đặt xong; nên bật HTTPS trên domain thật |
| 3 | Không upload lên hosting các file tạm, backup, hay cấu hình chỉ dùng trên máy phát triển |
| 4 | Đăng nhập sai nhiều lần bị giới hạn (rate limit). Form POST có CSRF |
/security. Không chia sẻ mật khẩu admin hay API key ra ngoài.Kích hoạt bản quyền phần mềm
Làm đầu tiên sau khi upload site lên hosting — nhiều tính năng (cập nhật, API Agent…) chỉ chạy khi license đã active trên đúng domain.
| Bước | Thao tác |
|---|---|
| 1 | Đăng nhập admin /login |
| 2 | Vào menu Bản quyền hoặc truy cập /activate_license |
| 3 | Nhập license key (mua tại slim.vn) → Kích hoạt |
| 4 | Kiểm tra trạng thái Đã kích hoạt — 1 key gắn 1 domain tại một thời điểm |
Lấy API key
Dùng để kết nối Codex / Claude Code / Cursor Agent với site (xem thêm Phần 1).
| Bước | Thao tác |
|---|---|
| 1 | Đã kích hoạt bản quyền trên domain đang dùng |
| 2 | Cài đặt → API Agent → Tạo API key mới |
| 3 | Đặt tên (vd: Codex) → bấm tạo → copy key aiw_… ngay (chỉ hiện một lần) |
| 4 | Bấm Kiểm tra kết nối hoặc Test key này để chắc key hoạt động |
Đổi mật khẩu admin
| Bước | Thao tác |
|---|---|
| 1 | Đăng nhập /login (lần đầu: dùng /setup_password) |
| 2 | Vào Cài đặt → Tài khoản Admin |
| 3 | Nhập mật khẩu hiện tại, mật khẩu mới ≥ 6 ký tự, xác nhận → Lưu |
Thiết lập cần làm trước khi mở site
Làm theo thứ tự — mỗi mục tương ứng một tab trong Cài đặt:
| Khi nào cần | Tab cài đặt | Làm gì |
|---|---|---|
| Luôn luôn | Cài đặt chung | Chọn trang chủ mặc định (landing publish) — để tenmien.com mở đúng trang, không vào admin |
| Luôn luôn | Thương hiệu | Đặt tên site, upload logo, favicon — hiện trên blog, shop, tab trình duyệt |
| Luôn luôn | SEO | Title + mô tả mặc định, ảnh OG riêng (không dùng logo chữ ngang làm OG) — xem thêm SEO cơ chế |
| Có bán hàng | Thiết lập Shop + Thanh toán | Nhập ngân hàng, STK, chủ TK → bật VietQR — khách thấy mã QR sau khi đặt hàng. Cấu hình mức VAT nếu cần |
| Có bán hàng | Thông báo đơn hàng | Telegram Bot + Chat ID hoặc email admin — nhận tin khi có đơn mới |
| Có blog | Trang xem Blog | Tiêu đề hero, CTA cuối bài (Zalo, link shop…), số bài mỗi trang |
| Tùy chọn | Phong cách giao diện | Theme màu + Tailwind CDN hoặc Offline — xem Tailwind CSS |
Tailwind CSS (CDN / Offline)
Cài đặt → Phong cách giao diện → Tailwind CSS (mặc định CDN):
| Chế độ | Khi nào dùng |
|---|---|
| CDN (mặc định) | Nạp @tailwindcss/browser từ jsDelivr — class động trong builder luôn chạy, không cần build trên máy |
| Offline | Dùng file tĩnh aiweb_core/assets/css/tailwind.css. Khi thêm class utility mới: chạy npm run build:css rồi upload lại file CSS |
SEO cơ chế (tự chạy)
Hệ thống sinh head/schema/sitemap theo mechanism — không hard-code domain. Checklist ngắn:
| Hạng mục | Hành vi |
|---|---|
| Canonical | Mỗi trang indexable trỏ về đúng URL mình. Landing trùng homepage (default) → 301 về / |
| Blog phân trang | /blog?page=0 hoặc page=1 → 301 /blog; page vượt quá → 404 |
| Logo vs OG | Logo brand cho UI; og_image riêng (khuyến nghị ~1200×630). Không auto-copy logo sang OG |
| Schema | Landing có schema Course → JSON-LD Course; shop/digital Product; blog Article — ngày dạng ISO |
| Sitemap / llms | /sitemap.xml, /llms.txt chỉ URL sống (module bật + publish). Tắt shop → không liệt kê /shop |
| Favicon | Route /favicon.ico từ brand favicon/logo chain |
| Trang hệ thống | Login, setup, guide… có noindex — nội dung publish không bị noindex |
Nạp dữ liệu từ backup
Source kèm hai file trong aiweb_core/data/backups/:
| File | Khi nào dùng |
|---|---|
empty-aiweb.db |
Cài mới lần đầu — trống nội dung, giữ thương hiệu + SEO + theme. Import hoặc Chuyển DB. |
demo-aiweb.db |
Xem demo — đủ landing, blog, shop, sản phẩm số, affiliate. Thường dùng khi xem thử trên máy local. |
| Thao tác | Chi tiết |
|---|---|
| Chuyển DB | Cài đặt → Cơ sở dữ liệu → chọn file → Áp dụng |
| Demo admin | Lần đăng nhập đầu với DB demo buộc đổi mật khẩu. Nếu ảnh demo chưa hiện, dùng chức năng cài ảnh demo trong bộ công cụ (hoặc liên hệ hỗ trợ gói source). |
Thêm / sửa / xóa landing page
| Việc cần làm | Cách làm |
|---|---|
| Thêm trang mới | Trang web → Tạo trang mới — nhập tên, slug tự sinh → vào editor |
| Sửa nội dung | Trong danh sách trang, bấm Sửa → dán HTML (tab Sửa) hoặc chỉnh trực quan (tab Xem & Sửa) → Lưu trang |
| Chèn widget | Toolbar editor: Blog, Shop, SP số, Biểu mẫu → chọn cấu hình → Chèn → Lưu |
| SEO riêng từng trang | Trong editor → ⚙ Cài đặt trang → tab SEO / Schema |
| Xuất bản / ẩn | Trang web → bật/tắt Publish. Trang publish: https://tenmien.com/{slug} |
| Xóa trang | Trang web → chọn trang → Xóa (không hoàn tác — nên backup DB trước) |
Việc quản trị khác (tham khảo nhanh)
/blog/shop/order-access?token=….db trước khi sửa lớn3. Tính năng nâng cao
Các module tùy chọn — bật khi cần. Mỗi mục gồm mục đích, thiết lập nhanh và cách dùng cơ bản.
Kết nối Telegram
Mục đích: Nhận tin ngay trên điện thoại khi có đơn hàng mới (shop vật lý + sản phẩm số), phản hồi biểu mẫu và ticket Helpdesk mới.
| Bước | Thao tác |
|---|---|
| 1. Tạo Bot | Mở Telegram → tìm @BotFather → /newbot → lưu Bot Token |
| 2. Lấy Chat ID | Nhắn tin cho bot (hoặc thêm bot vào nhóm) → dùng @userinfobot / @getidsbot để lấy Chat ID |
| 3. Cấu hình đơn hàng | Cài đặt → Thông báo đơn hàng — dán Token + Chat ID → Gửi test → Lưu |
| 4. Ticket Helpdesk (tùy chọn) | Cài đặt → Helpdesk — nhập Telegram Chat ID riêng cho hỗ trợ (dùng chung Bot Token ở bước 3) |
Khi có đơn: Telegram gửi tin kèm link quản lý (/order-access?token=… hoặc admin Đơn hàng). Khi có lead form: tóm tắt trường gửi qua Telegram (cùng Bot Token). Khi có ticket mới: email admin + Telegram (nếu đã cấu hình).
Sản phẩm số
Mục đích: Bán file, khóa học, license key… — khách thanh toán xong nhận link tải / key tại /digital-access.
| Bước | Thao tác |
|---|---|
| 1. Bật module | Cài đặt → Sản phẩm số — tick Bật module sản phẩm số → Lưu |
| 2. Thanh toán VietQR | Tab Thanh toán — cấu hình ngân hàng (giống shop vật lý) |
| 3. PayPal (tùy chọn) | Cùng tab Sản phẩm số — nhập PayPal Client ID + Secret, bật sandbox nếu test, tỷ giá USD/VND |
| 4. Thêm SP | Menu Sản phẩm số — tên, giá, upload file hoặc nhập license keys, slug |
| 5. Bán hàng | Khách mua tại /digital hoặc /digital/{slug} → VietQR hoặc PayPal → nhận email + trang bàn giao |
Quản lý đơn: menu Đơn SP số — duyệt thanh toán, gửi lại email, xác nhận bàn giao.
Affiliate
Mục đích: Đối tác giới thiệu khách mua sản phẩm số, nhận hoa hồng theo % — cần module Sản phẩm số đã bật.
| Bước | Thao tác |
|---|---|
| 1. Bật module | Cài đặt → Affiliate — tick bật module, đặt % hoa hồng mặc định, số tiền rút tối thiểu → Lưu |
| 2. Google OAuth | Cùng tab — nhập Client ID + Secret từ Google Cloud Console (redirect URI hiện trong form) → Test OAuth |
| 3. Đối tác đăng nhập | Đối tác vào /aff/login → Đăng nhập bằng Gmail → portal /aff |
| 4. Link từng SP | Trong portal, đối tác copy link giới thiệu theo từng sản phẩm số (dạng ?ref=mã hoặc /aff/mã/slug) |
| 5. Admin duyệt | Menu Affiliate — xem hoa hồng, duyệt rút tiền |
Helpdesk
Mục đích: Khách đã mua sản phẩm số gửi ticket hỗ trợ — đăng nhập Gmail, admin nhận qua email + Telegram.
| Bước | Thao tác |
|---|---|
| 1. Bật Helpdesk | Cài đặt → Helpdesk — tick bật, nhập email admin, Chat ID Telegram (nếu cần) |
| 2. Google OAuth khách | Nhập Client ID/Secret (có thể dùng chung OAuth Affiliate nếu tick tùy chọn trong form) |
| 3. Bật trên SP số | Khi thêm/sửa sản phẩm số — tick Bật Helpdesk cho từng SP cần hỗ trợ |
| 4. Khách dùng | Vào /support → đăng nhập Gmail → chọn SP đã mua → gửi ticket |
| 5. Admin xử lý | Menu Helpdesk — trả lời ticket; khách nhận email phản hồi |
Biểu mẫu (Forms)
Mục đích: Thu lead / liên hệ / đăng ký — nhúng vào landing hoặc iframe độc lập (/form/embed/{slug}). Admin nhận email + Telegram; có thể gửi auto-reply cho người gửi.
| Bước | Thao tác |
|---|---|
| 1. Bật module | Cài đặt → Biểu mẫu — tick Bật module biểu mẫu → Lưu |
| 2. Captcha (khuyến nghị) | Cùng tab — dán Site/Secret key reCAPTCHA hoặc Cloudflare Turnstile (tuỳ chọn từng form: toán học / reCAPTCHA / Turnstile) |
| 3. Tạo biểu mẫu | Menu Biểu mẫu — tên, slug, trường (text, email, phone, textarea, select…), nút gửi, màu accent, layout 1/2 cột → Lưu |
| 4. Thông báo | Trong form: email nhận lead (phân cách bằng dấu phẩy); bật auto-reply + nội dung (biến {{name}}, {{email}}, {{form_name}}…). Telegram dùng Bot Token đã cấu hình ở mục trên |
| 5. Nhúng ra site |
|
| 6. Xem phản hồi | Menu Biểu mẫu → Phản hồi (hoặc ?action=form_submissions) — lọc theo form, xem chi tiết lead |
| 7. Agent API | /api/agent.php — scope forms.read / forms.write / forms.delete: list_forms, upsert_form, list_form_submissions, create_form_submission… Xóa form/đăng ký cần "confirm":"DELETE" trong body JSON. |
/form/embed/{slug} — gửi qua /api/submit_form.php (có captcha + rate limit). Form inactive sẽ không nhận gửi công khai; Agent API dùng key riêng, không qua captcha.Popup
Mục đích: Hiện thông báo, thu email, mã giảm giá hoặc đếm ngược trên landing / blog / shop / digital — đo số lần hiện và chuyển đổi, xem lead thu được.
| Bước | Thao tác |
|---|---|
| 1. Bật module | Cài đặt → Popup — tick Bật module Popup → Lưu. Menu Popup sẽ xuất hiện trên sidebar. |
| 2. Tạo popup | Menu Popup → Tạo popup mới. Chọn kiểu: Trượt góc, Thanh ngang, Hộp giữa trang hoặc Tấm dưới màn hình. |
| 3. Nội dung | Đặt tên (nội bộ), chọn mẫu Thông báo / Thu email / Mã giảm giá / Đếm ngược. Viết tiêu đề + mô tả (HTML, có trình soạn thảo), ảnh, nút CTA. Có thể thêm nhiều thông điệp để A/B theo trọng số. |
| 4. Thu thông tin |
|
| 5. Nơi hiện | Chọn mục tiêu: mọi trang công khai, landing cụ thể, blog / shop / digital, danh mục blog, hoặc pattern URL. Có thể thêm loại trừ (exclude) để không hiện trên một số URL. |
| 6. Trigger & tần suất | Delay (giây), cuộn % trang, cuối trang, thoát trang, hoặc click theo CSS selector. Giới hạn: hiện 1 lần / N ngày, tối đa mỗi phiên, ẩn sau khi chuyển đổi, lịch bắt đầu–kết thúc, thiết bị (desktop/mobile). |
| 7. Bật chạy & xem trước | Đặt trạng thái Đang chạy → Lưu. Trên danh sách bấm Xem trước để xem đúng giao diện public. Live preview cũng có sẵn trong drawer khi soạn. |
| 8. Đo hiệu quả | Menu Popup → Hiệu quả (impressions, conversions, CVR) và Lead thu được. Có thể bật sự kiện GA4 trong Cài đặt → Popup. |
| 9. Agent API |
/api/agent.php — scope popup.read / popup.write / popup.delete:
list_popups, get_popup, upsert_popup, get_popup_stats, list_popup_leads, delete_popup…
Xóa cần "confirm":"DELETE" trong body JSON.
|
Đa ngôn ngữ (blog)
Mục đích: Khách đọc blog bằng ngôn ngữ khác — widget tự dịch nội dung bài (Google Translate), không cần viết nhiều bản.
| Bước | Thao tác |
|---|---|
| 1. Ngôn ngữ UI site | Cài đặt → Cài đặt chung — chọn Ngôn ngữ UI (Tiếng Việt / English) cho giao diện blog, shop |
| 2. Widget dịch blog | Cùng tab — tick Bật Google Translate trên bài viết → Lưu |
| 3. Khách dùng | Trên trang chi tiết bài /blog/{slug} — chọn ngôn ngữ ở dropdown 🌐 (English, 日本語, 中文…) |
Hỗ trợ
© 2026 AI Web — Hướng dẫn cập nhật theo source.