Zinnector®

رابط خط فرمان توسعه‌دهنده برای میزبانی WordPress

Zinnector® بدون نیاز به نصب هیچ ابزاری به جز Node (بدون Docker، بدون MAMP)، نرم‌افزار WordPress را به صورت محلی اجرا می‌کند؛ سپس پیش از بارگذاری، آنچه ساخته‌اید را با فضای میزبانی که قصد انتشار روی آن را دارید مقایسه کرده و مواردی را که تطابق ندارند به شما اطلاع می‌دهد. می‌توانید آن را با دستور npm install -g zinnector نصب کنید. این ابزار رایگان است، مجوز MIT دارد و بر پایه همان API عمومی ساخته شده که سایر بخش‌های این سامانه از آن استفاده می‌کنند.

پنج دستور و دستور میانی هدف است

بیشتر رابط‌های خط فرمان هاستینگ از زمان استقرار شروع می‌شوند. Zinnector® پیش از آن آغاز می‌شود — سایت را همراه با شما می‌سازد، و سپس کار شما را با ماشینی که قرار است آن را به سمتش بفرستید تطبیق می‌دهد. فاصله‌ی بین «روی لپ‌تاپ من اجرا شد» و «روی سرور اجرا می‌شود» جایی است که بعدازظهرها تلف می‌شوند، و این فاصله قابل اندازه‌گیری است.

زینکتور جدید

یک وب‌سایت، افزونه یا پوسته بلوکی ایجاد کنید که بلافاصله راه‌اندازی شود. هیچ فایل جایگزین یا کار باقی‌مانده‌ای وجود ندارد — افزونه فعال می‌شود و پوسته در همان لحظه که ساخته می‌شود قابل انتخاب است.

توسعه zinnector

یک WordPress واقعی روی رایانه شما در چند ثانیه، در حال میزبانی از افزونه‌ها و پوسته‌های خودتان، بدون Docker و بدون PHP در PATH شما. هر نسخه‌ای از PHP را از ۵.۲ تا ۸.۵ برای توسعه انتخاب کنید.

بررسی زی‌نکتور

بازبینی پیش از انتشار. آنچه را که ساخته‌اید با اسلاتی که قصد انتشار روی آن را دارید مقایسه می‌کند و پیش از ارسال، هرگونه عدم تطابق و همچنین هر بررسی که انجام‌پذیر نبوده است را مشخص می‌کند.

ارسال زینکِکتور

پیش از پرواز، کارهای خود را ارسال کنید، استقرار را فعال کنید و تا اتمام آن را زیر نظر بگیرید. اگر با شکست مواجه شد، گزارش ساخت تنها یک دستور با شما فاصله دارد.

زینکتور هوش مصنوعی

از طریق ترمینال، با پروژه و وب‌سایت خود به عنوان زمینه، از دستیار سوال کنید. این ابزار روی پلتفرم و در ارتباط با حساب کاربری شما اجرا می‌شود، بنابراین هیچ کلید مدلی روی رایانه شما ذخیره نخواهد شد.

Test it works in two minutes, no account needed

Six commands, in order, and what success looks like at each one. Everything here runs on your own machine; an API key is only needed when you reach a hosting slot.

  1. Install it

    Run npm install -g zinnector on Node 24 or newer. If npm prints EBADENGINE, your Node is older than 24 — install the current LTS from nodejs.org and run the install again.

  2. Check the version

    zinnector --version prints a version number such as 0.1.2. On a Node older than 24 it prints a message saying Node 24 or newer is needed, and exits.

  3. Read the help

    zinnector --help lists every command below with a one-line purpose. Every command also takes --help of its own.

  4. Scaffold a site

    zinnector new my-site creates a project that boots immediately — a zinnector.json, a wp-content tree and a README — and prints the next commands to run.

  5. Run it

    cd my-site, then zinnector dev. The first run asks once to download the WordPress runtime (about 570 MB, kept in the CLI’s own cache, never in your project). Success looks like “running at http://127.0.0.1:9400”.

  6. Open it in a browser

    http://127.0.0.1:9400 is a fresh WordPress site; /wp-admin opens the dashboard already signed in. Drop a plugin into wp-content/plugins and it is there on the next reload.

  7. Then, with a hosting slot

    zinnector login, zinnector link, zinnector check, zinnector push — pre-flight what you built against the slot, then deploy and watch it finish.

