Zinnector®

CLI dành cho nhà phát triển cho dịch vụ lưu trữ WordPress

Zinnector® xây dựng WordPress cục bộ mà không cần cài đặt gì ngoài Node — không Docker, không MAMP — sau đó kiểm tra những gì bạn đã xây dựng với vị trí lưu trữ mà bạn sắp triển khai và cho bạn biết những gì sẽ không khớp, trước khi bạn push. Cài đặt nó bằng npm install -g zinnector. Nó miễn phí, được cấp phép theo MIT và được xây dựng trên cùng một API công khai như mọi thứ khác ở đây.

Trình soạn thảo mã trong trình duyệt, có cây thư mục tệp bên cạnh tệp đang mở và con trỏ bên trong.

Năm lệnh, và lệnh ở giữa là điểm mấu chốt

Hầu hết các CLI lưu trữ web đều bắt đầu từ bước triển khai (deploy). Zinnector® bắt đầu trước đó — công cụ này cùng quý vị xây dựng trang web, sau đó kiểm tra công việc của quý vị với máy chủ mà quý vị chuẩn bị gửi đến. Khoảng cách giữa "nó đã chạy trên máy tính xách tay của tôi" và "nó chạy trên máy chủ" chính là nơi tiêu tốn hàng buổi chiều, và khoảng cách đó hoàn toàn có thể đo lường được.

zinnector mới

Tạo khung cho một trang web, một plugin hoặc một chủ đề khối có thể khởi động ngay lập tức. Không có tệp giữ chỗ, không có TODO — plugin sẽ kích hoạt và chủ đề có thể được chọn ngay khi nó vừa tồn tại.

zinnector dev

Một bản WordPress thực sự trên máy của quý vị chỉ trong vài giây, phục vụ các plugin và giao diện của riêng quý vị, không cần Docker và không có PHP trong PATH. Hãy chọn bất kỳ phiên bản PHP nào từ 5.2 đến 8.5 để phát triển.

kiểm tra zinnector

Kiểm tra trước khi triển khai. So sánh những gì bạn đã xây dựng với vị trí (slot) bạn sắp triển khai và nêu tên mọi điểm không khớp — cũng như mọi bước kiểm tra chưa thể thực hiện — trước khi bạn đẩy (push) lên.

Đẩy zinnector

Thực hiện kiểm tra sơ bộ, đẩy các xác nhận của bạn, kích hoạt quá trình triển khai và theo dõi cho đến khi hoàn tất. Nếu thất bại, nhật ký bản dựng chỉ cách bạn một lệnh duy nhất.

zinnector ai

Hãy hỏi trợ lý từ terminal, với dự án và trang web của quý vị làm ngữ cảnh. Tính năng này chạy trên nền tảng bằng chính tài khoản của quý vị, vì vậy không có khóa mô hình nào được lưu trữ trên máy của quý vị.

Kiểm tra hoạt động trong hai phút, không cần tài khoản

Sáu lệnh theo thứ tự và kết quả thành công tương ứng ở mỗi lệnh. Mọi thứ ở đây đều chạy trên máy của riêng bạn; chỉ cần khóa API khi bạn chuyển sang vùng lưu trữ hosting.

  1. Cài đặt

    Chạy npm install -g zinnector trên Node 24 hoặc mới hơn. Nếu npm in ra EBADENGINE, phiên bản Node của bạn cũ hơn 24 — hãy cài đặt bản LTS hiện tại từ nodejs.org và chạy lại quá trình cài đặt.

  2. Kiểm tra phiên bản

    zinnector --version in ra số phiên bản chẳng hạn như 0.1.2. Trên Node cũ hơn 24, lệnh sẽ in thông báo rằng cần có Node 24 trở lên, rồi thoát.

  3. Đọc trợ giúp

    zinnector --help liệt kê từng lệnh bên dưới kèm theo mục đích trong một dòng. Mỗi lệnh cũng chấp nhận tùy chọn --help riêng của nó.

  4. Tạo khung trang web

    zinnector new my-site tạo một dự án khởi động ngay lập tức — gồm tệp zinnector.json, cây thư mục wp-content và tệp README — đồng thời in ra các lệnh tiếp theo cần chạy.

  5. Chạy

    cd my-site, sau đó zinnector dev. Lần chạy đầu tiên sẽ yêu cầu tải xuống môi trường thực thi WordPress một lần (khoảng 570 MB, được lưu trong bộ nhớ đệm riêng của CLI, không bao giờ nằm trong dự án của quý vị). Khi thành công sẽ có dạng “running at http://127.0.0.1:9400”.

  6. Mở trong trình duyệt

    http://127.0.0.1:9400 là một trang WordPress mới; /wp-admin mở bảng điều khiển đã được đăng nhập sẵn. Hãy thả một plugin vào wp-content/plugins và nó sẽ xuất hiện ở đó trong lần tải lại tiếp theo.

  7. Sau đó, với một vị trí lưu trữ

    zinnector login, zinnector link, zinnector check, zinnector push — kiểm tra trước những gì bạn đã tạo so với slot, sau đó triển khai và theo dõi quá trình hoàn tất.

