Zinnector®

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

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

یک ویرایشگر کد در مرورگر، همراه با یک درخت فایل در کنار یک فایل باز و نشانگری در آن.

پنج دستور، و دستور میانی نکته اصلی است

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

زینکتور جدید

ساختار یک سایت، افزونه یا قالب بلوکی را ایجاد کنید که فوراً راه‌اندازی می‌شود. بدون فایل‌های نگه‌دارنده مکان، بدون TODOها — افزونه فعال می‌شود و قالب به محض ایجاد شدن قابل انتخاب است.

zinnector dev

یک WordPress واقعی ظرف چند ثانیه روی رایانه شما، جهت ارائه افزونه‌ها و پوسته‌های خودتان، بدون نیاز به Docker و بدون PHP در PATH شما. هر نسخه‌ای از PHP را از 5.2 تا 8.5 برای توسعه انتخاب کنید.

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

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

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

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

zinnector ai

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

کارکرد آن را ظرف دو دقیقه آزمایش کنید، بدون نیاز به حساب کاربری

شش دستور، به ترتیب، و نحوه مشاهده وضعیت موفقیت در هر یک. همه چیز در اینجا روی دستگاه خود شما اجرا می‌شود؛ کلید API تنها زمانی مورد نیاز است که به یک اسلات میزبانی برسید.

  1. نصب آن

    دستور npm install -g zinnector را روی Node نسخه ۲۴ یا جدیدتر اجرا کنید. اگر npm خطای EBADENGINE را چاپ کرد، نسخه Node شما قدیمی‌تر از ۲۴ است — نسخه فعلی LTS را از nodejs.org نصب کرده و نصب را دوباره اجرا کنید.

  2. بررسی نسخه

    دستور zinnector --version شماره نسخه‌ای مانند 0.1.2 را چاپ می‌کند. در نسخه Node قدیمی‌تر از 24 پیامی مبنی بر نیاز به Node 24 یا جدیدتر چاپ می‌کند و خارج می‌شود.

  3. راهنما را بخوانید

    دستور zinnector --help هر دستور را در زیر به همراه یک خط توضیح درباره کاربرد آن فهرست می‌کند. هر دستور همچنین گزینه --help اختصاصی خود را می‌پذیرد.

  4. ایجاد ساختار اولیه سایت

    دستور zinnector new my-site پروژه‌ای ایجاد می‌کند که بلافاصله راه‌اندازی می‌شود — یک zinnector.json، یک ساختار درختی wp-content و یک README — و دستورات بعدی را برای اجرا چاپ می‌کند.

  5. اجرا کردن

    دستور cd my-site، سپس zinnector dev. اولین اجرا یک‌بار درخواست بارگیری محیط زمان اجرای WordPress را ارائه می‌دهد (حدود 570 مگابایت، در حافظهٔ پنهان خود CLI نگهداری می‌شود، هرگز در پروژهٔ شما ذخیره نمی‌شود). پیام موفقیت شبیه به «running at http://127.0.0.1:9400» است.

  6. آن را در یک مرورگر باز کنید

    نشانی http://127.0.0.1:9400 یک سایت تازه WordPress است؛ نشانی /wp-admin پیشخوان را در حالت از پیش وارد شده باز می‌کند. یک افزونه را در wp-content/plugins قرار دهید و در بازنشانی بعدی در آنجا خواهد بود.

  7. سپس، با یک جایگاه میزبانی

    zinnector login، zinnector link، zinnector check، zinnector push — آنچه ساخته‌اید را پیش از اجرا در برابر اسلات بررسی کنید، سپس مستقر سازید و پایان آن را مشاهده نمایید.

بررسی اولیه، با جزئیات

شما روی 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 است.

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

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

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

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

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

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

WP-CLI و عملیات دسته‌جمعی

دستورهای مجاز WP-CLI را روی یک سایت اجرا کنید و حافظه‌های پنهان را پاک کرده یا اسکن بدافزار را برای کل موارد انتخابی در یک فراخوانی به‌جای یکی برای هر سایت شروع نمایید.

هر دستور، دقیقاً همان‌طور که --help فهرست می‌کند

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