جزئیات پیش از پرواز

شما روی PHP 8.3 برنامه‌نویسی کرده‌اید. این اسلات روی نسخه 8.1 اجرا می‌شود. هیچ‌چیز به شما هشدار نمی‌دهد تا زمانی که سایت سفید شود. این همان مشکلی است که این دستور برای آن وجود دارد و این همان چیزی است که مالک این پلتفرم به‌طور خاص درخواست کرده است. Zinnector® هر دو محیط را می‌خواند و آن‌ها را در کنار هم قرار می‌دهد — سپس به شما اجازه می‌دهد در هر صورت استقرار را انجام دهید، زیرا ممکن است دلیلی داشته باشید.

PHP، با ارزیابی منصفانه

شکاف نسخه اصلی به عنوان مهم نشانه‌گذاری می‌شود زیرا به‌طور مطمئن یک سایت را خراب می‌کند؛ شکاف جزئی با اهمیت پایین‌تر نشانه‌گذاری می‌شود. ارزیابی همه چیز به عنوان بحران‌زا تنها به افراد می‌آموزد که هشدار را نادیده بگیرند.

دیسک و تعداد فایل، به‌طور جداگانه

یک درخت فایل WordPress شامل ده ها هزار فایل کوچک است و یک سایت می تواند پیش از رسیدن به حد مجاز فضای دیسک خود، سهمیه inode خود را به پایان برساند. هر دوی این موارد بر اساس آنچه واقعاً در اسلات باقی مانده است بررسی می شوند، نه بر اساس پلن.

«بررسی امکان‌پذیر نبود» خودش یک پاسخ است

بررسی‌ای که نتواند موضوع خود را ببیند، گزارش «بررسی‌نشده» می‌دهد و هرگز قبول نمی‌شود. یک اجرای بدون خطا تعداد مواردی را که نتوانسته تأیید کند اعلام می‌کند، چرا که هیچ‌کس به یک اعلام وضعیت سبزِ کاذب دوباره نگاه نمی‌کند.

هشدار می‌دهد، هرگز مسدود نمی‌کند

هر نتیجه‌ای را می‌توان با --force نادیده گرفت و خلاصه نیز این موضوع را بیان می‌کند. در CI، کد خروج به عنوان دروازه عمل می‌کند، به‌طوری‌که یک پایپ‌لاین می‌تواند سخت‌گیرانه باشد در حالی که یک شخص کنترل را در دست دارد.

دو زمان اجرای محلی، هر دو واقعی

WordPress Playground پیش‌فرض است: PHP که به WebAssembly کامپایل شده و در داخل Node اجرا می‌شود، بنابراین یک لپ‌تاپ که چیزی جز Node روی آن نصب نشده است، از صفر تا اجرای کامل WordPress را تقریباً در همان زمانی طی می‌کند که خواندن این جمله طول می‌کشد.

هنگامی که به یک PHP بومی — یک افزونه مانند imagick، یک MySQL واقعی نیاز دارید، --runtime docker را ارسال کنید و در عوض کانتینرهای php-fpm و MariaDB را دریافت کنید. هر دو فایل‌ها را از همان پروژه سرویس‌دهی می‌کنند، بنابراین جابجایی بین آن‌ها فقط موتور را تغییر می‌دهد و چیز دیگری را تغییر نمی‌دهد.

هر کار دیگری که از قبل در پنل انجام می‌دهید

Zinnector® بر پایه همان API عمومی ساخته شده است که داشبورد از آن استفاده می‌کند، بنابراین هر کاری که پنل قادر به انجام آن باشد، این ابزار نیز می‌تواند انجام دهد — و هر دستور، یک عملیات دارای مستندات در مشخصات OpenAPI است و نه یک نقطه پایانی (endpoint) اختصاصی.

