اللغة الإنجليزية |
validate_tests.shDockerfilebuild_image.sh Github Sentinel هو AI Agent مصمم لاسترجاع المعلومات الذكية والتعدين ذي القيمة العالية المصممة خصيصًا لعصر النماذج الكبيرة (LLMS). يستهدف المستخدمون الذين يحتاجون إلى تردد كبير وكميات كبيرة من الحصول على المعلومات ، وخاصة عشاق المصادر المفتوحة والمطورين الفرديين والمستثمرين.
لا تساعد Github Sentinel المستخدمين تلقائيًا على تلقائي وتحليل آخر تحديثات GitHub 开源项目، ولكن أيضًا يتوسع بسرعة إلى قنوات المعلومات الأخرى ، مثل الموضوعات الشائعة Hacker News ، مما يوفر المزيد من إمكانيات تعدين المعلومات وتحليلها.
GitHub Project Progress Progress and Summary

Hacker News Hot Tech Topic Mining 
أولاً ، قم بتثبيت التبعيات المطلوبة:
pip install -r requirements.txt قم بتحرير ملف config.json لتعيين الرمز المميز لـ GitHub ، وإعدادات البريد الإلكتروني (أخذ صندوق بريد WeChat Tencent كمثال) ، وملفات الاشتراك ، وإعدادات التحديث ، وتكوين خدمة النموذج الكبير (يدعم Openai GPT API وخدمة Ollama الخاصة الطراز Big Model) ، واسترداد وإنشاء تقارير (Progress Progress Progress ، Hacker News المواضيع الساخنة وتكنولوجيا القطع):
{
"github" : {
"token" : " your_github_token " ,
"subscriptions_file" : " subscriptions.json " ,
"progress_frequency_days" : 1 ,
"progress_execution_time" : " 08:00 "
},
"email" : {
"smtp_server" : " smtp.exmail.qq.com " ,
"smtp_port" : 465 ,
"from" : " [email protected] " ,
"password" : " your_email_password " ,
"to" : " [email protected] "
},
"llm" : {
"model_type" : " ollama " ,
"openai_model_name" : " gpt-4o-mini " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
},
"report_types" : [
" github " ,
" hacker_news_hours_topic " ,
" hacker_news_daily_report "
],
"slack" : {
"webhook_url" : " your_slack_webhook_url "
}
}لأسباب الأمان: تدعم كل من إعدادات الرمز المميز GitHub و Email Coverport التكوين باستخدام متغيرات البيئة لتجنب تكوين معلومات مهمة بشكل صريح ، كما هو موضح أدناه:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "يدعم Github Sentinel الطرق الثلاث التالية للتشغيل:
يمكنك تشغيل التطبيق بشكل تفاعلي من سطر الأوامر:
python src/command_tool.pyفي هذا الوضع ، يمكنك إدخال الأوامر يدويًا لإدارة الاشتراكات واسترداد التحديثات وإنشاء التقارير.
لتشغيل التطبيق كخدمة خلفية (Daemon) ، سيتم تحديثه تلقائيًا بناءً على التكوين ذي الصلة.
يمكنك البدء ، حالة الاستعلام ، إغلاق وإعادة التشغيل مباشرة باستخدام برنامج Daemon Management Script Daemon_Control.sh:
ابدأ الخدمة:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.config.json ، وإرسال رسائل البريد الإلكتروني.logs/DaemonProcess.log . في الوقت نفسه ، سيتم أيضًا إلحاق السجلات التراكمية التاريخية بشكل متزامن بملف سجل logs/app.log .حالة خدمة الاستعلام:
$ ./daemon_control.sh status
DaemonProcess is running.أغلق الخدمة:
$ ./daemon_control.sh stop
Stopping DaemonProcess...
DaemonProcess stopped.أعد تشغيل الخدمة:
$ ./daemon_control.sh restart
Stopping DaemonProcess...
DaemonProcess stopped.
Starting DaemonProcess...
DaemonProcess started.لتشغيل تطبيق باستخدام واجهة Gradio ، السماح للمستخدمين بالتفاعل مع الأداة من خلال واجهة الويب:
python src/gradio_server.pyhttp://localhost:7860 ، ولكن يمكنك مشاركته علنًا إذا كنت تريد. Ollama هي أداة خاصة لإدارة النماذج الكبيرة التي تدعم النشر المحلي والحاويات ، وتفاعل خط الأوامر ، ومكالمات API REST.
للحصول على إرشادات مفصلة حول إصدار خدمة نشر Ollama لتثبيت وخصخصة ، يرجى الرجوع إلى إصدار نشر وخدمة تثبيت Ollama.
للاتصال بخدمة الاستيعاب الخاصة باستخدام Ollama في Github Sentinel ، اتبع هذه الخطوات لتثبيت وتكوين:
تثبيت Ollama : يرجى تنزيل وتثبيت خدمة Ollama وفقًا للوثائق الرسمية لـ Ollama. يدعم Ollama مجموعة متنوعة من أنظمة التشغيل ، بما في ذلك Linux و Windows و MacOS.
ابدأ خدمة Ollama : بعد اكتمال التثبيت ، ابدأ خدمة Ollama مع الأمر التالي:
ollama serve بشكل افتراضي ، سيتم تشغيل Alama API على http://localhost:11434 .
تكوين استخدام Ollama في Github Sentinel : في ملف config.json ، قم بتكوين المعلومات المتعلقة بـ Ollama API:
{
"llm" : {
"model_type" : " ollama " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
}
}تحقق من التكوين : ابدأ GitHub Sentinel مع الأمر التالي وقم بإنشاء تقرير للتحقق من أن تكوين Ollama صحيح:
python src/command_tool.pyإذا تم تكوينها بشكل صحيح ، فستتمكن من إنشاء تقارير من خلال نموذج Ollama.
لضمان جودة وموثوقية الكود ، يستخدم Github Sentinel الوحدة النمطية unittest لاختبار الوحدة. للحصول على أوصاف مفصلة لـ unittest وأدواتها ذات الصلة مثل @patch و MagicMock ، يرجى الرجوع إلى تفاصيل اختبار الوحدة.
validate_tests.sh validate_tests.sh هو برنامج نصي shell يقوم بتشغيل اختبارات الوحدة ويؤكد النتائج. يتم تنفيذها أثناء عملية بناء صور Docker لضمان صحة واستقرار الرمز.
test_results.txt .لتسهيل بناء ونشر مشاريع Github Sentinel في مجموعة متنوعة من البيئات ، نقدم دعم Docker. يتضمن هذا الدعم الملفات والميزات التالية:
Dockerfile Dockerfile هو ملف تكوين يستخدم لتحديد كيفية إنشاء صورة Docker. يصف الخطوات اللازمة لإنشاء الصورة ، بما في ذلك تثبيت التبعيات ، ونسخ ملفات المشروع ، واختبارات الوحدة ، وما إلى ذلك.
python:3.10-slim كصورة أساسية وقم بتعيين دليل العمل على /app .requirements.txt المشروع.validate_tests.sh .validate_tests.sh أثناء عملية الإنشاء لضمان اجتياز جميع اختبارات الوحدة. إذا فشل الاختبار ، فستجهض عملية الإنشاء.src/main.py افتراضيًا كنقطة دخول الحاوية.build_image.sh build_image.sh هو برنامج نصي Shell لإنشاء صور Docker تلقائيًا. يأخذ اسم الفرع من فرع GIT الحالي ويستخدمه كتسمية لصورة Docker ، مما يسهل إنشاء صور Docker مختلفة على فروع مختلفة.
docker build لإنشاء صورة Docker واستخدام اسم فرع GIT الحالي كتسمية. chmod +x build_image.sh
./build_image.sh
من خلال هذه البرامج النصية وملفات التكوين ، يتم التأكد من أنه في فروع التطوير المختلفة ، تستند صور Docker المدمجة إلى التعليمات البرمجية التي تم اختبارها للوحدة ، وبالتالي تحسين جودة الكود وموثوقية النشر.
المساهمة هي ما يجعل المجتمع مفتوح المصدر مدهشًا للتعلم وإلهامه وإنشائه. شكرا جزيلا لك على أي مساهمة قدمتها. إذا كان لديك أي اقتراحات أو طلبات ميزة ، فيرجى بدء تشغيل موضوع لمناقشة ما تريد تغييره.
تم ترخيص المشروع بموجب شروط ترخيص Apache-2.0. انظر ملف الترخيص للحصول على التفاصيل.
Django Peng - [email protected]
رابط المشروع: https://github.com/djangopeng/githubsentinel