zinnector جدید

چارچوب یک پروژه WordPress را بسازید که بتوانید فوراً آن را اجرا کنید.

zinnector dev

این پروژه را به صورت محلی اجرا کنید — نیازی به Docker نیست.

ورود به زینکتور

با یک کلید API شرکت Zinn Digital® وارد شوید.

خروج از Zinnector®

فراموش کردن یک کلید API ذخیره‌شده.

zinnector whoami

نشان دادن اینکه این CLI با هویت چه کسی احراز هویت شده است.

سایت‌های zinnector

سایت‌هایی را که این کلید می‌تواند ببیند، فهرست کنید.

وضعیت zinnector

همه آنچه پلتفرم درباره یک سایت می‌داند.

اشتراک zinnector

به یک نفر دسترسی به یک سایت بدهید — یک توسعه‌دهنده، یک طراح، یک مشتری — همراه با یک نقش و یک دلیل.

همکاران zinnector

ببینید چه کسی به یک سایت دسترسی پیدا کرده است، نقش او چیست و آیا تاکنون پذیرفته است یا خیر.

لغو اشتراک zinnector

لغو دسترسی یک فرد، از طریق ایمیل یا شناسه اعطا.

دعوت‌نامه‌های zinnector

دعوت‌نامه‌هایی که در انتظار شما هستند، و یکی را بپذیرید.

پیوند zinnector

این پروژه را به یک اسلات میزبانی هدایت کنید (و مخزن آن را متصل نمایید).

zinnector pull

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

همگام‌سازی zinnector

همگام‌سازی دوطرفه بین فایل‌های زنده یک سایت میزبانی‌شده و مخزن آن: وضعیت را مشاهده کنید، آن را فعال نمایید، تغییرات سایت را ثبت (commit) کنید، یا مشخص کنید کدام سمت اولویت دارد.

زینکتور ام‌سی‌پی

یک پل ارتباطی به سرور MCP متعلق به Zinn Digital® برای Claude Desktop و سایر کلاینت‌های AI که فقط سرورهای محلی را راه‌اندازی می‌کنند.

شبیه‌سازی zinnector

از یک سایت میزبانی‌شده در یک مرحله یک پروژه محلی بسازید: مخزن آن را کلون کنید یا فایل‌هایش را دریافت کنید، فایل پروژه را بنویسید و آماده اجرای zinnector dev شوید.

بررسی zinnector

این پروژه را با اسلاتی که قصد استقرار در آن را دارید مقایسه کنید.

zinnector push

بررسی اولیه را انجام دهید، تغییرات خود را ارسال کنید و مستقر نمایید.

استقرار zinnector

آنچه را که بستر از قبل دارد، بدون ارسال مجدد مستقر کنید.

استقرار zinnector

تاریخچه استقرار یک سایت.

zinnector php

نمایش یا تغییر نسخه PHP یک سایت.

سهمیه zinnector

میزان استفاده از دیسک، فایل‌ها و پایگاه داده در مقایسه با سهمیه طرح.

zinnector db

اندازه پایگاه داده، و پیوندهای یک‌بارمصرف به phpMyAdmin و مدیریت فایل.

گزارش‌های zinnector

گزارش‌های دسترسی و خطای یک سایت را به‌صورت زنده دنبال کنید.

zinnector wp

یک دستور مجاز WP-CLI را در یک سایت اجرا کنید.

پشتیبان‌گیر zinnector

فهرست کردن و تهیه نسخه‌های پشتیبان سایت. زیردستورها: list، now.

دامنه‌های zinnector

دامنه‌هایی را که این کلید می‌تواند ببیند، فهرست کنید.

zinnector dns

خواندن و تغییر رکوردهای DNS. زیرفرمان‌ها: list، add، rm.

زینکتور میل

فهرست کردن سرویس‌های ایمیل.

zinnector انبوه

اجرای یک عملیات در چندین سایت (cache_purge، malware_scan، sitemap، block_ip).

zinnector ai

از دستیار Zinn Digital® با در نظر گرفتن این پروژه به عنوان زمینه سؤال کنید.

پرسش‌ها

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مستندات را بخوانید