سایت‌ها و استقرارها

فهرست کردن سایت‌ها، خواندن تمام اطلاعات پلتفرم درباره یکی از آن‌ها، استقرار مجدد، و خواندن تاریخچه استقرار و گزارش‌های ساخت.

دامنه‌ها، دی‌ان‌اس و ایمیل

فهرست دامنه‌ها را مشاهده کنید، رکوردهای DNS را به همراه رکورد نمایش‌داده‌شده پیش از ثبت تغییر دهید و سرویس‌های ایمیل خود را بخوانید.

PHP، سهمیه، پایگاه داده و گزارش‌ها

نسخه‌های PHP را تغییر دهید، میزان مصرف دیسک و inode را با سهمیه طرح خود مقایسه کنید، پیوندهای یک‌بار مصرف برای ورود به phpMyAdmin دریافت کنید و گزارش‌های دسترسی و خطا را دنبال کنید.

WP-CLI و عملیات گروهی

دستورات WP-CLI مجاز را روی یک وب‌سایت اجرا کنید و به جای انجام این کار برای هر سایت به صورت جداگانه، حافظه‌های پنهان را پاک‌سازی کنید یا اسکن‌های بدافزار را برای کل انتخاب‌ها در یک فراخوانی آغاز نمایید.

Every command, exactly as --help lists it

The full list, one line each. The complete reference — every flag, a runnable example and what each command prints — is generated from the CLI itself and lives in the developer docs and the knowledge base, so it cannot drift from the tool you have installed.

zinnector new

Scaffold a WordPress project you can run immediately.

zinnector dev

Run this project locally — no Docker required.

zinnector login

Sign in with a Zinn Digital® API key.

zinnector logout

Forget a stored API key.

zinnector whoami

Show who this CLI is authenticated as.

zinnector sites

List the sites this key can see.

zinnector status

Everything the platform knows about one site.

zinnector share

Give one person access to a single site — a developer, a designer, a client — with a role and a reason.

zinnector collaborators

See who has been given access to a site, their role, and whether they have accepted yet.

zinnector unshare

Take a person's access back, by email or grant id.

zinnector invitations

The invitations waiting for you, and accept one.

zinnector link

Point this project at a hosting slot (and connect its repository).

zinnector pull

Pull a hosted site's files into this project for local development, and re-run to re-sync. Takes the fast path when the site syncs to its own repository, otherwise works from the latest backup.

zinnector clone

Make a local project from a hosted site in one step: clone its repository or pull its files, write the project file, and leave you ready to run zinnector dev.

zinnector check

Compare this project against the slot you are about to deploy to.

zinnector push

Pre-flight, push your commits, and deploy.

zinnector deploy

Redeploy what the platform already has, without pushing.

zinnector deploys

A site's deploy history.

zinnector php

Show or switch a site's PHP version.

zinnector quota

Disk, files and database usage against what the plan grants.

zinnector db

Database size, and single-use links into phpMyAdmin and the file manager.

zinnector logs

Tail a site's access and error logs.

zinnector wp

Run an allow-listed WP-CLI command on a site.

zinnector backup

List and take site backups. Subcommands: list, now.

zinnector domains

List the domains this key can see.

zinnector dns

Read and change DNS records. Subcommands: list, add, rm.

zinnector mail

List mail services.

zinnector bulk

Run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Ask the Zinn Digital® assistant, with this project as context.

پرسش‌ها

آیا برای استفاده از آن باید مشتری Zinn Digital® باشم؟

خیر. دستورهای `zinnector new` و `zinnector dev` اصلاً به هیچ حسابی نیاز ندارند — یک افزونه، یک پوسته یا کل یک سایت را داربست‌بندی کنید و آن را به صورت محلی، رایگان و برای همیشه اجرا کنید. کلید API فقط برای دستورهایی مورد نیاز است که با هاستینگ شما ارتباط برقرار می‌کنند.

