ภาษาอังกฤษ
validate_tests.shDockerfilebuild_image.sh GitHub Sentinel เป็น AI Agent ที่ออกแบบมาสำหรับการดึงข้อมูลอัจฉริยะและการขุดเนื้อหาที่มีมูลค่าสูงซึ่งออกแบบมาเป็นพิเศษสำหรับยุคของรุ่นใหญ่ (LLMS) มันมีวัตถุประสงค์เพื่อผู้ใช้ที่ต้องการความถี่สูงและการเก็บข้อมูลจำนวนมากโดยเฉพาะอย่างยิ่งผู้ที่ชื่นชอบโอเพนซอร์สนักพัฒนารายบุคคลและนักลงทุน
GitHub Sentinel ไม่เพียง แต่ช่วยให้ผู้ใช้ติดตามและวิเคราะห์การอัปเดตล่าสุดของ GitHub 开源项目โดยอัตโนมัติ แต่ยังขยายไปยังช่องข้อมูลอื่น ๆ อย่างรวดเร็วเช่นหัวข้อยอดนิยมของ Hacker News ซึ่งให้ความสามารถในการขุดและการวิเคราะห์ข้อมูลที่ครอบคลุมมากขึ้น
การติดตามความคืบหน้าของโครงการ GitHub และสรุป

