انتقل إلى المحتوى
إشعارات عرض الحاوية
بث WebSocket
تاريخ الإشعارات
مستويات الإلحاح
أيقونات مخصصة
انتهاء صلاحية تلقائي
التصنيف
POST /notify
إشعارات عرض الحاوية
بث WebSocket
تاريخ الإشعارات
مستويات الإلحاح
أيقونات مخصصة
انتهاء صلاحية تلقائي
التصنيف
POST /notify
إشعارات عرض الحاوية
بث WebSocket
تاريخ الإشعارات
مستويات الإلحاح
أيقونات مخصصة
انتهاء صلاحية تلقائي
التصنيف
POST /notify
إشعارات عرض الحاوية
بث WebSocket
تاريخ الإشعارات
مستويات الإلحاح
أيقونات مخصصة
انتهاء صلاحية تلقائي
التصنيف
POST /notify
NotificationsHoody Notifications

إشعارات سطح المكتب عبر HTTP.

أرسل إشعارات سطح مكتب Linux إلى أي عرض حاوية بـ HTTP POST واحد. يستدعي خادم الإشعارات notify-send على شاشة X11 للحاوية — أطلق إشعاراً أو اجلب السجل أو دفق مباشرةً.

notify · hoody-n

# Send a notification to display 0

curl -X POST "https://abc123-def456-n-1.node-us-1.containers.hoody.com/api/v1/notifications/notify"

-d '{"display":"0","summary":"Build Complete","urgency":"normal"}'

# Response

{"success":true}

كيف يعمل

ثلاث خطوات. استدعاء HTTP واحد لكل منها.

كل إشعار يتبع نفس دورة الحياة: أطلقه، اجلب التاريخ أو ابثّ حياً، ارفضه. استدعاء HTTP واحد لكل خطوة.

01

إطلاق

يستدعي طلب POST إلى /notify الأمر notify-send على شاشة X11 المستهدفة. مرّر summary وdisplay، إضافةً إلى body وcategory وurgency وexpire_time وicon الاختيارية.

إشعارات — إطلاق

# Fire a notification

curl -X POST .../notify

{"display":"0",

"summary":"Build Complete",

"urgency":"normal"}

 

{"success":true}

02

التسليم

يُسلّم notify-send التنبيه إلى daemon الإشعارات في النظام على شاشة X11 المستهدَفة. يظهر في أي جلسة display متصلة وينتهي تلقائيًا حسب درجة إلحاحه وقيمة expire_time.

notifications — deliver

# notify-send on display :0

notify-send → X11 :0

 

▸ Build Complete

normal · auto-expires

02

جلب أو بث

GET /[display] retrieves notification history with optional limit, since, username, and session filters. Connect via WebSocket to /stream?displays=0 for real-time push updates.

إشعارات — جلب

# Poll history

curl .../0?limit=50

 

# Or stream live

new WebSocket(

"wss://.../stream?displays=0"

)

مستويات الإلحاح

منخفض. عادي. حرج.

ثلاثة مستويات إلحاح تتوافق مباشرةً مع سلوك notify-send. اختر المناسب وتصرّف تلقائياً بناءً عليه.

low

يُرفَض سريعاً. اضبط expire_time: 3000 للمهام الخلفية وقياسات الأداء والمعلومات.

"urgency": "low",

"expire_time": 3000

normal

قياسي. الافتراضي عند حذف urgency. برنامج الإشعارات يعرضه بالإعدادات الافتراضية.

"urgency": "normal"

// افتراضي — احذفه لاستخدام هذا

critical

دائم — يتطلب الرفض اليدوي. اضبط expire_time: 0 لأعطال النظام والإجراءات التي تتطلب التدخل.

"urgency": "critical",

"expire_time": 0

القنوات

اسحب التاريخ أو بثّه حياً.

قناتان للقراءة تخدمان احتياجات مختلفة: REST لسجلات التدقيق والاستعلامات الفردية، وSSE للتدفق الحي.

GETGET /[display]جلب
WSWS /streamبثّ

اسحب تاريخ الإشعارات لعرض. فلتر حسب الحد والطابع الزمني واسم المستخدم.

سجل الإحضار

# احصل على آخر 50 للعرض 0

curl ".../0?limit=50"

# مُصفَّى حسب الوقت

curl ".../0?since=1749025000000"

مصفوفة JSON من كائنات الإشعارات مع id وsummary وurgency وtimestamp وicon.

اشترك في عرض واحد أو أكثر بـ displays=0,:1,2 أو displays=all. يستقبل إشعارات حية.

البث المباشر

# فتح WebSocket

const ws = new WebSocket(

"wss://.../stream?displays=0"

)

# في الرسالة

ws.onmessage = (e) => {

const msg = JSON.parse(e.data)

// msg.summary, msg.body, msg.urgency

}

[ type: "notification", data: [ id, summary, urgency, timestamp ] ] تُدفَع عند كل إشعار.

حالات الاستخدام

من خطوط البناء إلى مهام ML.

في أي مكان تحتاج عملية طويلة الأمد إلى الإشارة بالاكتمال أو الفشل، HTTP POST واحد يكفي.

تنبيهات CI/CD

تكتمل البنيات طويلة الأمد. HTTP POST يطلق إشعاراً على عرض الحاوية.

مراقبة النظام

تنبيهات الخادم تُوجَّه إلى إشعار سطح مكتب على عرض X11 للحاوية.

المهام طويلة الأمد

تصدير البيانات، تصيير الفيديو، تدريب نماذج ML، اكتمال النسخ الاحتياطي — أرسل إشعاراً عند الانتهاء.

سير العمل الآلي

مهام cron والمهام المجدولة وسكربتات الأتمتة ترسل إشعاراً لعرض الحاوية عند الاكتمال.

مرجع API

8 نقاط نهاية. خادم إشعارات واحد.

أطلق، اجلب، ابثّ مباشرةً، والرفض — بالإضافة إلى الأيقونات والمراقبة الصحية — كل ذلك عبر HTTP عادي.

الـ Base URL https://abc123-def456-n-1.node-us-1.containers.hoody.com

الإطلاق

1 نقطة نهاية

POST .../api/v1/notifications/notify

POST
/api/v1/notifications/notifyأطلِق إشعار سطح مكتب جديدًا على الشاشة المستهدَفة عبر notify-send

الجلب والبث

2 نقاط نهاية

GET .../api/v1/notifications/{display}?limit=50

GET
/api/v1/notifications/{display}احصل على إشعارات شاشة واحدة أو أكثر محددة
WS
/api/v1/notifications/stream?displays=0,1تدفّق إشعارات لحظي عبر اتصال WebSocket

الأيقونات

1 نقطة نهاية

GET .../api/v1/notifications/icons/{iconId}

GET
/api/v1/notifications/icons/{iconId}احصل على أيقونة إشعار عبر معرّفها

الصحة والمقاييس

1 نقطة نهاية

GET .../api/v1/notifications/health

GET
/api/v1/notifications/healthفحص صحة الخدمة لخادم الإشعارات

الإشعارات على بُعد HTTP POST واحد.

أي سكربت أو خدمة أو أتمتة يمكنها إرسال طلب HTTP يمكنها إرسال إشعار سطح مكتب.

اقرأ التوثيق