تصور کنید ساعت ۲ صبح است و یک هشدار «سرویس متوقف شد» روی گوشی شما ظاهر میشود؛ اما بهجای اینکه نیمساعت را صرف گشتن در لاگهای پیچیده کنید، گزارشی دریافت میکنید که دقیقاً میگوید مشکل از کجاست. Vigil این رویای هر مدیر سرور را به واقعیت تبدیل کرده است تا زمان تشخیص خطا در سرورهای مجازی (VPS) با ۴ هسته پردازشی به کمتر از ۹۰ ثانیه برسد. این ابزار در واقع یک دیدهبان مبتنی بر عامل (Agent-powered) است که برای مالکان سرورهای مقیاس کوچک طراحی شده است. برخلاف مانیتورهای سنتی که صرفاً هنگام قطع شدن سرویس به کاربر پیام میدهند، Vigil یک عامل هوش مصنوعی محلی را فعال میکند تا پیش از ارسال گزارش، علت ریشهای مشکل را بررسی کند.
برای فریلنسرها و مؤسسهای استارتاپی که از سرورهای ارزانقیمت ۵ تا ۲۰ دلاری در ماه استفاده میکنند، معمولاً دو راه وجود دارد: یا هیچ نظارتی روی سرور ندارند یا باید از ابزارهای گرانقیمتی مثل Datadog استفاده کنند. ابزارهای ابری معمولاً هشدارهای مبهمی مثل «مصرف بالای CPU» یا «خطای HTTP 5xx» میفرستند که کاربر را مجبور میکند شخصاً در نیمهشب وارد محیط SSH شود و در میان هزاران خط لاگ بگردد. Vigil با تبدیل این فرآیند دستی به یک جریان خودکارِ جمعآوری شواهد، شکاف بین «تشخیص خطا» و «حل مشکل» را پر میکند.
مشکل «باستانشناسی ساعت ۲ صبح»
دیدهبانهای سنتی یک فاصله زمانی بزرگ بین شناسایی مشکل و حل آن ایجاد میکنند. ممکن است کاربر در ساعت ۲ صبح بیدار شود و ۲۰ دقیقه را صرف جستجو در لاگها کند، تا در نهایت بفهمد که سرویس در واقع سالم است و هشدار دیدهبان اشتباه بوده است. Vigil این شکاف را با بیدار کردن یک عامل هوش مصنوعی محلی میبندد؛ عاملی که پیش از اطلاعرسانی به کاربر، با ابزارهای واقعی سیستم تحقیق میکند.
این پروژه در جریان چالش هوش مصنوعی متنباز Hacktoberfest (هفته دوم) توسعه یافت و در ۱۴ اکتبر ۲۰۲۶ منتشر شد. Vigil به عنوان یک سرویس systemd اجرا میشود. طبق مستندات این پروژه در گیتهاب، سیستم از دو لایه اصلی تشکیل شده است:
معماری فنی
- دیدهبان (Watchdog): لایهای بسیار سبک با حدود ۲۳۰ خط کد پایتون خالص (Pure Python) که تنها از کتابخانههای استاندارد استفاده کرده و هیچ وابستگی خارجی ندارد. این لایه وظیفه انجام پروبهای HTTP، بررسی شنودکنندههای TCP، نظارت بر آستانههای دیسک و حافظه و رصد وضعیت واحدهای systemd را بر عهده دارد.
- عامل تشخیص (Diagnosis Agent): یک فراخوانی تکمرحلهای (One-shot) به Hermes Agent (از طریق دستور
hermes -z) که به یک مدل با وزنهای باز (Open Weights) متصل است. این یکپارچگی با اکوسیستم Hermes است که به تازگی ابزارهای نظارتی برای سنجش ریسکهای امنیتی آن بر اساس استانداردهای OWASP معرفی شده است. در محیط عملیاتی توسعهدهنده، از مدل Qwen3.8-27B استفاده شده است که توسط یک گیتوی خودمیزبان (Self-hosted) روی همان سرور سرو میشود.
مکانیسمهای تشخیص
همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، اجرای مدلها در محیط محلی، ریسک نشت دادههای حساس را بهشدت کاهش میدهد. وقتی یک بررسی با شکست مواجه میشود، به عامل هوش مصنوعی اجازه دسترسی به ابزارهایی برای اجرای دستوراتی نظیر journalctl ،systemctl ،ss و df داده میشود. مدل بهجای دنبال کردن یک اسکریپت خشک و صلب، خودش تصمیم میگیرد چه شواهدی را جمعآوری کند. سپس گزارشی ساختاریافته شامل چهار بخش «وضعیت» (State)، «شواهد» (Evidence)، «اقدام» (Action) و «میزان اطمینان» (Confidence) تولید میکند.
در یک تست واقعی که در ساعت ۱:۴۶ بامداد به تلگرام ارسال شد، Vigil یک خطای HTTP 401 (عدم دسترسی) را برای یک نقطه انتهایی وضعیت (hub status endpoint) شناسایی کرد. اما بهجای هشدار سادهی «سرویس قطع است»، عامل تشخیص گزارش داد:
- وضعیت: سالم — خطای ۴۰۱ مورد انتظار است، سرویس فعال است و احراز هویت طبق طراحی کار میکند.
- شواهد: دستور
systemctl is-active zidorouterوضعیت active را نشان میدهد؛ دستورssنشان میدهد که پردازش python3 با PID 21858 روی پورت 127.0.0.1:8764 در حال شنود است؛ درخواست GET بدون احراز هویت به /hub/status خطای ۴۰۱ میدهد در حالی که POST /login پاسخ ۳۰۳ برمیگرداند. - اقدام: اصلاح تنظیمات دیدهبان، نه سرویس: ابتدا باید POST /login انجام شود و کوکی نشست حفظ گردد.
- میزان اطمینان: بالا.
این مورد در واقع یک باگ در پیکربندی خودِ دیدهبان را تشخیص داد، نه یک خرابی در سرویس. یک دیدهبان مبتنی بر آستانه (Threshold) در این شرایط صرفاً پیام «SERVICE DOWN» را ارسال میکرد.
عملکرد و استقرار
بر اساس بررسیهای فنی، تأخیر برای این تشخیصهای سرتاسری در یک VPS با ۴ هسته پردازشی بین ۳۰ تا ۹۰ ثانیه است. برای جلوگیری از «طوفان هشدارها» (Alert Storms)، یک بازه استراحت (Cooldown) پیشفرض ۱۵ دقیقهای برای هر بررسی در نظر گرفته شده است. ارسال این گزارشها از طریق لولهکشی stdin (مثلاً hermes send --to telegram -f -) انجام میشود و برای اطمینان از عدم گم شدن گزارشها، خروجی استاندارد (stdout) به عنوان جایگزین (Fallback) در نظر گرفته شده است.
استقرار این سیستم تنها با سه دستور ساده انجام میشود: کلون کردن مخزن، تنظیم پیکربندی و اجرای دستور systemctl --user enable --now vigil. در اولین اجراهای عملیاتی، این عامل توانست یک عدم تطابق در Scopeهای systemd را شناسایی کند؛ جایی که دیدهبان واحدهای سطح سیستم (system-scope) را بررسی میکرد در حالی که سرویس در سطح کاربر (user-level) در حال اجرا بود.
این رویکرد، اقتصاد نگهداری سرور را تغییر میدهد. وقتی استنتاج (Inference) — یعنی همان لحظه تولید جواب توسط مدل — روی خودِ سرور انجام شود، هزینه تشخیص صفر میشود. در مقابل، استفاده از APIهای ابری باعث ایجاد یک منحنی هزینه میشود که کاربر را از بررسی هر نوسان کوچک و گذرا در سرور باز میدارد، زیرا هیچکس نمیخواهد برای هر «سکسه» کوچک سیستم، هزینه API پرداخت کند.
مزایای ساختاری نوآوری باز
- حریم خصوصی: تشخیص خرابی مستلزم خواندن ژورنالها و جداول پردازش است. چون مدل روی همان ماشینی اجرا میشود که لاگها را نوشته است، شواهد حساس هرگز برای ارسال به شخص ثالث از شبکه خارج نمیشوند.
- عدم وابستگی به فروشنده (No Vendor Lock): ارائهدهنده و مدل تنها کلیدهای سادهای در فایل تنظیمات هستند. هر نقطه انتهایی سازگار با OpenAI — چه از طریق llama.cpp، چه vLLM یا یک روتر خودمیزبان — را میتوان با تغییر یک خط جایگزین کرد.
برای اپراتورهای تکسروری، این یعنی پایان بیداریهای بیدلیل در نیمهشب. Vigil دیدهبان را از یک زنگ خطر ساده به یک مدیر سیستم جونیور تبدیل میکند که بهجای هشدار مبهم، گزارش تأییدشده ارائه میدهد. ارزش پیشنهادی این ابزار ساده است: هوش مصنوعی تعیین میکند که آیا واقعاً نیاز است بیدار شوید یا میتوانید به خواب برگردید.
بهروزرسانیهای آینده این پروژه شامل افزودن یک فایل cases.jsonl برای ردیابی تاریخچه تشخیصها و احتمالاً ایجاد یک صفحه وضعیت (Status Page) بر اساس این لاگها است. توسعهدهنده در حال حاضر روی رفع دو باگی که توسط خودِ عامل شناسایی شده (بررسیهای systemd آگاه به Scope و پروبهای HTTP آگاه به احراز هویت) کار میکند که با شمارههای #1 و #2 ثبت شدهاند. کد این پروژه در حال حاضر تحت لایسنس MIT در گیتهاب در دسترس است.
گام بعدی شما
- اگر سرورهای کوچک دارید، مخزن گیتهاب Vigil را بررسی کنید و آن را روی یک محیط تست نصب کنید.
- مدلهای کوچکتر (SLM) را برای کاهش مصرف RAM در سرورهای ۲ گیگابایتی امتحان کنید.
- تنظیمات HTTP Probeهای خود را بازبینی کنید تا از هشدارهای کاذب جلوگیری شود.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell و بهینهسازی استنتاج محلی مراجعه کنید.




گفتگو