前言
作为开发者,每天手动浏览 GitHub Trending 榜单面临信息过载、英文文档阅读困难及缺乏业务关联思考等问题。为此,设计并开发了一个 GitHub Insight Agent,自动抓取热门项目,利用大语言模型进行深度分析,并将整理好的日报推送到飞书或钉钉。
功能特性
该 Agent 具备感知、思考和表达能力:
- 深度解析:不只是翻译,而是通过 Prompt 让 AI 阅读源码文档,提供一句话总结、核心痛点及商业应用场景建议。
- 结构化输出:推送消息卡片排版舒适,信息清晰。
- 自动化调度:利用 GitHub Actions 定时任务运行,无需额外服务器资源。
技术架构
系统采用解耦设计:
- 数据源 (Collector):使用
requests+BeautifulSoup抓取 GitHub Trending 榜单。 - 素材获取 (Fetcher):调用 GitHub API 获取项目的 README.md 原始内容。
- 大脑 (Analyzer):接入 DeepSeek 或 OpenAI API,使用 Prompt Engineering 输出结构化 JSON 数据。
- 推送 (Notifier):通过 Webhook 对接飞书/钉钉群机器人。
- 调度 (Scheduler):
.github/workflows实现 Cron 定时任务。
核心逻辑如下:
def main():
projects = get_trending()
for p in projects:
readme = get_readme(p.name)
report = ai_analyze(readme)
send_to_im(report)
部署指南
- Fork 项目:克隆仓库到本地。
- 准备 API Key:配置 LLM API Key(推荐 DeepSeek 或 OpenAI)及 Webhook 地址。
- 配置 Secrets:在仓库 Settings -> Secrets and variables -> Actions 中填入以下变量:
LLM_API_KEY: 你的 keyLLM_BASE_URL: 你的模型地址NOTIFIER_WEBHOOK: 你的机器人地址
- 运行:提交代码后,Actions 页面将自动触发定时任务。
Prompt 设计要点
为了让 AI 生成高质量内容,需优化提示词:
- 角色设定:设定为'极具商业洞察力的技术专家'。
- 思维链 (CoT):要求 AI 先理解核心逻辑,再发散应用场景。
- 防幻觉:明确指示'不知道的细节就说不知道,严禁瞎编'。
具体的 Prompt 内容可参考项目中的 prompts/ 文件夹。
结语
该项目演示了 AI Agent 从数据获取到决策分析再到行动触达的闭环。通过掌握工具,可以将时间花在真正有价值的思考上,从无效的信息流中解脱出来。


