gorse-io/gitrec

A recommender system for GitHub repositories based on Gorse provides personalized recommendations and similar repositories

GitRec – GitHub 仓库推荐系统

简介

GitRec 是一个开源服务,旨在向用户推荐 GitHub 仓库。它建立在开源推荐引擎 Gorse 之上,提供开箱即用的网页 UI 以及能直接在 GitHub 界面中显示推荐内容的浏览器扩展程序。

为什么它很重要

在 GitHub 上寻找实用的项目对开发者来说是一大痛点。GitRec 自动化了发现过程:

  • 个性化建议 – 根据用户已加星标的仓库进行推荐。
  • 相关仓库发现 – 为任何热门仓库显示相似项目。 该系统可自行托管,让团队能完全掌控数据与推荐模型。

核心组件 (根据 README 描述)

组件 角色
Gorse engine 底层推荐算法 (协同过滤、基于内容等)。GitRec 负责配置与查询它。
Web UI 可通过 http://127.0.0.1:5000/ 访问,让用户浏览推荐并管理设置。
Gorse Dashboard 位于 http://127.0.0.1:8088/ 的管理界面,用于监控推荐服务。
Browser extensions Chrome、Edge 与 Firefox 扩展程序,将推荐小工具注入 GitHub 网站。
Docker-Compose stack 一键启动 Gorse 服务、MySQL 数据库与 GitRec 网页服务器。
Data import 可将预先建立的 github.sql 转储导入 MySQL,为系统提供初始仓库目录。

如何执行 (快速启动步骤)

  1. Clone 仓库并 cd 进入目录。
  2. 建立 .env 文件,填入以下凭据:
    • Gorse 仪表板 (用户名、密码、API 密钥)
    • GitHub (个人访问令牌、OAuth 客户端 ID/密钥)
    • 可选的 S3 备份存储桶
    • 可选的 OpenAI 端点 (README 提到 OPENAI_MODEL 但未详述其用途)。
  3. 启动服务,使用 docker-compose up -d。
  4. 加载示例数据 – 下载 github.sql 并导入 MySQL 容器。
  5. 重新启动 主节点,以便识别导入的数据。
  6. 打开 UI (http://127.0.0.1:5000/) 或安装浏览器扩展程序以查看推荐。

适用对象

  • 希望拥有个性化 GitHub“探索”页面的开发者。
  • 希望拥有内部推荐服务,且不想将数据发送至第三方 SaaS 的团队。
  • 正在研究开源代码数据推荐算法的研究人员。

限制与待解问题 (根据 README)

  • README 引用了 OpenAI 模型 (gpt-6-luna) 但未解释其用途 – 它可能是可选或实验性的。
  • 执行完整堆栈需要 Docker、MySQL 与 GitHub OAuth 应用程序,这增加了设置成本。
  • 未明确提及模型训练;GitRec 似乎依赖 Gorse 内置的算法。

以上所有信息均直接取自该仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目