TrendPulse 是一个智能的 GitHub 趋势分析工具,专注于追踪 AI 编程工具和智能体的最新动态。
它使用 AI 自动分析 GitHub 活动,提取重要的技术趋势和创新点,并以结构化的报告展示。
- 🔍 智能采集: 使用 GitHub API 实时获取 PR、Issue、Release
- 🤖 AI 分析: 使用 glm-4.7 提取趋势信号和关键洞察
- 📊 每日报告: 自动生成结构化的 Markdown 和 JSON 趋势分析报告
- 🧠 Issue 洞察: 基于 Issue Agent 的结构化分析提取用户痛点,输出质量分与语义验收指标
- 🧭 历史感知摘要: 默认启用日报总结 Agent,结合全量历史日报重写当天摘要
- 🧭 项目发现: 自动发现候选项目并按质量分层推荐(discovery 报告)
- 📆 周报聚合: 聚合近 7 天日报生成 weekly 报告
- 🎯 多维分类: 工程实践、研究成果、生态动向等分类
- 🌐 自动发布: GitHub Pages 自动展示报告
- ⚡ TDD 开发: 测试驱动开发,代码质量有保障
- 🚀 并行处理: 数据采集和 AI 分析并行化,提升处理效率
- 📱 飞书通知: 支持飞书机器人推送趋势报告(可选)
| 分类 | 说明 | 示例 |
|---|---|---|
| 🔧 工程信号 | Claude 工具链、SDK、框架更新 | 新增 API、性能优化、Bug 修复 |
| 🔬 研究信号 | 论文、实验、技术探索 | 新模型、评估方法、基准测试 |
- 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
# 日报总结 Agent(默认启用)
ENABLE_DAILY_SUMMARY_AGENT=true
DAILY_SUMMARY_AGENT_MAX_TURNS=20
DAILY_SUMMARY_AGENT_MAX_BUDGET_USD=5.0
DAILY_SUMMARY_AGENT_RETRY_MAX_ATTEMPTS=2
DAILY_SUMMARY_AGENT_RETRY_WAIT_SECONDS=0.0
# Issue Agent(默认随 daily workflow 运行)
ENABLE_ISSUE_AGENT_ANALYSIS=true
ISSUE_AGENT_RETRY_MAX_ATTEMPTS=3
ISSUE_AGENT_RETRY_WAIT_SECONDS=1.0- 访问 智谱 AI 开放平台
- 注册/登录账号
- 进入 API Keys 页面
- 创建新的 API Key
# 运行每日趋势分析
uv run trendpluse-run
# 查看生成的报告
ls reports/daily reports/weekly
# reports/daily/report-2026-01-02.md
# reports/weekly/weekly-2026-W04.mdsrc/trendpluse/
cli/ # 命令入口与参数解析
automation/ # 可复用批处理实现
collectors/ # 数据采集与材料构建
analyzers/ # LLM 分析、去重、聚合
workflows/ # 日报/周报/issue/output 工作流
models/ # 结构化模型
discovery/ # 项目发现子系统
notifiers/ # 飞书通知
pipeline.py # 总编排入口
# 代码检查
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
# 关键异步/主流程回归
uv run pytest tests/unit/test_async_analyzers.py tests/unit/test_pipeline.py -q# 运行每日趋势分析
make run
# 或: uv run trendpluse-run
# 运行周报聚合(仅 GitHub Actions 环境)
uv run trendpluse-run-weekly
# 运行项目发现
uv run trendpluse-discover-projects --days 30 --min-quality 60 --output-dir reports
# 生成报告索引
make gen-index
# 或: uv run trendpluse-generate-report-index
# 同步仓库列表到文档
make sync-repos
# 或: uv run trendpluse-sync-repos-to-docs# 构建文档
make docs
# 或: uv run python -m mkdocs build
# 预览文档(本地)
make docs-serve
# 或: uv run python -m mkdocs serve项目配置了自动化工作流:
- CI - 每次 PR/push 时运行测试和代码检查
- 每日分析 - 每天 UTC 0:10 自动生成趋势报告(北京时间 8:10)
- 每周报告 - 定时聚合日报生成周报
- 项目发现 - 定时发现候选项目并生成 discovery 报告
- Issue 仓库分析 - 在 issue/comment 中通过
@claude触发仓库分析 - 新增仓库请求 - 通过 workflow 自动处理仓库新增请求
- 文档部署 - 报告更新后自动部署到 GitHub Pages
- 飞书通知 - 可选的飞书机器人推送(日报/周报)
- 每日分析主入口:
trendpluse-run - 周报生成:
trendpluse-run-weekly - 项目发现:
trendpluse-discover-projects - Issue Agent 分析:
trendpluse-analyze-issues - 报告索引生成:
trendpluse-generate-report-index - 仓库同步文档:
trendpluse-sync-repos-to-docs - 统计归一化工具:
trendpluse-normalize-daily-stats
每日生成的报告会自动发布到 GitHub Pages:
👉 查看在线报告
报告包含:
- 📊 当日趋势总览
- 🧭 基于全量历史日报的当日趋势位置判断
- 🔧 工程信号详情(折叠面板)
- 🔬 研究信号详情(折叠面板)
- 🚀 Release AI 总结
- 📈 活跃度统计
- 🔗 完整 JSON 数据(机器可读)
- 默认启用,前提是配置了
ANTHROPIC_API_KEY - 使用 Claude Agent SDK 的
query()单次任务模式 - 先读取历史日报索引,再由智能体自主决定需要回读哪些历史日报原文
- 输出采用 JSON Schema + Pydantic 双重校验
- 校验失败会按配置自动重试,多次失败后回退原摘要,不阻塞日报主流程
- 语言:注释和文档使用中文
- 命名:函数和类使用英文
- 类型注解:必需
- 文档字符串:Google 风格中文文档
- 提交规范:feat/fix/docs/refactor/test/chore
# 1. 编写测试
vim tests/unit/test_feature.py
# 2. 运行测试(失败)
uv run pytest tests/unit/test_feature.py
# 3. 实现功能
vim src/trendpluse/feature.py
# 4. 运行测试(通过)
uv run pytest 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- 深度代理
推荐修改仓库根目录的 repos.json,或通过环境变量覆盖:
export GITHUB_REPOS="anthropics/claude-code,your-org/your-repo"- 顶层
tests/test_*.py覆盖基础模块与包级行为 tests/unit/覆盖 collectors、analyzers、workflows、CLI 和配置- CLI 收口通过 test_cli_help_smoke.py 做冒烟保护
- 配置测试会显式清理环境变量,避免受本机或 CI 环境污染
问题: 运行 trendpluse-run 失败
解决方案:
# 检查环境变量
echo $ANTHROPIC_API_KEY
echo $ANTHROPIC_BASE_URL
# 查看详细日志
RUST_LOG=debug uv run trendpluse-run问题: 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 trendpluse-send-feishu
# 查看飞书卡片内容
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