KDIGI CMS

AI-native · Mã nguồn mở · Giấy phép MIT

Một CMS cho mọi website, cả người và AI cùng làm

CMS headless AI-native: nhiều website trong một trang quản trị, AI agent viết và đăng bài qua MCP với đúng quyền của bạn, soạn bằng Markdown, SEO và JSON-LD có sẵn, tự host bằng Docker.

Mã nguồn trên GitHubPayload · Next.js · PostgreSQL

Trang quản trị KDIGI CMS: bảng điều khiển với danh sách bài viết, trang và website đang quản lý
  • AI agent làm cùng bạn

    Claude Code, Codex, Cursor viết và đăng bài qua MCP, đúng vai trò và site của người dùng.

  • Nhiều website, một nơi

    Nội dung, người dùng và cấu hình tách theo site, chung một trang quản trị.

  • SEO có sẵn

    Tiêu đề, mô tả, Open Graph và JSON-LD tự sinh, kèm công cụ kiểm tra SEO.

  • API cho mọi frontend

    REST và GraphQL công khai, Markdown trả về HTML sạch.

AI-native

AI agent viết, sửa và đăng bài ngay trong CMS

KDIGI CMS có sẵn máy chủ MCP. Bạn giao việc cho công cụ AI quen dùng, nó làm trên CMS với đúng quyền của tài khoản bạn cấp, còn người biên tập vẫn duyệt trong trang quản trị.

  • Claude Code
  • Codex
  • Cursor
  • VS Code
  • OMP
Kết nối Claude Code bằng CLI kcms
$ npm install -g @kdigi/kcms-cli$ export KCMS_API_KEY=change-me$ kcms setup claude-code --url https://cms.example.com --write --with-skill

Có từ KDIGI CMS 1.2.0. Tài khoản demo công khai không tạo được API key; thử MCP trên bản tự host.

  • Máy chủ MCP có sẵn

    23 công cụ: tìm, viết, hẹn giờ, đăng bài, media, chuyên mục, kiểm tra SEO. Không cần plugin.

  • Đúng quyền của bạn

    Agent dùng API key của một người dùng: cùng vai trò, cùng site. Author vẫn không đăng được bài.

  • Không ghi đè ai

    Mỗi lần sửa kèm mốc updatedAt; có người vừa lưu hoặc đang mở bài thì agent dừng lại.

  • Bản nháp trước, hoàn tác được

    Bài mới là bản nháp; thùng rác và lịch sử phiên bản như trong trang quản trị.

Tính năng

Mọi thứ một website nội dung cần, trong một trang quản trị

Ảnh dưới đây chụp từ bản KDIGI CMS đang chạy thật, không phải ảnh minh hoạ.

Nhiều website

Quản lý nhiều website mà nội dung không lẫn vào nhau

Mỗi website có tên miền, ngôn ngữ và thương hiệu riêng, cùng một trang quản trị.

  • Nội dung, menu và người dùng tách theo từng site
  • Mỗi site khai báo tên miền của frontend để CMS báo làm mới khi có thay đổi
  • Thêm site mới không cần khởi động lại hay triển khai lại CMS
Chi tiết tính năngTìm hiểu nhiều website
Danh sách các website trong KDIGI CMS, mỗi website có khoá và tên miền riêng

Soạn thảo

Soạn bài bằng Markdown ngay trong trình quản trị

Trình soạn thảo Milkdown hiển thị kết quả khi bạn gõ. API trả về HTML đã làm sạch.

  • Shortcode dùng lại các đoạn nội dung giữa nhiều bài
  • Bản nháp, lên lịch đăng và lịch sử phiên bản
  • Xoá vào thùng rác, khôi phục khi cần
Chi tiết tính năngXem hướng dẫn soạn thảo
Trình soạn thảo Markdown của KDIGI CMS đang mở một bài viết

SEO

SEO và JSON-LD có sẵn, không cần cài plugin

Tiêu đề, mô tả và Open Graph sinh theo mẫu; JSON-LD được tạo mỗi khi bài lưu.

  • Đổi đường dẫn bài thì CMS tự tạo redirect 301
  • Ảnh Open Graph lấy từ ảnh đại diện hoặc ảnh mặc định của site
  • Công cụ kiểm tra SEO cho cả website