Kiểm tra sơ bộ, chi tiết

Quý vị đã xây dựng trên PHP 8.3. Khe này chạy 8.1. Không có gì thông báo cho quý vị cho đến khi trang web chuyển sang màn hình trắng. Đó là vấn đề mà lệnh này được tạo ra để giải quyết, và đó chính là điều mà chủ sở hữu nền tảng này đã đích danh yêu cầu. Zinnector® đọc cả hai môi trường và đặt chúng cạnh nhau — sau đó vẫn cho phép quý vị triển khai, vì quý vị có thể có lý do của mình.

PHP, được đánh giá trung thực

Khoảng cách giữa các phiên bản chính được gắn cờ ở mức cao vì nó chắc chắn sẽ làm hỏng trang web; khoảng cách nhỏ được gắn cờ ở mức thấp hơn. Việc xếp hạng mọi thứ đều ở mức nghiêm trọng chỉ khiến mọi người bỏ qua cảnh báo.

Số lượng đĩa và tệp, riêng biệt

Cây thư mục WordPress chứa hàng chục nghìn tệp nhỏ, và một trang web có thể cạn kiệt giới hạn inode trong khi vẫn còn cách rất xa giới hạn dung lượng đĩa. Cả hai đều được kiểm tra dựa trên dung lượng thực tế còn lại trong vị trí lưu trữ, chứ không phải dựa trên gói dịch vụ.

“Không thể kiểm tra” tự nó là một câu trả lời

Một bước kiểm tra không thể thấy đối tượng của nó sẽ báo cáo là chưa kiểm tra, chứ không bao giờ là đã vượt qua. Một lần chạy suôn sẻ sẽ cho biết có bao nhiêu mục nó không thể xác minh, bởi vì trạng thái an toàn giả tạo chính là điều mà không ai buồn xem lại lần thứ hai.

Cảnh báo, không bao giờ chặn

Mọi kết quả phát hiện đều có thể được ghi đè bằng --force, và phần tóm tắt cũng nêu rõ điều đó. Thay vào đó, trong CI, mã thoát đóng vai trò là cổng chặn, nhờ đó đường ống có thể nghiêm ngặt trong khi con người vẫn nắm quyền kiểm soát.

Hai môi trường thực thi cục bộ, cả hai đều là thật

WordPress Playground là mặc định: PHP được biên dịch sang WebAssembly, chạy bên trong Node, vì vậy một máy tính xách tay chỉ cài đặt Node sẽ chuyển từ con số không sang một WordPress đang hoạt động trong khoảng thời gian đọc câu này.

Khi quý khách cần một PHP gốc — một tiện ích mở rộng như imagick, một MySQL thực sự — hãy truyền --runtime docker và nhận các bộ chứa php-fpm và MariaDB để thay thế. Cả hai đều cung cấp cùng các tệp từ cùng một dự án, vì vậy việc chuyển đổi giữa chúng chỉ thay đổi công cụ và không có gì khác.

Mọi thứ khác mà quý khách đã thực hiện trong bảng điều khiển

Zinnector® được xây dựng trên cùng một API công khai như bảng điều khiển, vì vậy bất kỳ điều gì bảng điều khiển có thể làm thì nó cũng có thể làm — và mọi lệnh đều là một thao tác được ghi chép tài liệu trong đặc tả OpenAPI thay vì là một điểm cuối riêng tư.

Trang web và triển khai

Liệt kê các trang web, đọc mọi thông tin mà nền tảng biết về một trang web, triển khai lại, đồng thời đọc lịch sử triển khai và nhật ký bản dựng.

Miền, DNS và thư

Liệt kê miền, đọc và thay đổi bản ghi DNS với bản ghi được hiển thị trước khi ghi, và đọc các dịch vụ thư của bạn.

