上一篇讲了注册和 Star,这篇解决下一个痛点:想找某个东西,搜出来的全是 noise。

GitHub 的搜索框支持筛选语法,掌握 5 个,找仓库的效率翻倍。

1. stars:按热度过滤

stars:>1000

只看 Star 超过 1000 的仓库。配合关键词用,比如 stars:>1000 markdown editor,搜出来的是经过一定检验的项目。

注意:Star 高不等于适合你,它只代表"用的人多"。但作为第一道过滤,非常好用。

2. language:按语言过滤

language:python

只看 Python 写的项目。找工具时加上语言,能避开一堆不相关的结果。比如你想找 Python 的爬虫框架:stars:>500 language:python spider。

语法可以叠加,空格隔开就行,这是 GitHub 搜索最实用的特性。

3. topic:按主题标签过滤

topic:self-hosted

很多仓库会打 topic 标签,比如 self-hosted、privacy、automation。直接搜 topic 比搜关键词准,因为标签是作者自己打的。

想找"可以自己部署的"工具,topic:self-hosted 是个很好的起点。

4. pushed:按更新时间过滤

pushed:>2025-06-01

只看 2025 年 6 月之后有提交的仓库。开源项目最怕的就是"死了":Star 很高,但作者两年没更新,issue 堆成山。

我的习惯:任何仓库,先看一眼最近提交时间。pushed: 语法就是把这个动作自动化了。

5. license:按许可证过滤

license:mit

只看 MIT 协议的项目。如果你想把代码拿来商用、二次开发,许可证很重要;如果只是自己用,这个条件可以放宽。

组合示例

把上面几个拼起来,就是一个找"能用的开源下载工具"的完整搜索:

stars:>500 language:python topic:self-hosted pushed:>2025-06-01

翻译成人话:Star 超过 500、Python 写的、打了自托管标签、最近半年还在更新。搜出来的结果,基本可以直接拿去试。

实战:找一个趁手的 RSS 阅读器

假设我想找个开源的 RSS 阅读器,自己部署。搜索框里输入:

stars:>300 topic:self-hosted topic:rss-reader pushed:>2025-01-01

翻译:Star 超过 300、打了自托管和 RSS 阅读器标签、2025 年之后还在更新。搜出来的几个,挨个点开 README 看截图和部署方式,半小时就能定下来。

再换个场景:找 Python 的自动化脚本学习。输入:

language:python stars:>1000 topic:automation

找出来的是 Star 过千的自动化项目,适合学习别人的写法。注意这里我没加 pushed,因为学习代码的话,老项目也有价值;但如果是找"拿来用的工具",pushed 一定要加。

搜索之外的两个入口

筛选语法再好用,也只是"主动搜"。还有两个"被动逛"的入口值得知道:

一个是 Topics 页面(github.com/topics),按主题浏览仓库,比如输入 self-hosted,能看到这个主题下所有的项目和热度排行。适合"我不知道要什么,但想逛逛"的场景。

一个是 Trending(github.com/trending),按时间维度看最近热门的仓库。可以按语言筛选,比如只看 Python 的今日热门。Trending 适合追新,但要注意:上榜的不一定都靠谱,刷榜的也有,点开之前先看 README 和提交记录。

一个提醒:搜索结果也要看日期

GitHub 搜索默认按"相关度"排序,相关度高的不一定是新的。我见过太多人照着三年前的教程装一个已经没人维护的项目,然后到处问为什么报错。

养成习惯:点进仓库先看两眼——最近一次提交是什么时候,README 里写的安装步骤对不对得上当前版本。这两眼能避开一半的坑。

记住这个思路:关键词描述"是什么",筛选语法描述"要什么样的"。两句话讲清楚,GitHub 就会给你靠谱的结果。

月底我会写一篇开年值得关注的仓库方向,用的就是这套方法。