هر توسعهدهنده یا مدیر سیستمی که به طور پیوسته از ایجنتهای خودمختار مانند Hermes Agent روی سرورهای لینوکس یا ماشینهای کاری مک استفاده میکند، دیر یا زود با یک گلوگاه آزاردهنده روبرو میشود: افت محسوس سرعت پاسخدهی، کندی شدید لودینگ پنل کاربری وب، و پر شدن ناگهانی فضای دیسک با حجمهای چند ده گیگابایتی. ریپازیتوری متنباز Hermes Storage Optimizer راهحل قطعی و بدون وابستگی این چالش است.
ابزار Hermes Storage Optimizer توسط اردلان کتابچی (ketabchi-ar) تحت لایسنس آزاد MIT منتشر شده و بدون نیاز به نصب حتی یک پکیج خارجی پایتون، وظیفه پایش سلامت، آزادسازی منابع دیسک و جراحی سشنهای سنگین هرمس را بر عهده میگیرد.
چرا پوشه هرمس با گذشت زمان منفجر میشود؟
ایجنتهای نرمافزاری بر خلاف چتباتهای متنی مرسوم، مدام با سیستمعامل تعامل دارند. هر باری که هرمس یک اسکریپت پایتون را اجرا میکند، وارد یک صفحه وب با مرورگر میشود، کدهای پروژه را بازرسی میکند یا صوتهای تلگرام و ویسها را با مدل ویسپر به متن برمیگرداند، ردپایی دیجیتال در پوشه ~/.hermes بر جای میگذارد. مهمترین عوامل اشغال منابع عبارتند از:
- سرریز فایلهای گزارش سیستم (Log Bloat): فایلهای لاگ نظیر
webui.logدر طول چندهفته فعالیت مداوم به راحتی به اندازههای ۵ تا ۲۰ گیگابایت میرسند. - کش فایلهای موقت ویسپر و چندرسانهای: قطعات صوتی پردازششده در مسیر کش باقی میمانند بدون آنکه سیستم پاکسازی دورهای خودکاری برای آنها در نظر گرفته شده باشد.
- تورم ساختار پایگاه داده SQLite (عدم اجرای دیفرگمنت): دیتابیس
state.dbکه وضعیت نشستها و ابزارها را نگه میدارد، با حذف سشنها حجم خود را پس نمیدهد مگر اینکه دستورVACUUMروی آن اجرا شود. - انباشت کانتکست (Context Bloat) در سشنهای طولانی: چتهایی که بیش از چندصد پیام دارند، کانتکست فوقالعاده سنگینی را به مدل تحمیل میکنند که هم هزینه توکن را سرسامآور بالا میبرد و هم رم مرورگر را قفل میکند.
- داراییهای ضمیمه یتیم (Orphaned Assets): تصاویری که در پوشه اتچمنت باقی ماندهاند در حالی که شناسه نشست مربوط به آنها قبلاً توسط کاربر پاک شده است.
امکانات و معماری Hermes Storage Optimizer
این ابزار با معماری ماژولار و مبتنی بر کتابخانههای استاندارد پایتون (بدون نیاز به pip install) توسعه داده شده است. مهمترین قابلیتهای آن عبارتند از:
۱. داشبورد وب زنده (Web Wizard) با تقویم شمسی
با اجرای ابزار در حالت رابط گرافیکی، یک سرور وب فوقالعاده سبک روی پورت ۹۱۲۳ بالا میآید. این داشبورد وضعیت مصرف دیسک را به تفکیک محیط مجازی، سشنها، دیتابیس، کش و لاگها به شکل بصری ترسیم میکند و تاریخها را با تقویم هجری خورشیدی نمایش میدهد.
۲. بسته اقدامات نگهداری امن ۴گانه
کاربر میتواند بدون نگرانی از پاک شدن مکالمات، ۴ عملیات حیاتی را تنها با یک کلیک اجرا کند:
- تخلیه لاگهای حجیم: صفر کردن اندازه فایلهای لاگ بدون توقف پروسههای در حال اجرا.
- پاکسازی کشهای موقت: حذف بافرهای دورهای ویسپر و دادههای موقت.
- فشردهسازی عمیق دیتابیس (SQLite Vacuum): بازپسگیری بلوکهای خالی دیتابیس از سیستمعامل.
- حذف اتچمنتهای یتیم: اسکن پوشه
webui/attachmentsو حذف فایلهایی که سشن آنها در دیتابیس وجود ندارد.
۳. فیلتر هوشمند سشنها و آنالیز توکن
امکان فیلتر سریع نشستها بر اساس حجم (بیش از ۵ مگابایت، ۲۰ مگابایت و ۱۰۰ مگابایت)، شمارش تفکیکشده پیامهای کاربر و دستیار، و تخمین هوشمند توکنهای مصرفشده در هر سشن فراهم شده است. همچنین پیش از هرگونه حذف، امکان دانلود فایل فشرده ZIP شامل تمامی تاریخچه و تصاویر برای کاربر مهیاست.
راهنمای گامبهگام راهاندازی و استفاده
برای استقرار و استفاده از این بهینهساز روی سیستم یا سرور لینوکس خود، گامهای زیر را به ترتیب طی کنید:
# کلون کردن ریپازیتوری رسمی از گیتهاب
git clone https://github.com/ketabchi-ar/hermes-storage-manager.git
cd hermes-storage-manager
# روش اول: اجرای داشبورد وب تعاملی
python3 main.py --ui
# پس از اجرا، مرورگر را باز کرده و به آدرس زیر مراجعه نمایید:
# http://127.0.0.1:9123
اگر ترجیح میدهید از خط فرمان (CLI) یا جابهای زمانبندیشده Cron استفاده کنید، سوئیچهای مستقیم ابزار به شرح زیر در دسترس هستند:
# مشاهده گزارش متنی تفکیک حجم حافظه
python3 main.py
# تخلیه فوری لاگها و بازپسگیری چند گیگابایت فضا
python3 main.py --clean-logs
# فشردهسازی ساختار پایگاه داده با VACUUM
python3 main.py --vacuum
# پاکسازی فایلهای کش موقت
python3 main.py --clean-cache
# پاکسازی پوشههای ضمیمه یتیم
python3 main.py --clean-orphaned
امنیت کامل در حریم خصوصی دادهها
این اسکریپت ۱۰۰ درصد آفلاین عمل میکند و هیچ دیتایی را به خارج از سرور شما ارسال نمیکند. علاوه بر این، در طراحی هسته بهینهساز تدابیری اندیشیده شده تا کلیدهای محرمانه، فایلهای پیکربندی و توکنهای ورود هرگز خوانده یا دستکاری نشوند.
نتیجهگیری: نگهداری ایجنتهای ۲۴/۷ دیگر دردسرساز نیست
با پیشرفت و گسترش وظایف محولشده به ایجنتهای خودمختار، نقش ابزارهای تخصصی نگهداری دیسک و دیتابیس پررنگتر از همیشه است. پروژه Hermes Storage Optimizer نمونهای درخشان از ابزارهای بومی سبک و بدون حاشیه است که سرورهای هرمس را در اوج سرعت و چابکی نگه میدارد. پیشنهاد میکنیم این ابزار را در برنامههای نگهداری دورهای سرورهای خود قرار دهید.
دیدگاهها و پرسش و پاسخ
پرسش و پاسخ و نظرات (1)
عالی