آیا به داکر نیاز دارد؟

مناسب برای زمان‌بندی پیش‌فرض نیست. WordPress Playground پی‌اچ‌پی را به WebAssembly کامپایل کرده و درون Node اجرا می‌شود، بنابراین `zinnector dev` یک وردپرس واقعی را در چند ثانیه و بدون نیاز به نصب چیز دیگری راه‌اندازی می‌کند. اگر به یک پی‌اچ‌پی بومی نیاز دارید — برای آزمایش یک افزونه مانند imagick یا ionCube — گزینه `--runtime docker` کانتینرهای php-fpm و MariaDB را در اختیارتان می‌گذارد. از هر دو پشتیبانی می‌شود؛ هیچ‌کدام جایگزین دیگری نیستند.

بررسی پیش‌از پرواز در واقع چه چیزی را مقایسه می‌کند؟

نسخه PHP محلی شما در مقایسه با اسلات، اینکه آیا اسلات اصلا می‌تواند به نسخه‌ای که روی آن ساخته‌اید تغییر وضعیت دهد، اینکه آیا PHP اسلات از چرخه پشتیبانی خارج شده است یا خیر و آیا ماشین در واقع آن را اعمال کرده است، اندازه پروژه و تعداد فایل‌های شما در مقایسه با فضای دیسک و اینود باقی‌مانده، نسخه‌های WordPress در هر طرف، اینکه آیا اسلات راه‌اندازی را به پایان رسانده است یا خیر، و اینکه آیا یک مخزن git برای استقرار به آن متصل است یا خیر. هر چیزی که نتوانسته بررسی کند به عنوان بررسی‌نشده گزارش می‌شود تا اینکه به عنوان موفقیت محاسبه شود.

آیا می‌تواند مانع از استقرار من شود؟

نه، و این عمدی است. بررسی پیش‌پرواز هشدار می‌دهد و اجازه عبور می‌دهد — `--force` فراتر از هر یافته‌ای استقرار پیدا می‌کند. شما چیزهایی درباره سایت خود می‌دانید که یک ابزار بررسی نمی‌داند، و ابزاری که از استقرار سر باز بزند، ابزاری است که کاربران آن را حذف نصب می‌کنند.

آیا کلید API من امن است؟

کلید هرگز از خط فرمان خوانده نمی‌شود — بلکه فقط از طریق یک اعلان (prompt) یا ورودی لوله‌کشی‌شده (stdin) خوانده می‌شود — بنابراین نمی‌تواند در تاریخچه پوسته (shell history) یا در فهرست پردازش‌ها قرار گیرد. این کلید در پوشه تنظیمات خود شما با حالت فایل ۶۰۰ ذخیره می‌شود و Zinnector® هر بار که می‌نویسد، آن دسترسی‌ها را مجدداً اعمال می‌کند.

آیا می‌توانم از آن در CI استفاده کنم؟

بله. `ZINNECTOR_TOKEN` را تنظیم کنید، و هر دستور `--json` را می‌پذیرد. خروجی انسانی به stderr و داده‌ها به stdout می‌روند، بنابراین پایپ‌ها تمیز می‌مانند. `zinnector check` هنگامی که چیزی پیدا می‌کند با کدی غیرصفر خارج می‌شود، بنابراین به عنوان یک دروازه پایپ‌لاین کار می‌کند، و `--strict` نیز وقتی مقایسه‌ای انجام نمی‌شود با خطا مواجه می‌شود.

آن را نصب کنید و در دقیقه بعدی یک وب‌سایت را راه‌اندازی کنید

دستur `npm install -g zinnector` را اجرا کنید یا آن را یک بار با `npx zinnector new my-site` امتحان کنید. رایگان، دارای مجوز MIT و ساخته شده بر روی API عمومی. یک پروژه داربست‌بندی کنید، آن را به صورت محلی و بدون Docker اجرا کنید و قبل از مستخرف‌سازی، آن را پیش‌پرواز (ارزیابی اولیه) کنید.

مطالعه اسناد