Chi tiết tính năngXem hướng dẫn SEO
Thẻ SEO của một bài viết với bản xem trước kết quả tìm kiếm và JSON-LD

Thư viện media

Thư viện media gọn gàng, lưu ở nơi bạn chọn

Tải ảnh lên một lần, dùng ở mọi bài. Mỗi website chọn nơi lưu riêng.

  • Lưu trên ổ đĩa của máy chủ, hoặc Cloudflare R2 theo từng website
  • Văn bản thay thế (alt) cho từng ảnh
  • Kích thước ảnh được ghi vào HTML, trang không bị nhảy khi tải
Chi tiết tính năngXem hướng dẫn media
Thư viện media của KDIGI CMS dạng lưới ảnh

Phân quyền

Phân quyền theo vai trò và theo từng website

Bốn vai trò; mỗi người chỉ thấy và sửa website được giao.

  • Super-admin, admin, editor và author với quyền khác nhau
  • Người dùng gắn với danh sách website; website khác không hiện ra
  • Khoá API riêng cho tích hợp, tách khỏi tài khoản đăng nhập
Chi tiết tính năngXem hướng dẫn phân quyền
Màn hình người dùng với vai trò và danh sách website được phép truy cập

Headless

REST và GraphQL cho bất kỳ frontend nào

API công khai, không cần đăng nhập, chỉ trả nội dung đã xuất bản.

  • Lọc theo website, ngôn ngữ, trang và sắp xếp
  • Nội dung Markdown trả về HTML đã làm sạch
  • Webhook làm mới frontend ngay khi bạn bấm đăng
Chi tiết tính năngXem tài liệu API
Phản hồi JSON của API bài viết trong KDIGI CMS

Xem tất cả tính năng

KDIGI CMS là CMS headless AI-native, mã nguồn mở (MIT): một bản cài quản lý nhiều website, website công khai lấy nội dung qua REST hoặc GraphQL, còn AI agent viết và đăng bài qua máy chủ MCP có sẵn.

Tóm tắt nhanh

  • CMS headless, giấy phép MIT.
  • Một bản cài, nhiều website, dữ liệu tách theo site.
  • AI agent làm việc qua MCP với đúng quyền người dùng.
  • Soạn Markdown, SEO và JSON-LD có sẵn.
  • Thử bằng một lệnh Docker Compose.
  • MIT giấy phép
  • 4 vai trò phân quyền
  • 2 ngôn ngữ nội dung: vi, en
  • 1.2.0 phiên bản hiện tại

Dành cho ai

  • Agency Quản lý nhiều website khách hàng trên một bản cài.
  • Đội nội dung dùng AI Giao AI agent viết nháp, cập nhật SEO; người biên tập duyệt và đăng.
  • Blogger, doanh nghiệp nhỏ Tự host, giữ dữ liệu, có SEO chuẩn từ đầu.
  • Người rời WordPress Chuyển nội dung và SEO sang kiến trúc headless.
  • Lập trình viên frontend API REST/GraphQL có tài liệu, dùng với Next.js, Astro, Nuxt.
  • Người thích dòng lệnh CLI kcms sửa bài như tệp Markdown, đẩy lên một lệnh.

Cách hoạt động

  1. Cài CMS Docker Compose trên máy hoặc VPS.
  2. Tạo site Nhập siteKey, domain, ngôn ngữ; không cần deploy lại.
  3. Viết nội dung Tự soạn Markdown, hoặc giao AI agent viết nháp qua MCP rồi duyệt.
  4. Frontend lấy qua API Lọc theo site; CMS báo làm mới cache khi nội dung đổi.

Bảng điều khiển KDIGI CMS với bài viết gần đây và bảng kiểm tra SEO
Bảng điều khiển của site đang chọn

Chi tiết cách gọi API: Headless API.

Khám phá tiếp

Chuyển từ WordPress

Chuyển site WordPress mà không mất bài, ảnh và thứ hạng SEO