Hacker News Hot Tech Tope Mining 
ขั้นแรกให้ติดตั้งการพึ่งพาที่ต้องการ:
pip install -r requirements.txt แก้ไขไฟล์ config.json เพื่อตั้งค่าโทเค็น GitHub ของคุณการตั้งค่าอีเมล (ใช้ Tencent WeChat Mailbox เป็นตัวอย่าง), ไฟล์สมัครสมาชิก, การตั้งค่าอัปเดต, การกำหนดค่าบริการโมเดลขนาดใหญ่ (รองรับ OpenAI GPT API และบริการรุ่นใหญ่ของ OpenAI GPT
{
"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 และการตั้งค่ารหัสผ่านอีเมลสนับสนุนการกำหนดค่าโดยใช้ตัวแปรสภาพแวดล้อมเพื่อหลีกเลี่ยงการกำหนดค่าข้อมูลที่สำคัญอย่างชัดเจนดังแสดงด้านล่าง:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "GitHub Sentinel รองรับการวิ่งสามวิธีต่อไปนี้:
คุณสามารถเรียกใช้แอปแบบโต้ตอบได้จากบรรทัดคำสั่ง:
python src/command_tool.pyในโหมดนี้คุณสามารถป้อนคำสั่งด้วยตนเองเพื่อจัดการการสมัครสมาชิกดึงข้อมูลอัปเดตและสร้างรายงาน
ในการเรียกใช้แอพเป็นบริการพื้นหลัง (daemon) จะได้รับการอัปเดตโดยอัตโนมัติตามการกำหนดค่าที่เกี่ยวข้อง
คุณสามารถเริ่มสถานะการสืบค้นปิดและรีสตาร์ทโดยตรงโดยใช้สคริปต์การจัดการ daemon daemon_control.sh:
เริ่มบริการ:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.config.json และส่งอีเมลlogs/DaemonProcess.log ในเวลาเดียวกันบันทึกสะสมในอดีตจะถูกผนวกเข้ากับไฟล์ logs/app.log 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 เป็นเครื่องมือจัดการโมเดลขนาดใหญ่ส่วนตัวที่รองรับการปรับใช้ในท้องถิ่นและคอนเทนเนอร์การโต้ตอบบรรทัดคำสั่งและการโทร REST API
สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการเปิดตัวการติดตั้ง Ollama และบริการจำลองการแปรรูปของ Ollama โปรดดูที่การปรับใช้และบริการการติดตั้ง Ollama
หากต้องการโทรหาบริการจำลองส่วนตัวโดยใช้ Ollama ใน GitHub Sentinel ให้ทำตามขั้นตอนเหล่านี้เพื่อติดตั้งและกำหนดค่า:
ติดตั้ง Ollama : โปรดดาวน์โหลดและติดตั้งบริการ Ollama ตามเอกสารอย่างเป็นทางการของ Ollama Ollama รองรับระบบปฏิบัติการที่หลากหลายรวมถึง Linux, Windows และ MacOS
เริ่มบริการ Ollama : หลังจากการติดตั้งเสร็จสมบูรณ์ให้เริ่มบริการ Ollama ด้วยคำสั่งต่อไปนี้:
ollama serve โดยค่าเริ่มต้น Ollama 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 เป็นเชลล์สคริปต์ที่เรียกใช้การทดสอบหน่วยและตรวจสอบผลลัพธ์ มันถูกดำเนินการในระหว่างกระบวนการสร้างภาพ Docker เพื่อให้แน่ใจว่าความถูกต้องและความเสถียรของรหัส
test_results.txtเพื่ออำนวยความสะดวกในการก่อสร้างและการปรับใช้โครงการ GitHub Sentinel ในสภาพแวดล้อมที่หลากหลายเราให้การสนับสนุน Docker การสนับสนุนนี้รวมถึงไฟล์และคุณสมบัติต่อไปนี้:
Dockerfile Dockerfile เป็นไฟล์การกำหนดค่าที่ใช้เพื่อกำหนดวิธีการสร้างอิมเมจนักเทียบท่า มันอธิบายขั้นตอนในการสร้างภาพรวมถึงการติดตั้งการพึ่งพาการคัดลอกไฟล์โครงการการทดสอบหน่วยการรัน ฯลฯ ฯลฯ
python:3.10-slim เป็นภาพพื้นฐานและตั้งค่าไดเรกทอรีการทำงานเป็น /apprequirements.txt ของโครงการ txt และติดตั้งการพึ่งพา Pythonvalidate_tests.shvalidate_tests.sh ระหว่างกระบวนการสร้างเพื่อให้แน่ใจว่าการทดสอบหน่วยทั้งหมดผ่าน หากการทดสอบล้มเหลวกระบวนการสร้างจะยกเลิกsrc/main.py จะถูกเรียกใช้โดยค่าเริ่มต้นเป็นจุดเริ่มต้นของคอนเทนเนอร์build_image.sh build_image.sh เป็นเชลล์สคริปต์สำหรับการสร้างภาพท่าเทียบเรือโดยอัตโนมัติ ใช้ชื่อสาขาจากสาขา GIT ปัจจุบันและใช้เป็นฉลากสำหรับภาพนักเทียบท่าทำให้ง่ายต่อการสร้างภาพนักเทียบท่าที่แตกต่างกันในสาขาที่แตกต่างกัน
docker build เพื่อสร้างอิมเมจนักเทียบท่าและใช้ชื่อสาขา GIT ปัจจุบันเป็นฉลาก chmod +x build_image.sh
./build_image.sh
ผ่านสคริปต์และไฟล์การกำหนดค่าเหล่านี้จะทำให้มั่นใจได้ว่าในสาขาการพัฒนาที่แตกต่างกันภาพ Docker ที่สร้างขึ้นจะขึ้นอยู่กับรหัสที่ทดสอบโดยหน่วยซึ่งจะปรับปรุงคุณภาพของรหัสและความน่าเชื่อถือการปรับใช้
การมีส่วนร่วมคือสิ่งที่ทำให้ชุมชนโอเพ่นซอร์สน่าทึ่งในการเรียนรู้สร้างแรงบันดาลใจและสร้าง ขอบคุณมากสำหรับการบริจาคใด ๆ ที่คุณทำ หากคุณมีคำแนะนำหรือคำขอคุณสมบัติโปรดเริ่มหัวข้อเพื่อหารือเกี่ยวกับสิ่งที่คุณต้องการเปลี่ยนแปลง
โครงการได้รับใบอนุญาตภายใต้ข้อกำหนดของใบอนุญาต Apache-2.0 ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
django peng - [email protected]
ลิงค์โครงการ: https://github.com/djangopeng/githubsentinel