TrendPulse 是一个智能的 GitHub 趋势分析工具,专注于追踪 AI 编程工具和智能体的最新动态。
它使用 AI 自动分析 GitHub 活动,提取重要的技术趋势和创新点,并以结构化的报告展示。
- 🔍 智能采集: 使用 GitHub API 实时获取 PR、Issue、Release
- 🤖 AI 分析: 使用 glm-4.7 提取趋势信号和关键洞察
- 📊 每日报告: 自动生成结构化的 Markdown 和 JSON 趋势分析报告
- 🎯 多维分类: 工程实践、研究成果、生态动向等分类
- 🌐 自动发布: GitHub Pages 自动展示报告
- ⚡ TDD 开发: 测试驱动开发,代码质量有保障
- 🚀 并行处理: 数据采集和 AI 分析并行化,提升处理效率
- 📱 飞书通知: 支持飞书机器人推送趋势报告(可选)
| 分类 | 说明 | 示例 |
|---|---|---|
| 🔧 工程信号 | Claude 工具链、SDK、框架更新 | 新增 API、性能优化、Bug 修复 |
| 🔬 研究信号 | 论文、实验、技术探索 | 新模型、评估方法、基准测试 |
graph LR
A[GitHub API] --> B[事件采集]
B --> C[智能筛选]
C --> D[AI 分析]
D --> E[报告生成]
E --> F[GitHub Pages]
- Python 3.13+
- uv - 极速包管理器
- 智谱 AI API Key
# 克隆仓库
git clone https://github.com/gqy20/TrendPluse.git
cd TrendPluse
# 安装依赖
uv sync --extra dev
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入 ANTHROPIC_API_KEY创建 .env 文件:
# 必需配置
ANTHROPIC_API_KEY=your_zhipu_api_key_here
ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
# 可选配置(提高 GitHub API 速率限制)
GITHUB_TOKEN=your_github_token_here
# 飞书通知(可选)
FEISHU_WEBHOOK_URL=your_feishu_webhook_url
FEISHU_SECRET=your_feishu_secret
FEISHU_AT_MOBILES=13800138000,13900139000- 访问 智谱 AI 开放平台
- 注册/登录账号
- 进入 API Keys 页面
- 创建新的 API Key
# 运行每日趋势分析
uv run python scripts/run.py
# 查看生成的报告
ls reports/daily reports/weekly
# reports/daily/report-2026-01-02.md
# reports/weekly/weekly-2026-W04.md# 代码检查
make check
# 或: uv run ruff check .
# 代码格式化
make format
# 或: uv run ruff format .
# 类型检查
make typecheck
# 或: uv run mypy src/trendpluse
# 运行所有检查
make all# 运行测试
make test
# 或: uv run pytest
# 运行测试并生成覆盖率报告
make test-cov
# 或: uv run pytest --cov=src/trendpluse --cov-report=html# 运行每日趋势分析
make run
# 或: uv run python scripts/run.py
# 生成报告索引
make gen-index
# 或: uv run python scripts/generate_report_index.py
# 同步仓库列表到文档
make sync-repos
# 或: uv run python scripts/sync_repos_to_docs.py# 构建文档
make docs
# 或: uv run mkdocs build
# 预览文档(本地)
make docs-serve
# 或: uv run mkdocs serve项目配置了自动化工作流:
- CI - 每次 PR/push 时运行测试和代码检查
- 每日分析 - 每天 UTC 0:10 自动生成趋势报告(北京时间 8:10)
- 文档部署 - 报告更新后自动部署到 GitHub Pages
- 飞书通知 - 可选的飞书机器人推送
TrendPluse/
├── .github/
│ └── workflows/ # GitHub Actions 配置
│ ├── ci.yml # CI workflow
│ ├── run-daily.yml # 每日分析
│ ├── deploy-pages.yml # Pages 部署
│ ├── send-feishu.yml # 飞书通知
│ └── process_repo_request.yml # 仓库请求处理
├── docs/ # MkDocs 文档源文件
│ ├── index.md # 首页
│ ├── reports/ # 报告目录
│ │ └── index.md # 报告索引
│ └── stylesheets/ # 自定义样式
├── reports/ # 生成的趋势报告
│ ├── daily/ # 每日报告
│ ├── weekly/ # 周报
│ └── discovery/ # 发现报告
├── scripts/ # 工具脚本
│ ├── run.py # 主程序入口
│ ├── generate_report_index.py # 生成报告索引
│ ├── sync_repos_to_docs.py # 同步仓库列表到文档
│ ├── add_repo.py # 添加监控仓库
│ ├── send_feishu_notification.py # 发送飞书通知
│ └── repos_doc_generator.py # 仓库文档生成器
├── src/trendpluse/ # 源代码
│ ├── analyzers/ # AI 分析器
│ │ ├── base.py # LLM 分析器基类
│ │ ├── trend_analyzer.py # PR 趋势分析
│ │ ├── commit_analyzer.py # Commit 分析
│ │ ├── release_analyzer.py # Release 分析
│ │ ├── release_summarizer.py # Release AI 总结
│ │ ├── breaking_changes_detector.py # 不兼容变更检测
│ │ └── signal_deduplicator.py # 信号去重
│ ├── collectors/ # 数据采集器
│ │ ├── github_events.py # GitHub 事件采集
│ │ ├── activity.py # 活跃度采集
│ │ ├── releases.py # Release 采集
│ │ ├── filter.py # 事件筛选
│ │ ├── github_api.py # GitHub API 封装
│ │ └── parallel.py # 并行采集框架
│ ├── models/ # 数据模型
│ │ └── signal.py # 信号和报告模型
│ ├── reporters/ # 报告生成器
│ │ └── markdown_reporter.py # Markdown 报告生成
│ ├── notifiers/ # 通知发送
│ │ ├── base.py # 通知器基类
│ │ ├── feishu.py # 飞书通知
│ │ └── formatters/
│ │ └── feishu.py # 飞书卡片格式化
│ ├── config.py # 配置管理
│ ├── pipeline.py # 主流程协调器
│ ├── logger.py # 日志系统
│ ├── core.py # 核心基础函数
│ └── main.py # 命令行入口
├── tests/ # 测试文件
│ └── unit/
├── data/ # 数据文件
│ ├── signal_history.json # 信号历史记录
│ └── snapshots/ # 数据快照
├── mkdocs.yml # MkDocs 配置
├── pyproject.toml # 项目配置
└── README.md # 本文件
每日生成的报告会自动发布到 GitHub Pages:
👉 查看在线报告
报告包含:
- 📊 当日趋势总览
- 🔧 工程信号详情(折叠面板)
- 🔬 研究信号详情(折叠面板)
- 🚀 Release AI 总结
- 📈 活跃度统计
- 🔗 完整 JSON 数据(机器可读)
- 语言:注释和文档使用中文
- 命名:函数和类使用英文
- 类型注解:必需
- 文档字符串:Google 风格中文文档
- 提交规范:feat/fix/docs/refactor/test/chore
# 1. 编写测试
vim tests/unit/test_feature.py
# 2. 运行测试(失败)
make test tests/unit/test_feature.py
# 3. 实现功能
vim src/trendpluse/feature.py
# 4. 运行测试(通过)
make test tests/unit/test_feature.py
# 5. 代码检查
make check
make format
# 6. 提交
git add .
git commit -m "feat: add new feature"默认追踪以下仓库:
anthropics/claude-code- Claude Code 编程助手anthropics/skills- Claude Agent 技能库anthropics/claude-cookbooks- Claude 食谱示例anthropics/claude-quickstarts- Claude 快速开始示例anthropics/courses- Claude 课程anthropics/prompt-eng-interactive-tutorial- Prompt 工程交互教程
anthropics/claude-agent-sdk-python- Claude Agent SDK (Python)anthropics/claude-agent-sdk-typescript- Claude Agent SDK (TypeScript)anthropics/claude-agent-sdk-demos- Claude Agent SDK 示例anthropics/anthropic-sdk-python- Anthropic SDK (Python)anthropics/anthropic-sdk-typescript- Anthropic SDK (TypeScript)anthropics/anthropic-sdk-go- Anthropic SDK (Go)anthropics/anthropic-sdk-java- Anthropic SDK (Java)
anthropics/claude-code-action- Claude Code GitHub Actionanthropics/claude-code-security-review- Claude Code 安全审查anthropics/claude-plugins-official- Claude 官方插件anthropics/devcontainer-features- DevContainer 特性
anthropics/evals- Anthropic 评估工具anthropics/political-neutrality-eval- 政治中立性评估anthropics/hh-rlhf- HH-RLHF 研究
cline/cline- Autonomous coding agentpaul-gauthier/aider- AI pair programming toolcontinuedev/continue- AI code assistantAndyMik90/Auto-Claude- 自主多会话 AI 编程anomalyco/opencode- 开源 Claude Code 替代openinterpreter/open-interpreter- 代码解释器TabbyML/tabby- 自托管代码补全zed-industries/zed- AI 原生编辑器
openai/openai-python- OpenAI Python SDKopenai/openai-quickstart-python- OpenAI Quickstartdanielmiessler/fabric- AI 工作流工具ErikBjare/gptme- AI 终端助手
langchain-ai/langchain- LangChain 框架langchain-ai/langgraph- 图状态多代理系统langgenius/dify- Dify LLM 应用开发平台run-llama/llama_index- LlamaIndex 数据框架microsoft/autogen- Microsoft AutoGenmicrosoft/semantic-kernel- 企业级 SDKTransformerOptimus/SuperAGI- SuperAGI 框架Significant-Gravitas/AutoGPT- AutoGPTOpenDevin/OpenDevin- OpenDevingoogle-gemini/gemini-cli- Gemini CLI 工具agentscope-ai/agentscope- AgentScope 框架agno-agi/agno- 多代理框架
openai/swarm- OpenAI 多代理编排openai/codex- 终端编程代理crewAIInc/crewAI- 角色扮演多代理框架huggingface/smolagents- 代码驱动代理ruvnet/claude-flow- Claude Agent 平台bytedance/deer-flow- 深度研究框架langchain-ai/deepagents- 深度代理
可在 src/trendpluse/config.py 中添加更多仓库。
问题: 运行 scripts/run.py 失败
解决方案:
# 检查环境变量
echo $ANTHROPIC_API_KEY
echo $ANTHROPIC_BASE_URL
# 查看详细日志
RUST_LOG=debug uv run python scripts/run.py问题: reports/ 目录为空
可能原因:
- 当日没有符合条件的 PR
- GitHub API 速率限制
- 网络连接问题
解决方案:
- 使用 GitHub Token 提高速率限制
- 检查网络连接
- 查看日志输出
问题: Workflow 运行失败
解决方案:
# 查看 workflow 运行日志
gh run list
gh run view <run_id> --log-failed
# 检查 secrets 配置
gh secret list问题: 报告生成成功但未收到飞书通知
可能原因:
FEISHU_WEBHOOK_URL配置错误FEISHU_SECRET验证失败- 网络连接问题
解决方案:
# 检查环境变量配置
echo $FEISHU_WEBHOOK_URL
echo $FEISHU_SECRET
# 手动发送通知测试
uv run python scripts/send_feishu_notification.py
# 查看飞书卡片内容
cat feishu_card.json欢迎贡献!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'feat: add AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
MIT License
Copyright © 2026 gqy20