Quy trình nhập tám giai đoạn cho site WordPress. Bạn xem kết quả trước khi ghi, không phải cầu may rồi dọn lỗi.

  1. Bước 1

    Tải bản chụp

    Kéo nội dung từ WordPress qua WPGraphQL hoặc REST API, giữ một bản gốc không sửa.

  2. Bước 2

    Chuẩn hoá

    Bài viết, trang, danh mục, thẻ, menu, tác giả và bình luận thành JSON dễ đọc.

  3. Bước 3

    Duyệt và khoá

    Bạn sửa tay, chạy kiểm tra, rồi khoá. Chưa khoá thì chưa ghi gì vào cơ sở dữ liệu.

  4. Bước 4

    Nhập vào CMS

    Chạy lại được, có chế độ chạy thử, tự sao lưu cơ sở dữ liệu trước khi ghi.

Tài liệu kính mờ chuyển qua băng chuyền sang khối xanh KDIGI CMS

Được chuyển sang

  • Bài viết, trang, danh mục, thẻ
  • Ảnh trong thư viện media
  • SEO của Yoast và RankMath
  • Menu, tác giả, bình luận
  • Redirect 301 từ đường dẫn cũ
  • Sản phẩm WooCommerce (tuỳ chọn)

Không chuyển, bạn dựng lại

  • Giao diện (theme) và plugin
  • Cấu hình form
  • Tài khoản đăng nhập WordPress
  • Nội dung do page builder lưu ngoài bài viết
Khối container và cơ sở dữ liệu kính mờ, đại diện cho tự host bằng Docker

Tự host

Chạy trên máy chủ của bạn bằng Docker

KDIGI CMS không có bản thuê bao. Bạn tự cài, tự giữ dữ liệu, và cập nhật khi muốn.

Terminal
$ git clone https://github.com/kdigivn/kdigi-cms-open.git$ cd kdigi-cms-open$ SEED_DEMO=true docker compose up --build
  • Một lệnh là chạy

    Docker Compose dựng sẵn ứng dụng và PostgreSQL; SEED_DEMO nạp một site mẫu để xem ngay.

  • Triển khai trên Coolify

    Có sẵn docker-compose.coolify.yml; chạy trên máy chủ của bạn.

  • Không khoá nhà cung cấp

    Mã nguồn MIT, dữ liệu trong PostgreSQL, ảnh ở ổ đĩa hoặc Cloudflare R2.

Demo trực tuyến

Thử ngay trên bản chạy thật, không cần cài gì

Đăng nhập bằng tài khoản biên tập viên dưới đây để viết bài, tải ảnh và chỉnh SEO.

Email
demo@cms.kdigi.vn
Mật khẩu
Demo@2026
  • Dùng chung cho mọi người, đừng nhập dữ liệu riêng tư.
  • Chỉ vào được website demo; không tạo được người dùng, không đổi được mật khẩu.
  • Nội dung được đặt lại mỗi đêm, bài bạn viết không được giữ lại.

Website mẫu: sáu framework, cùng một nội dung

Cùng một site trong KDIGI CMS, đọc qua REST API và dựng bằng sáu framework với giao diện như nhau.

Laptop kính mờ với nút phát xanh cho bản demo trực tuyến

Mã nguồn mở

Mã nguồn công khai trên GitHub, giấy phép MIT

CMS, trình nhập WordPress và tài liệu nằm trong một kho mã. Bạn đọc được cách nó hoạt động trước khi tin nó.

  • Giấy phép MIT

    Dùng cho dự án cá nhân hay thương mại, sửa và triển khai tự do.

  • Xây trên nền quen thuộc

    Payload 3, Next.js và PostgreSQL. Đội dev nào biết TypeScript cũng đọc được mã.

  • Mở cho đóng góp

    Báo lỗi, góp ý hoặc gửi pull request trên GitHub. KDIGI duy trì và phát hành bản vá.

Cây nhánh mã nguồn mở và ổ khoá mở bằng kính mờ trên đế đất sét

Hỏi đáp

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

Nội dung quản lý ngay trong KDIGI CMS, nên khi chúng tôi sửa câu trả lời, trang này tự cập nhật.

Về KDIGI CMS