PHP, hạn ngạch, cơ sở dữ liệu và nhật ký

Chuyển đổi các phiên bản PHP, kiểm tra mức sử dụng dung lượng đĩa và inode so với giới hạn gói của bạn, nhận liên kết sử dụng một lần để truy cập vào phpMyAdmin, đồng thời theo dõi nhật ký truy cập và lỗi trong thời gian thực.

WP-CLI và thao tác hàng loạt

Chạy các lệnh WP-CLI trong danh sách cho phép đối với một trang web, đồng thời xóa bộ nhớ đệm hoặc bắt đầu quét phần mềm độc hại trên toàn bộ lựa chọn chỉ trong một lệnh gọi thay vì từng trang riêng lẻ.

Mọi lệnh, chính xác như danh sách của --help

Danh sách đầy đủ, mỗi mục một dòng. Tài liệu tham khảo hoàn chỉnh — mọi cờ, ví dụ có thể thực thi và nội dung mỗi lệnh in ra — được tạo từ chính CLI và nằm trong tài liệu dành cho nhà phát triển cũng như cơ sở kiến thức, vì vậy nó không thể sai lệch so với công cụ mà quý vị đã cài đặt.

zinnector mới

Tạo khung dự án WordPress mà bạn có thể chạy ngay lập tức.

zinnector dev

Chạy dự án này cục bộ — không yêu cầu Docker.

Đăng nhập zinnector

Đăng nhập bằng khóa API của Zinn Digital®.

Đăng xuất zinnector

Quên khóa API đã lưu.

zinnector whoami

Hiển thị danh tính đã xác thực của CLI này.

các trang zinnector

Liệt kê các trang web mà khóa này có thể thấy.

Trạng thái zinnector

Mọi thứ mà nền tảng biết về một trang web.

chia sẻ zinnector

Cấp quyền truy cập cho một người vào một trang web duy nhất — nhà phát triển, nhà thiết kế, khách hàng — kèm theo vai trò và lý do.

cộng tác viên zinnector

Xem ai đã được cấp quyền truy cập vào trang web, vai trò của họ và họ đã chấp nhận hay chưa.

Hủy chia sẻ zinnector

Thu hồi quyền truy cập của một người, qua email hoặc ID cấp quyền.

lời mời zinnector

Lời mời đang chờ bạn, và chấp nhận một lời mời.

liên kết zinnector

Trỏ dự án này vào một vị trí lưu trữ (và kết nối kho lưu trữ của nó).

zinnector pull

Kéo các tệp của trang web được lưu trữ vào dự án này để phát triển cục bộ và chạy lại để đồng bộ hóa lại. Sử dụng đường dẫn nhanh khi trang web đồng bộ hóa với kho lưu trữ riêng của nó, nếu không sẽ hoạt động từ bản sao lưu mới nhất.

Đồng bộ hóa zinnector

Đồng bộ hai chiều giữa các tệp đang hoạt động của trang web được lưu trữ và kho lưu trữ của nó: xem trạng thái hiện tại, bật tính năng này, cam kết các thay đổi của trang web hoặc chọn bên được ưu tiên.

zinnector mcp

Một cầu nối tới máy chủ MCP của Zinn Digital® dành cho Claude Desktop và các ứng dụng AI khác chỉ khởi chạy máy chủ cục bộ.

nhân bản zinnector

Tạo một dự án cục bộ từ trang web được lưu trữ chỉ trong một bước: sao chép kho lưu trữ hoặc kéo các tệp của trang web đó, ghi tệp dự án và giúp bạn sẵn sàng chạy zinnector dev.

kiểm tra zinnector

So sánh dự án này với vị trí bạn sắp triển khai.

zinnector push

Kiểm tra trước khi chạy, đẩy các xác nhận của quý vị và triển khai.

Triển khai zinnector

Triển khai lại những gì nền tảng đã có mà không cần đẩy lên.

zinnector đang triển khai

Lịch sử triển khai của một trang web.

zinnector php

Hiển thị hoặc chuyển đổi phiên bản PHP của trang web.

hạn mức zinnector

Mức sử dụng ổ đĩa, tệp và cơ sở dữ liệu so với dung lượng gói cung cấp.

zinnector db

Dung lượng cơ sở dữ liệu và các liên kết dùng một lần vào phpMyAdmin và trình quản lý tệp.

nhật ký zinnector

Theo dõi nhật ký truy cập và lỗi của trang web theo thời gian thực.

zinnector wp

