为了方便朋友搜 GitHub 的开源项目,我撸了一个 GitHub 开源项目的搜索神器 ;开源地址:github-search
起因很简单:身边不少朋友经常在 GitHub 上找项目、学开源代码。但他们总跟我抱怨——原生搜索排序不够直观、中文关键词效果不太理想、手机上浏览体验一般……
听多了我就想:要不自己尝试做一个?于是就有了它:· GitHub · 开源项目搜索神器;说它是神器有点过了!哈哈!一个名词而已。它更像一个工具。

简单说,它是一个纯前端的 GitHub 公开仓库检索工具,直接调用 GitHub REST Search API,在浏览器里完成搜索、展示和可选的二次排序。不需要注册,不需要登录,打开就能用。
我给它做了三个核心功能:
支持关键词搜索,也支持 GitHub qualifier 高级语法,比如:language:go stars:>1000 topic:cli license:mit
界面上还有语言、Star 数、更新时间、匹配字段、排序方式等筛选条件,点点选选就能组合查询。输入框会自动对中文查询和多词查询生成组合条件,让搜索更精准,不用自己手写 qualifier 也能享受高级搜索的便利。
搜索结果里命中的关键词会高亮显示,一眼就能看到匹配位置,不用来回扫读。
这是我朋友最爱的功能,我做了三种榜单模式:
- 月榜:近 30 天创建/更新、Star ≥ 50 的项目,按总 Star 排序,展示前50-100 项
- 周榜:近 7 天创建/更新、Star ≥ 20 的项目,按总 Star 排序,展示前20-100 项
- 发现榜:近 7 天创建/更新、Star > 10 的项目,随机展示 100 个,每次刷新都随机出现不同的有趣开源项目
发现榜是一个随机推荐。很多有潜力的开源项目因为 Star 不够多、排名靠后,很难被发现。发现榜用随机洗牌的方式,让更多项目有机会被看到,每次刷新都有新惊喜,说不定就刷到下一个爆款项目了。
这是可选功能,开启后会对当前页已返回的结果重新排序,综合命中位置、多词覆盖率、中文关键词加分、Star 密度修正等因素,让更相关的结果排前面。纯本地计算,不会改变 API 数据或 GitHub 搜索索引。
比较简单,三步就搞定:
默认会显示月榜 Top 100,可以先逛逛最近有什么热门项目。
在搜索框输入关键词,可输入中英文关键词 例如微信 Bot 也可以输入 react、vector database、risc-v,或者直接用 qualifier 语法 language:rust stars:>500 pushed:>2024-01-01。点搜索或回车就行。
筛选条件在搜索框右边,可以按语言、Star 数、更新时间、排序方式筛选。想清空就点搜索按钮旁边的「清空」按钮——它只清输入框和筛选下拉,不会清你的搜索历史。
页面下方有 月榜 / 周榜 / 发现榜 切换。默认是月榜,点发现榜可以随机刷新 1-100 个最近更新的热门项目。
还有几个贴心的小设计:
- 点击卡片即跳转:点击卡片任意空白区域就能打开项目 GitHub 页面,不用瞄准那个链接
- 中文/English 切换:热榜目前只支持 中文项目 / English 切换,方便喜欢不同语言背景的朋友
- 搜索历史:自动记录搜索历史,方便重复搜索
- URL 同步:查询条件和分页写入 URL,方便分享和书签
- 结果缓存:短期缓存在页面内存中,重复搜索秒出结果
界面采用 GitHub 风格的深色/浅色主题,熟悉感扑面而来。卡片式布局,信息密度恰到好处:仓库名、描述、Topics、License、Star/Fork/Watch/Issue 统计、语言、更新时间一目了然。字体用系统原生 UI 字体,Windows 上是微软雅黑/Segoe UI,Mac 上是苹方/SF Pro,清晰耐看。
专门做了移动端适配,支持 最低 390×844 分辨率,手机上浏览无溢出、无错位。等公交、排队的时候也能刷一刷 GitHub 热门项目。
默认情况下,页面直接调用 https://api.github.com,不需要任何配置。
如果你有自己的 Personal Token,可以填进去提升 API 速率限制(未认证 10 次/分钟,认证后 60 次/分钟)。Token 只存在当前标签页内存里,刷新/关闭浏览器就失效,不会写入任何持久化存储。
如果你所在网络无法直连 GitHub,还可以配置第三方代理转发请求。代理模式不会携带 Token,安全放心。
- 想快速发现热门开源项目的爱好者
- 想找特定语言/Star 范围/更新时间的项目的研究者
- 想看最近有什么新项目冒出来的技术爱好者
- 想在手机上方便地搜索 GitHub 仓库的移动端用户
- 想让更多开源项目被发现
做这个工具的初衷很简单:**让朋友们搜索更方便**。
没有商业目的,没有用户注册,没有数据收集。Token 是你自己填的,搜索历史存在你自己的浏览器里,用完即走,干净利落。
如果你也经常在 GitHub 上找项目,不妨试试看。有任何建议或问题,欢迎反馈,我继续改进~
---------------------