السياق
منصة ذكاء اصطناعي خاصة من 15 حاوية تنتج كثيرًا من القياس عن بُعد, استخدام اشتراك Claude Code، ضغط GPU على حاوية الاستدلال، عمق الطابور على خطوط إنتاج المحتوى، حالة البناء عبر المشاريع الداخلية، تواريخ انتهاء الشهادات، إمكانية الوصول الشبكي عبر عقدتي Proxmox. معظم ذلك يقع في سجلات journalctl لا يقرأها أحد.
اللوحة هي ما يُفتح أول شيء صباحًا. توجد لكي تكون الإجابة على «هل ثمة شيء معطّل؟» نظرة سريعة بدلًا من جلسة SSH.
الموجز
- صفحة واحدة، شاشة واحدة، لا تمرير على شاشة 1080p.
- تحديث بيانات تحت 200 مللي ثانية, لا شيء غير متزامن، لا شيء ينتظر API بطيئًا.
- تتبّع حيّ لاستخدام Claude Code (مقروء من ذاكرة CLI المحلية).
- صحّة لكل حاوية (CPU، الذاكرة، آخر إعادة تشغيل).
- خطط طوابير المشروع (الحالة الحالية لخطوط إنتاج FB-Media + ContentForge).
- المصادقة, مستخدم واحد (أنا)، Basic Auth bcrypt كان صحيحًا لنموذج التهديد.
- مستضافة على المنصة نفسها، لا على SaaS, لا يمكن للوحة أن تعتمد على ما تراقبه.
المعمارية
واجهة Vite + React. خلفية Fastify على Node، SQLite للقطعة الصغيرة من الحالة (عتبات التنبيه، التحذيرات المؤجَّلة). PM2 يبقي عملية Node حيّة عبر إعادات التشغيل؛ يعمل في CT 208 على عقدة Proxmox لخدمات.
أذكى قطعة هي sidecar الخاص بـ Gaming PC. بيانات استخدام Claude Code CLI تعيش على مضيف Windows WSL2 لا تستطيع حاويات LXC رؤيته مباشرة. sidecar صغير من Node (claude-sidecar خدمة systemd، المنفذ 11436) على Gaming PC يقرأ ذاكرة CLI المحلية + يخدم نقطة JSON عبر LAN. اللوحة تستفسر منه كل 5 ثوانٍ.
portproxy على Windows يعبر بين منفذ LAN والعنوان الداخلي لـ WSL2, أخذ الحلّ ظهيرة لينزل لكنه يعني أن اللوحة ترى استخدام Claude الحقيقي في الزمن الحقيقي، لا تخمينًا مبنيًا على استخراج السجلات.
النتائج
- 15 حاوية LXC مراقَبة عبر عقدتي Proxmox.
- تحديث تحت 200 مللي ثانية للبطاقات الحيّة (استخدام Claude، GPU، عمق الطابور).
- تخطيط الشاشة الواحدة, كل شيء مرئي في 1080p دون تمرير.
- صفر تعطّل منذ الإطلاق, اللوحة عملت عبر كل دورة إعادة تشغيل لترقية النواة.
- التكلفة التشغيلية, التفقّد الصباحي انتقل من 5 دقائق من
pct list+nvidia-smi+journalctlإلى نظرة 10 ثوانٍ.
لقطات الشاشة
[FILL: استبدل بلقطات شاشة للوحة الحيّة, الشاشة الرئيسية + بطاقة استخدام Claude + بطاقة ضغط GPU + بطاقة خطط الطوابير. أخفِ أي أسماء مضيف للحاويات إن لزم.]
ما هو التالي
عنصران على قائمة التكرار التالي:
- نقل منطق sidecar الخاص بـ WSL2 إلى حساب خدمة فعلي على Gaming PC بدلًا من تشغيله تحت تسجيل دخول المطوّر. سلسلة SSH التي تمنح اللوحة وصول قراءة إلى ذاكرة CLI هي حاليًا نقطة فشل واحدة إن انتهت صلاحية تسجيل دخول المطوّر.
- قواعد تنبيه لكل حاوية, التنبيه الحالي قائم على العتبات فقط (CPU > 90%، الذاكرة > 95%). محرّك قواعد صغير (مثل Prometheus AlertManager-lite) سيسمح لي بوسم التنبيهات الصاخبة كمؤجَّلة دون فقدان الإشارة الكامنة.