AI-native nghĩa là gì ở KDIGI CMS?
CMS có sẵn máy chủ MCP tại /api/mcp: Claude Code, Codex, Cursor, VS Code, OMP tìm, viết, hẹn giờ, đăng bài và kiểm tra SEO bằng API key của một người dùng, đúng vai trò và site của người đó. Xem AI agent và MCP.
Chạy KDIGI CMS cần những gì?
Để thử chỉ cần Docker có Compose: SEED_DEMO=true docker compose up --build, rồi mở localhost:3000/admin. Production bắt buộc 3 biến: DATABASE_URI, PAYLOAD_SECRET, PAYLOAD_PUBLIC_SERVER_URL.
Chuyển website WordPress sang KDIGI CMS được không?
Được. Pipeline nhập nhiều giai đoạn có cổng duyệt và sao lưu, giữ SEO và tự sinh redirect 301. Đọc trang chuyển từ WordPress để biết phạm vi và giới hạn trước khi bắt đầu.
KDIGI CMS khác WordPress thế nào?
KDIGI CMS chỉ cung cấp trang quản trị và API, không kèm theme; giao diện do frontend của bạn lo. Đổi lại, một bản cài quản lý nhiều site. Xem so sánh với WordPress.

kdigi-cms

KDIGI CMS là gì?

KDIGI CMS là trang quản trị và API (REST + GraphQL) mã nguồn mở để quản lý nội dung cho nhiều website trên một hệ thống. Website công khai của bạn đọc nội dung qua API; CMS lo soạn thảo, SEO, media và phân quyền.

KDIGI CMS có miễn phí không?

Có. KDIGI CMS là mã nguồn mở theo giấy phép MIT: bạn được dùng, sửa và triển khai cho dự án cá nhân hoặc thương mại. Bạn chỉ trả chi phí máy chủ của riêng mình.

Một bản cài quản lý được bao nhiêu website?

Nhiều website. Mỗi website là một Site với tên miền, thương hiệu, SEO mặc định, menu và nội dung riêng; người dùng được gán vào từng site. Thêm site mới không cần triển khai lại CMS.

Tôi dùng được CMS này với Next.js, Astro hay Nuxt không?

Được. KDIGI CMS là headless: frontend nào gọi được REST hoặc GraphQL đều dùng được. Khi nội dung đổi, CMS gọi webhook revalidate https://<domain>/api/cms/revalidate để frontend làm mới cache (ISR).

Làm sao chuyển dữ liệu từ WordPress sang?

Dùng pipeline chuyển WordPress có sẵn: tải archive, chuẩn hóa, rà soát và khóa dữ liệu, rồi nhập qua 8 giai đoạn. Chuyển được bài viết, trang, taxonomy, media, menu, tác giả, bình luận, SEO Yoast/RankMath và redirect. Xem bài hướng dẫn Chuyển từ WordPress sang KDIGI CMS.

Ảnh tải lên được lưu ở đâu?

Mặc định trên ổ đĩa của máy chủ (volume media_data khi chạy Docker), không cần tài khoản cloud. Nếu muốn, bạn bật Cloudflare R2 riêng cho từng site trong phần cài đặt Site.

KDIGI CMS hỗ trợ SEO như thế nào?

Mỗi bài viết và trang có tab SEO. CMS tạo dữ liệu có cấu trúc JSON-LD (@graph), hỗ trợ mẫu tiêu đề/mô tả kiểu RankMath, chấm điểm và kiểm tra SEO, gợi ý liên kết nội bộ và tạo redirect tự động khi đổi slug. Tạo nội dung SEO bằng AI là tùy chọn.

Triển khai KDIGI CMS cần những gì?

Một máy chủ chạy Docker (hoặc Node.js 20.9+ với PostgreSQL). docker compose up là chạy; repo có sẵn cấu hình cho Coolify. Chỉ cần ba biến: DATABASE_URI, PAYLOAD_SECRET và PAYLOAD_PUBLIC_SERVER_URL. Nhớ sao lưu cả database và thư mục media.

Tôi thử CMS này ở đâu?

Mở bản demo trực tiếp tại app.cms.kdigi.vn/admin và đăng nhập bằng tài khoản demo công khai (có trong README). Đây là môi trường dùng chung, nội dung site demo được đặt lại mỗi đêm nên đừng nhập dữ liệu thật.

Sẵn sàng gom các website về một chỗ?

Mở bản demo để xem trang quản trị, hoặc cài bản của riêng bạn trong vài phút.