智能 GitHub 项目发现工具 - 基于意图驱动的项目推荐系统
RadarZ 是一个智能 GitHub 项目发现工具,旨在解决"如何找到一个真正适合我当前需求的 GitHub 项目"这一核心问题。
与传统的关键词搜索不同,RadarZ 通过 AI 理解你的真实意图,智能生成搜索策略,并为你推荐真正匹配需求的项目。
- 🎯 意图驱动搜索 - 理解你的真实需求,而非简单的关键词匹配
- 🤖 AI 智能推荐 - 使用 LangGraph + ReAct 框架进行深度分析和推荐
- ⚡ 流式返回 - 实时展示搜索结果,优化用户体验
- 📊 项目摘要 - 自动生成项目深度分析,包括技术栈、适用场景等
- 🔍 智能验证 - 自动验证项目质量、活跃度和维护状态
- 📈 Trending 浏览 - 发现当日热门 GitHub 项目
- 框架: FastAPI
- AI 框架: LangChain + LangGraph
- 推理模式: ReAct (Reasoning + Acting) / Workflow
- 框架: Next.js 16 (App Router) + React + TypeScript
- 样式: Tailwind CSS
- 图标: Lucide React
- Python >= 3.12
- Node.js >= 18
- pnpm (推荐) 或 npm/yarn
- 进入后端目录:
cd backend- 安装依赖(使用 uv 或 pip):
# 使用 uv (推荐)
uv sync
# 或使用 pip
pip install -e .- 配置环境变量:
创建
.env文件,添加必要的 API 密钥:
GITHUB_TOKEN=your_github_token
GOOGLE_API_KEY=your_google_api_key # 或使用 OPENAI_API_KEY
TAVILY_API_KEY=your_tavily_api_key- 启动后端服务:
uvicorn main:app --reload后端服务将在 http://localhost:8000 启动。
- 进入前端目录:
cd frontend- 安装依赖:
pnpm install
# 或
npm install- 启动开发服务器:
pnpm dev
# 或
npm run dev前端应用将在 http://localhost:3000 启动。
- "我想做一个个人知识库 RAG,偏 demo,但代码要清楚"
- "生产可用的 RAG 系统,支持权限、多租户"
- "学习 RAG 的工程结构,Python 实现"
- "Next.js 仪表盘模板,支持 TypeScript"
RadarZ 会理解你的意图,生成合适的搜索策略,并推荐匹配的项目。
RadarZ/
├── backend/ # 后端服务
│ ├── main.py # FastAPI 应用入口
│ ├── src/
│ │ ├── agent/ # 传统 Agent 工作流
│ │ ├── React/ # ReAct 框架实现
│ │ ├── searchagent/ # 搜索 Agent
│ │ ├── github/ # GitHub API 客户端
│ │ └── models.py # 数据模型
│ └── pyproject.toml # Python 依赖配置
│
└── frontend/ # 前端应用
├── app/ # Next.js App Router
│ ├── page.tsx # 首页
│ ├── explore/ # 项目浏览页
│ └── project/ # 项目详情页
├── components/ # React 组件
│ ├── SearchBar.tsx # 搜索栏
│ ├── SearchResults.tsx # 搜索结果
│ └── ...
└── hooks/ # React Hooks
└── useSearch.ts # 搜索逻辑
- 意图理解 - AI 分析用户输入,理解真实需求
- 查询生成 - 生成多个精准的 GitHub 搜索查询
- 项目搜索 - 并行执行多个搜索查询
- 项目验证 - 使用 AI 验证每个项目是否符合需求
- 流式返回 - 实时返回验证通过的项目
使用 ReAct (Reasoning + Acting) 框架:
- Think - 分析项目 README,决定需要哪些额外信息
- Act - 执行动作(搜索相关信息、分析代码结构等)
- Observe - 观察结果,决定是否继续深入
- 总结 - 生成全面的项目分析报告
- 个性化推荐系统
- 更智能的项目质量评估
- 多模态项目分析(代码、文档、社区讨论)
- 成本优化和性能提升
本项目采用 MIT 许可证。