معرفی Ghostman؛ کلاینت سبک و متنی API و بازرس وبهوک برای ترمینال — Show HN: Ghostman – A fast, keyboard-driven TUI API client and webhook inspector
خلاصه
ابزار Ghostman یک کلاینت API مبتنی بر ترمینال (TUI) و کاملاً محلی است که جایگزینی سریع و بدون نیاز به فضای ابری برای ابزارهای سنگینی مانند Postman محسوب میشود. این پروژه با پایتون و فریمورک Textual توسعه یافته و شامل یک دریافتکننده داخلی وبهوک است.
معرفی ابزار Ghostman
ابزار Ghostman یک کلاینت سبک و متنباز API و بازرس وبهوک (Webhook Inspector) است که به صورت کامل در ترمینال اجرا میشود. این ابزار به عنوان جایگزینی برای نرمافزارهای سنگینی نظیر Postman و Insomnia طراحی شده است که در سالهای اخیر با افزودن امکانات ابری، حسابهای کاربری اجباری و مصرف بالای حافظه رم (حجمهایی حدود ۱ گیگابایت به لطف Electron)، از ریشههای سبکوزن خود فاصله گرفتهاند.
این پروژه توسط کاربری به نام 4yk5 در گیتهاب توسعه یافته و تحت مجوز آزاد MIT منتشر شده است. با توجه به میزان ستارهها (حدود ۲۳ ستاره) و تاریخ ایجاد آن، این پروژه در مراحل اولیه توسعه و نسبتاً نوپا به شمار میرود.
چرا Ghostman برای توسعهدهندگان اهمیت دارد؟
بسیاری از توسعهدهندگان ترجیح میدهند جریان کاری خود را درون محیط ترمینال و بدون نیاز به ماوس حفظ کنند. ویژگیهای کلیدی این ابزار عبارتند از:
- سرعت بالا و راهاندازی آنی: در کمتر از ۲۰۰ میلیثانیه در ترمینال بارگذاری میشود.
- حریم خصوصی و رویکرد Local-First: هیچ اکانت ابری، تلهمتری یا ثبتنامی وجود ندارد.
- ذخیرهسازی مبتنی بر فایل: تمام کلکسیونها و درخواستها به صورت فایلهای خوانا و ساده YAML در مسیر
.ghostman/collections.yamlذخیره میشوند که به راحتی میتوانید آنها را همراه با کدهای پروژه در Git کامیت کنید. - سرور داخلی وبهوک: بدون نیاز به ابزارهای جانبی مانند
ngrokیاwebhook.site، میتوانید درخواستهای ورودی وبهوک را به صورت محلی دریافت و بررسی کنید. - ناوبری کاملاً کیبوردی: الهامگرفته از کلیدهای میانبر سبک Vim.
مشخصات فنی و معماری
این ابزار با زبان Python (نسخه ۳.۱۰ به بالا) نوشته شده و برای ساخت رابط کاربری ترمینالی (TUI) از کتابخانه محبوب Textual بهره میبرد (همان فریمورکی که توسط یکی از توسعهدهندگان ارشد آن در ابزارهای مشابه دیگر نیز استفاده شده است).
برای کار با این ابزار کافی است مخزن را کلون کرده و وابستگیها را نصب کنید:
git clone https://github.com/4yk5/ghostman.git
cd ghostman
pip install -r requirements.txt
python main.py
میانبرهای اصلی کیبورد شامل موارد زیر است:
- کلید
Ctrl + S: ارسال درخواست HTTP و انتقال به نمای پاسخ (Response). - کلید
Ctrl + W: راهاندازی یا متوقف کردن سرور وبهوک روی پورت9090. - کلیدهای
TabوShift + Tab: جابهجایی میان بخشهای مختلف. - کلید
Ctrl + Q: خروج از برنامه.
نگاه جامعه هکرنیوز (Hacker News)
انتشار این پروژه در هکرنیوز واکنشهای متنوعی را به همراه داشت. برخی کاربران با تعجب پرسیدند که چرا با وجود ابزارهای مشابه و جاافتادهتری مانند Posting (که توسط یکی از توسعهدهندگان اصلی فریمورک Textual ساخته شده)، نیاز به ابزار جدیدی است. عدهای دیگر از بازگشت اپلیکیشنها به سمت محیطهای TUI در سالهای اخیر ابراز خوشحالی کردند.
از سوی دیگر، برخی کاربران به سن بلوغ پایین این پروژه اشاره کرده و معتقدند که لحن مقایسهای آن با نرمافزارهای مبتنی بر Electron ممکن است با این فرض همراه باشد که پروژه در آینده ممکن است بدون پشتیبانی رها شود؛ با این حال، برای دوستداران ابزارهای مینیمال ترمینال، چنین پروژههایی نمونههای جذاب و الهامبخشی برای مدیریت APIها هستند.
در یک نگاه
- نام پروژه: Ghostman
- زبان اصلی: Python
- فریمورک رابط کاربری: Textual
- مجوز: MIT
- نحوه ذخیرهسازی: فایلهای محلی YAML
- ویژگی شاخص: کلاینت API و سرور محلی وبهوک درون ترمینال
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل