Beehive هو نظام حدث وعامل ، والذي يتيح لك إنشاء وكلاءك الذين يقومون بمهام آلية ناتجة عن الأحداث والمرشحات. إنه معياري ومرن وسهل التمدد لأي شخص. يحتوي على وحدات (نسميها خلايا النحل ) ، بحيث يمكنها التفاعل مع أو التحدث أو استرداد المعلومات من Twitter أو Tumblr أو البريد الإلكتروني أو IRC و Jabber و RSS و Jenkins و Hue - على سبيل المثال لا الحصر. تحقق من القائمة الكاملة لخلايا النحل المتاحة في ويكي لدينا.
يتيح لك توصيل هذه الوحدات مع بعضها البعض إنشاء عوامل مفيدة للغاية.

يمكنك العثور على المزيد من الإصدارات الرسمية هنا.
docker run --name beehive -d -p 8181:8181 fribbledom/beehiveيتطلب BEEHIVE GO 1.13 أو أعلى. تأكد من أن لديك بيئة GO العمل. انظر تعليمات التثبيت.
الطريقة الموصى بها هي جلب المصادر وجعلها.
git clone --recursive https://github.com/muesli/beehive.git
cd beehive
make
يمكنك بناء وتثبيت beehive Binary مثل ثنائيات GO الأخرى الموجودة ( go get ) ولكن ستحتاج إلى التأكد من أن النحل يمكنه العثور على الأصول (الصور ، JavaScript ، CSS ، إلخ). راجع قسم استكشاف الأخطاء وإصلاحها/الملاحظات للحصول على تفاصيل إضافية.
قم بتشغيل beehive --help لرؤية قائمة كاملة من الخيارات.
فكر في Hives كإضافات صغيرة ، مما يوسع قدرات Beehive مع الأحداث التي يمكنك الرد عليها والإجراءات التي يمكنك تنفيذها.
مثلما أمثلة ، هناك مكون إضافي على Twitter يمكنه
أو مكون إضافي RSS يتيح لك
أو مكون إضافي بريد إلكتروني يمنحك القدرة على
يتيح لك كل خلية أن تفرخ واحد أو عدة نحل ، وكلها تعمل بشكل مستقل عن الآخر. يتيح لك ذلك إنشاء مثيلات مكون إضافي منفصل ، على سبيل المثال ، رسالة بريد إلكتروني واحدة لحساب البريد الخاص بك ، وآخر للبريد الإلكتروني الخاص بك.
تبدو معقدة؟ ليست كذلك! للمتعة فقط ، دعنا ننشئ Beehive لإرسال بريد إلكتروني إلينا كلما تم تحديث موجز RSS. ابدأ beehive و Open http: // localhost: 8181/في متصفحك. لاحظ أن BeeHive ستقوم بإنشاء ملف config beehive.conf في دليل العمل الحالي الخاص به ، ما لم تحدد ملفًا مختلفًا مع خيار -config .
ملاحظة: إذا قمت ببناء Beehive مع go build بدلاً من أن make تضطر إلى بدء beehive من داخل دليل المصدر الخاص بها حتى تجد جميع الموارد لواجهة المسؤول. راجع أيضًا قسم استكشاف الأخطاء وإصلاحها وملاحظات في هذا ReadMe.
ستقدم لك واجهة المسؤول قائمة من خلايا النحل المتاحة. سنحتاج إلى إنشاء اثنين من النحل هنا ، أحدهما لتغذية RSS وواحد لحساب البريد الإلكتروني الخاص بك.

الآن سيتعين علينا إنشاء سلسلة جديدة ، والتي ستقوم بتوصيل النحلين اللذين أنشأناه للتو. أولاً ، نختار النحل والحدث الذي نريد الرد عليه ، ثم نختار النحلة التي نريد تنفيذ إجراء معها. يمنحنا حدث RSS-BEE مجموعة كاملة من المعلمات التي يمكننا العمل معها: عنوان عنصر التغذية ، وروابطه ووصفه من بين أمور أخرى. يمكنك معالجة هذه المعلمات ودمجها مع لغة الكاملة للتخلص منها. على سبيل المثال ، يمكننا تعيين محتوى البريد الإلكتروني على شيء مثل:
Title: {{.title}} - Link: {{index .links 0}}
كلما تم تنفيذ هذا الإجراء ، سيحل Beehive محل {{.title}} بمعلمة title حدث RSS ، وهو عنوان عنصر التغذية الذي تم استرداده. بالطريقة نفسها ، يصبح {{index .links 0}} أول عنوان URL لمجموعة links هذا الحدث.

هذا كل شيء. كلما تم تحديث التغذية RSS ، سيرسل لك Beehive الآن رسالة بريد إلكتروني! من السهل حقًا جعل العديد من النحل يعمل معًا بسلاسة والقيام بأشياء ذكية لك. جربها بنفسك!
يمكنك العثور على مزيد من المعلومات حول كيفية تكوين Beehive والأمثلة في Wiki لدينا.
يتم تضمين واجهة الويب والموارد الأخرى في الثنائي افتراضيًا. عند استخدام make noembed ، تحاول Beehive العثور على هذه الملفات في دليل العمل الحالي الخاص بها ، لذلك يوصى حاليًا ببدء Beehive من داخل مستودع GIT الخاص به ، إذا كنت تخطط لاستخدام واجهة الويب.
إذا كنت لا تزال غير قادر على الوصول إلى واجهة الويب ، تحقق مما إذا كان دليل config في مستودع GIT فارغًا. إذا كان هذا هو الحال ، فتأكد من تهيئة العارض الفرعي GIT عن طريق تشغيل git submodule update --init .
واجهة الويب لا تتطلب المصادقة بعد. BEEHIVE افتراضيًا يقبل جميع الاتصالات من جهاز الاسترجاع فقط .
إذا كنت ترغب في ربط BEEHIVE بواجهة/عنوان مختلف ، فقم بتشغيل BEEHIVE مع المعلمات -bind و -canonicalurl . على سبيل المثال:
beehive -bind "192.168.0.1:8181" -canonicalurl "http://192.168.0.1:8181"
أو
docker run --name beehive -d -e CANONICAL_URL="http://192.168.0.1:8181" -p 8181:8181 fribbledom/beehive
هل تحتاج إلى مساعدة؟ تريد اختراق خلايا النحل الخاصة بك؟ انضم إلينا على IRC (IRC: //freenode.net/#beehive) أو Gitter. اتبع النحل على Twitter!