Chạy lệnh WP-CLI nằm trong danh sách cho phép trên một trang web.

Sao lưu zinnector

Liệt kê và tạo các bản sao lưu trang web. Các lệnh phụ: list, now.

tên miền zinnector

Liệt kê các miền mà khóa này có thể thấy.

zinnector dns

Đọc và thay đổi các bản ghi DNS. Lệnh phụ: list, add, rm.

zinnector mail

Liệt kê các dịch vụ thư.

zinnector hàng loạt

Chạy một thao tác trên nhiều trang web (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Hãy hỏi trợ lý Zinn Digital®, với dự án này làm ngữ cảnh.

Câu hỏi

Tôi có cần phải là khách hàng của Zinn Digital® để sử dụng không?

Không. `zinnector new` và `zinnector dev` hoàn toàn không cần tài khoản — tạo khung cho một plugin, giao diện hoặc toàn bộ trang web và chạy cục bộ, miễn phí, mãi mãi. Khóa API chỉ cần thiết cho các lệnh giao tiếp với dịch vụ lưu trữ của bạn.

Có cần Docker không?

Không dành cho môi trường thực thi mặc định. WordPress Playground biên dịch PHP sang WebAssembly và chạy bên trong Node, vì vậy `zinnector dev` khởi động một WordPress thực sự trong vài giây mà không cần cài đặt thêm bất kỳ thứ gì khác. Nếu quý khách cần PHP gốc — để thử nghiệm một tiện ích mở rộng như imagick hoặc ionCube — thì `--runtime docker` sẽ cung cấp cho quý khách các vùng chứa php-fpm và MariaDB. Cả hai đều được hỗ trợ; không có lựa chọn nào chỉ là giải pháp dự phòng.

Quá trình kiểm tra trước khi chạy thực sự so sánh những gì?

Phiên bản PHP cục bộ của bạn so với phiên bản của vị trí (slot), liệu vị trí có thể chuyển sang phiên bản bạn đã dùng để xây dựng hay không, liệu PHP của vị trí đã hết vòng đời hỗ trợ chưa và liệu máy chủ đã thực sự áp dụng nó chưa, kích thước cùng số lượng tệp của dự án so với dung lượng đĩa và inode còn lại, các phiên bản WordPress ở mỗi bên, liệu vị trí đã hoàn tất quá trình cấp phát chưa, và liệu kho lưu trữ git đã được kết nối để triển khai hay chưa. Bất cứ điều gì hệ thống không thể kiểm tra sẽ được báo cáo là chưa kiểm tra thay vì tính là đã đạt.

Nó có thể ngăn tôi triển khai không?

Không, và điều đó là có chủ ý. Pre-flight cảnh báo và cho phép quý vị tiếp tục — `--force` sẽ triển khai bỏ qua mọi phát hiện. Quý vị hiểu rõ những điều về trang web của mình mà công cụ kiểm tra không biết, và một công cụ từ chối triển khai là công cụ mà mọi người sẽ gỡ cài đặt.

Khóa API của tôi có an toàn không?

Khóa không bao giờ được đọc từ dòng lệnh — chỉ từ lời nhắc hoặc stdin được chuyển tiếp — do đó khóa không thể xuất hiện trong lịch sử shell hoặc trong danh sách tiến trình của quý khách. Khóa được lưu trữ trong thư mục cấu hình của riêng quý khách với chế độ tệp 600 và Zinnector® sẽ xác nhận lại các quyền đó mỗi khi ghi dữ liệu.

Tôi có thể sử dụng nó trong CI không?

Có. Hãy thiết lập `ZINNECTOR_TOKEN`, và mọi lệnh đều nhận `--json`. Đầu ra cho con người đọc sẽ chuyển đến stderr và dữ liệu sẽ chuyển đến stdout, do đó các đường ống (pipes) luôn sạch sẽ. `zinnector check` sẽ thoát với mã khác 0 khi tìm thấy điều gì đó, vì vậy nó hoạt động như một cổng pipeline, và `--strict` cũng sẽ thất bại khi không thể thực hiện so sánh.

Hãy cài đặt và vận hành trang web trong vòng một phút tới

Chạy npm install -g zinnector hoặc dùng thử một lần với npx zinnector new my-site. Miễn phí, được cấp phép MIT và xây dựng trên API công khai. Khởi tạo cấu trúc dự án, chạy cục bộ mà không cần Docker và kiểm tra trước khi bạn triển khai.

Đọc tài liệu