Hosting AI Skills
Bộ skill và CLI mã nguồn mở giúp Claude Code, Codex thao tác hosting cPanel qua UAPI/API2, bao gồm deploy, database, domain, DNS, email, SSL, backup và WordPress.
Xem thêm từ README.mdThu gọn README.md
Đánh giá chi tiết
Tổng quan
Hosting AI Skills là bộ skill và command-line toolkit do AZDIGI phát triển để AI coding agent thao tác trực tiếp trên gói hosting cPanel. Thay vì yêu cầu Claude Code hoặc Codex tự ghép lệnh curl, nhớ endpoint UAPI và xử lý từng kiểu response, dự án cung cấp một engine thống nhất mang tên cpanel, sau đó đặt các skill chuyên môn ở phía trên để agent biết nên gọi lệnh nào, kiểm tra gì trước và lúc nào phải yêu cầu người dùng xác nhận.
Phạm vi của dự án khá sát công việc vận hành hosting thực tế: tạo database và user MySQL, quản lý domain/DNS/email/SSL/FTP, đọc log, theo dõi quota, tạo backup, deploy WordPress/Laravel/static site, cấu hình Node.js, thao tác cron và chạy WP-CLI mà không cần SSH vào tài khoản hosting. Phiên bản hiện tại tập trung vào cPanel thông qua UAPI hiện đại và API2 cho một số chức năng cũ; DirectAdmin mới chỉ nằm trong định hướng marketplace, chưa được triển khai.
Repo được đóng gói đồng thời theo hai cách. Với Claude Code, đây là plugin marketplace có 14 skill tự khám phá theo ngữ cảnh. Với Codex hoặc agent tương thích, file AGENTS.md mô tả cùng workflow và trỏ về chung engine bin/cpanel. Cách tách “hướng dẫn cho agent” khỏi “lớp thực thi API” là một lựa chọn hợp lý: logic xác thực, escape dữ liệu, dry-run và confirmation gate chỉ cần được sửa ở một nơi.
Tính năng chính
- Quản lý MySQL database, user, password, privilege và Remote MySQL; tự nhận biết prefix bắt buộc của tài khoản cPanel.
- Liệt kê, tạo addon domain/subdomain; quản lý bản ghi DNS A, CNAME, MX, TXT và trạng thái DNSSEC.
- Tạo, đổi quota/mật khẩu, xóa hộp thư và forwarder; kiểm tra email deliverability, ghi SPF và bật DKIM.
- Liệt kê SSL, kiểm tra/kích hoạt AutoSSL, cài certificate thủ công.
- Đọc error log, đọc/ghi/upload/move/extract file, tạo thư mục, chmod và xóa file có kiểm soát.
- Deploy WordPress, Laravel hoặc static site; clone Git repository và tạo ứng dụng Node.js qua tính năng Passenger của cPanel.
- Quản lý WordPress core, plugin và theme bằng WP-CLI được chạy gián tiếp trên hosting, không yêu cầu quyền SSH.
- Theo dõi disk, bandwidth, inode, MySQL quota và CloudLinux LVE khi server cung cấp module tương ứng.
- Tạo full backup về home hoặc FTP, cùng các thao tác FTP, redirect và cron.
- Escape hatch
cpanel uapivàcpanel api2để gọi chức năng cPanel chưa có wrapper riêng. - Plugin marketplace cho Claude Code và
AGENTS.mddành cho Codex, cùng dùng một CLI nên không tạo hai implementation lệch nhau.
Stack kỹ thuật
Hosting AI Skills được viết chủ yếu bằng Bash. Engine dùng curl để gọi cPanel UAPI/API2 và jq để dựng, parse, format JSON. Cấu hình yêu cầu CPANEL_HOST, CPANEL_USER và CPANEL_API_TOKEN; mỗi website có thể dùng .env riêng, hoặc chỉ định file bằng CPANEL_ENV_FILE. Token được đưa vào file cấu hình tạm của curl với mode 600 thay vì xuất hiện trong tham số -H, giúp giảm nguy cơ lộ credential qua danh sách process trên máy dùng chung.
Project có CI trên GitHub Actions chạy bash -n, ShellCheck ở mức warning và 32 test Bats không gọi mạng. Bộ test bao phủ confirmation gate, dry-run, MySQL prefix, lỗi API, command/JSON injection, DNSSEC, PHP, SPF/DKIM, security status và nhiều đường dẫn Bash 3. Latest CI trên commit hiện tại đã pass. Tuy vậy, đây chủ yếu là test với API mock; nó chưa thay thế cho integration test trên nhiều phiên bản cPanel hoặc nhiều cấu hình nhà cung cấp hosting.
Điểm mạnh
- Đúng bài toán hosting shared: nhiều AI tool giả định có SSH/root, trong khi khách hàng hosting phổ thông thường chỉ có cPanel và API token. Toolkit lấp đúng khoảng trống này.
- Safety không chỉ nằm trong prompt: các thao tác xóa hoặc thay đổi có ảnh hưởng như xóa database/file/DNS, đổi PHP, bật DNSSEC hay mở Remote MySQL đi qua confirmation gate trong engine. Khi chạy non-interactive, lệnh dừng nếu không có
--yes;--dry-runcho phép xem ý định trước. - Credential handling được cân nhắc: token không nằm trong command line của curl, file cấu hình tạm có quyền 600 và được dọn sau request. Việc tách
.envtheo từng website cũng giảm nguy cơ agent thao tác nhầm tài khoản khách hàng. - Output JSON phù hợp automation: dữ liệu ở stdout, log ở stderr và
jqđược yêu cầu rõ ràng. Agent hoặc script CI có thể phân tích kết quả thay vì dựa vào text giao diện cPanel. - Kiến trúc dễ mở rộng: wrapper mới có thể bổ sung vào Bash library, còn skill mới chỉ cần mô tả workflow và guardrail. Escape hatch giúp xử lý endpoint hiếm mà không phải chờ một release mới.
- Có hardening thực tế: changelog ghi nhận việc vá command injection ở WP-CLI, JSON injection khi clone Git, cleanup thư mục tạm và kiểm tra download WP-CLI. Những phần này cũng có regression test tương ứng.
- Tài liệu bằng tiếng Việt: với nhóm vận hành hosting trong nước, README, skill và thông báo lỗi tiếng Việt giúp onboarding dễ hơn đáng kể.
Hạn chế
- Dự án mới ở phiên bản
0.1.0, repo chỉ có một contributor chính, chưa có GitHub Release và mức độ sử dụng công khai còn nhỏ. Nên xem đây là toolkit beta cần pilot trên tài khoản test trước khi dùng với hosting khách hàng. - Hiện chỉ hỗ trợ cPanel. DirectAdmin được nhắc đến trong marketplace description nhưng chưa có engine hay skill tương ứng.
- cPanel không đồng nhất giữa các nhà cung cấp. Một số module UAPI/API2, AutoSSL, Passenger, DNSSEC, Remote MySQL, CloudLinux LVE hoặc feature email có thể bị tắt hay khác phiên bản. Test mock không thể phát hiện hết sai khác runtime này.
- Quản lý PHP cố ý chỉ chấp nhận
alt-php*của CloudLinux và từ chốiea-php*; đây là chính sách an toàn cho môi trường mục tiêu của tác giả nhưng không áp dụng cho mọi server cPanel. - Escape hatch
uapi/api2không đi qua confirmation gate cấp lệnh. Agent có thể gọi API ghi/xóa trực tiếp nếu hướng dẫn không chặt, vì vậy người dùng vẫn phải giới hạn quyền token và review thao tác thô. --yesvàCPANEL_ASSUME_YESlà capability mạnh. Nếu được bật mặc định trong môi trường agent tự trị, lớp bảo vệ non-interactive gần như bị vô hiệu hóa.- Credential cPanel mang quyền của tài khoản hosting. Dù token handling tốt hơn việc đưa token vào CLI, việc giao quyền này cho agent vẫn cần máy làm việc tin cậy,
.envmode phù hợp,.gitignore, token riêng và quy trình thu hồi. - Một số workflow WordPress chạy WP-CLI thông qua cron một lần và polling, nên có độ trễ và phụ thuộc scheduler của hosting; không đơn giản như chạy trực tiếp qua SSH.
Phù hợp khi nào
Hosting AI Skills phù hợp với developer, đơn vị làm website hoặc đội hỗ trợ hosting muốn Claude Code/Codex xử lý tác vụ lặp lại trên tài khoản cPanel mà không cấp SSH/root. Nó đặc biệt hữu ích cho quy trình deploy website nhỏ, chẩn đoán lỗi, tạo database/domain/email, kiểm tra quota, cập nhật WordPress và chuẩn hóa cách agent tương tác với nhiều gói hosting.
Dự án cũng là một reference đáng xem cho người xây agent tool có side effect: phần confirmation gate, dry-run, tách stdout/stderr và token-via-curl-config thể hiện nhiều quyết định vận hành đúng hướng. Tuy nhiên, trước khi dùng cho production hàng loạt, nên thử trên tài khoản cPanel disposable, xác minh từng module do nhà cung cấp bật, giới hạn API token theo nguyên tắc tối thiểu và không dùng escape hatch cho thao tác phá hủy nếu chưa có xác nhận rõ ràng.