Bahasa Inggris |
validate_tests.sh
Dockerfile
build_image.sh
Github Sentinel adalah AI Agent
yang dirancang untuk pengambilan informasi cerdas dan penambangan konten bernilai tinggi yang dirancang khusus untuk era model besar (LLMS). Ini ditujukan untuk pengguna yang membutuhkan frekuensi tinggi dan sejumlah besar akuisisi informasi, terutama penggemar open source, pengembang individu dan investor.
Github Sentinel tidak hanya membantu pengguna secara otomatis melacak dan menganalisis pembaruan terbaru dari GitHub 开源项目
, tetapi juga dengan cepat berkembang ke saluran informasi lain, seperti topik populer Hacker News
, menyediakan kemampuan penambangan informasi dan analisis yang lebih komprehensif.
Pelacakan dan Ringkasan Kemajuan Proyek GitHub
Berita Hacker Topik Topik Teknik Panas
Pertama, instal dependensi yang diperlukan:
pip install -r requirements.txt
Edit file config.json
untuk mengatur token github Anda, pengaturan email (mengambil tencent wechat mailbox sebagai contoh), file berlangganan, perbarui pengaturan, konfigurasi layanan model besar (mendukung OpenAI GPT API dan Ollama Private Big Model Service) secara otomatis mengambil dan menghasilkan Laporan (GITHUB Kemajuan Proyek, Hacker News Topics dan Topik Topik-Topik Topik-Jalur-tepi Topik Ujung Manding
{
"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 "
}
}
Untuk alasan keamanan: baik token github dan pengaturan kata sandi email konfigurasi mendukung variabel lingkungan untuk menghindari konfigurasi informasi penting secara eksplisit, seperti yang ditunjukkan di bawah ini:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
Github Sentinel mendukung tiga cara berlari berikut:
Anda dapat menjalankan aplikasi secara interaktif dari baris perintah:
python src/command_tool.py
Dalam mode ini, Anda dapat secara manual memasukkan perintah untuk mengelola langganan, mengambil pembaruan, dan menghasilkan laporan.
Untuk menjalankan aplikasi sebagai layanan latar belakang (Daemon), itu akan diperbarui secara otomatis berdasarkan konfigurasi yang relevan.
Anda dapat memulai, status kueri, menutup dan restart langsung menggunakan skrip manajemen daemon daemon_control.sh:
Mulai Layanan:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.
config.json
, dan mengirim email.logs/DaemonProcess.log
. Pada saat yang sama, log kumulatif historis juga akan ditambahkan secara sinkron ke file log logs/app.log
.Status Layanan Permintaan:
$ ./daemon_control.sh status
DaemonProcess is running.
Tutup layanan:
$ ./daemon_control.sh stop
Stopping DaemonProcess...
DaemonProcess stopped.
Restart Layanan:
$ ./daemon_control.sh restart
Stopping DaemonProcess...
DaemonProcess stopped.
Starting DaemonProcess...
DaemonProcess started.
Untuk menjalankan aplikasi menggunakan antarmuka gradio, memungkinkan pengguna untuk berinteraksi dengan alat melalui antarmuka web:
python src/gradio_server.py
http://localhost:7860
, tetapi Anda dapat membagikannya secara publik jika Anda mau. Ollama adalah alat manajemen model besar swasta yang mendukung penyebaran lokal dan kemah, interaksi baris perintah, dan panggilan API REST.
Untuk instruksi terperinci tentang pelepasan layanan mockup penyebaran dan privatisasi ollama, silakan merujuk pada rilis penyebaran dan layanan instalasi Ollama.
Untuk menghubungi layanan mockup pribadi menggunakan Ollama di Github Sentinel, ikuti langkah -langkah ini untuk menginstal dan mengonfigurasi:
Instal Ollama : Silakan unduh dan instal Layanan Ollama sesuai dengan dokumentasi resmi Ollama. Ollama mendukung berbagai sistem operasi, termasuk Linux, Windows, dan MacOS.
Mulai Layanan Ollama : Setelah instalasi selesai, mulailah layanan Ollama dengan perintah berikut:
ollama serve
Secara default, API Ollama akan berjalan di http://localhost:11434
.
Mengkonfigurasi Penggunaan Ollama di Github Sentinel : Di file config.json
, konfigurasikan informasi terkait API Ollama:
{
"llm" : {
"model_type" : " ollama " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
}
}
Verifikasi konfigurasi : Mulai GitHub Sentinel dengan perintah berikut dan buat laporan untuk memverifikasi bahwa konfigurasi ollama benar:
python src/command_tool.py
Jika dikonfigurasi dengan benar, Anda akan dapat menghasilkan laporan melalui model Ollama.
Untuk memastikan kualitas dan keandalan kode, GitHub Sentinel menggunakan modul unittest
untuk pengujian unit. Untuk deskripsi terperinci tentang unittest
dan alat -alat terkait seperti @patch
dan MagicMock
, silakan merujuk ke detail tes unit.
validate_tests.sh
validate_tests.sh
adalah skrip shell yang menjalankan tes unit dan memvalidasi hasilnya. Ini dieksekusi selama proses pembangunan gambar Docker untuk memastikan kebenaran dan stabilitas kode.
test_results.txt
.Untuk memfasilitasi konstruksi dan penyebaran proyek -proyek Sentinel GitHub di berbagai lingkungan, kami memberikan dukungan Docker. Dukungan ini mencakup file dan fitur berikut:
Dockerfile
Dockerfile
adalah file konfigurasi yang digunakan untuk menentukan cara membangun gambar Docker. Ini menjelaskan langkah -langkah untuk membangun gambar, termasuk menginstal dependensi, menyalin file proyek, menjalankan tes unit, dll.
python:3.10-slim
sebagai gambar dasar dan atur direktori kerja ke /app
.requirements.txt
proyek dan instal dependensi Python.validate_tests.sh
.validate_tests.sh
selama proses pembangunan untuk memastikan bahwa semua tes unit lulus. Jika tes gagal, proses pembangunan akan dibatalkan.src/main.py
akan dijalankan secara default sebagai titik masuk wadah.build_image.sh
build_image.sh
adalah skrip shell untuk secara otomatis membangun gambar Docker. Dibutuhkan nama cabang dari cabang Git saat ini dan menggunakannya sebagai label untuk gambar Docker, membuatnya lebih mudah untuk menghasilkan gambar Docker yang berbeda di cabang yang berbeda.
docker build
untuk membangun gambar Docker dan gunakan nama cabang Git saat ini sebagai label. chmod +x build_image.sh
./build_image.sh
Melalui skrip ini dan file konfigurasi, dipastikan bahwa di berbagai cabang pengembangan, gambar Docker yang dibangun didasarkan pada kode yang telah diuji unit, sehingga meningkatkan kualitas kode dan keandalan penyebaran.
Kontribusi adalah apa yang membuat komunitas open source luar biasa untuk dipelajari, menginspirasi, dan menciptakan. Terima kasih banyak atas kontribusi yang telah Anda buat. Jika Anda memiliki saran atau permintaan fitur, silakan mulai topik untuk membahas apa yang ingin Anda ubah.
Proyek ini dilisensikan berdasarkan ketentuan lisensi APACHE-2.0. Lihat file lisensi untuk detailnya.
Django Peng - [email protected]
Tautan Proyek: https://github.com/djangopeng/githubsentinel