那个你 Star 过的项目,后来怎么样了?
如果你玩 GitHub 超过半年,大概率跟我一样,手里攒了成本上千个 star,但真正想用的时候一个也找不到。
点 Star 只需一秒,脑子一热就点下去了:"这东西牛逼,以后肯定用得上。" 然后,就没有然后了。这个"以后",就是当你想起来,打开自己那长长一串 Stars 列表,翻了几页就烦躁地关掉浏览器的时候。
Stars 列表:一个技术人员的数字废墟
GitHub 官方那个 Stars 页面,说得好听叫极简,说得难听叫简陋。一个按时间排的扁平列表,可以按语言筛一下,仅此而已。没法全文搜索,没法分类,你想把几个相关的项目放一块儿?不行。
久而久之,这列表就成了一个巨大的数字黑洞。你清楚地记得自己 Star 过一个完美的脚手架、一个命令行小工具,但就是找不到。你知道它就在那里,但要你翻几十页去淘?算了,不如重新从零写一个。
这其实挺可怕的。每个找不到的 Star,都是一次知识上的浪费。一个你本可以复用的库,一段你本可以参考的代码,一个能给你省下几周时间的工具,就这么丢了。
我的瞎折腾之路
一开始,我的方法简单粗暴,全加到浏览器的收藏夹里。结果呢?只是把一团乱麻从一个地方搬到另一个地方,找起来更绝望了。
后来我想,好歹我也是个程序员,写脚本啊。于是搞了几个 Python 脚本:一个负责从 GitHub 把 Star 列表拉下来,另一个接上 AI 给它们打标、分类、写摘要。
结果... 光管理这个破脚本就让我烦透了。 要自己去 GitHub 生成 Token,要记住它是不是过期了,要手动跑脚本,输出还丑得一塌糊涂。它确实"能工作",但和"好用"之间差了十万八千里。我用了几次就懒得再碰了。
我到底想要个啥?
被现实反复毒打之后,我想清楚了我真正需要的东西,其实很简单:
- 别让我管。 最好能自动同步,我一 Star,它就悄悄记下来,别让我像个管家一样伺候它。
- 能搜。 我只记得某个项目大概叫个啥,或者描述里有"CLI"这个词,它就得能帮我找出来。
- 告诉我这是干嘛的。 别只按语言分类,"Python"下面几千个项目,鬼才找得到。我想要的是"这是做机器学习可视化的"、"那是搞 DevOps 部署的"。
- 给我一份离线备份。 数据在自己手里才安心,万一哪天我想把所有东西导出成 Markdown,扔进自己的笔记软件里,它得支持。
- 当它不存在。 一个理想工具的最高境界,就是设置一次,然后忘记它的存在,但它其实一直在幕后默默工作。
于是,我搞了 Github Backup 这么个东西
其实就是把我自己被逼急了的解决方案拿出来给大家用了。我 Star 了上千个项目,真的没法忍了。
这工具干的事情很简单:
- 你连一下 GitHub,给个只读权限就行,我碰不了你的代码。
- 它每天自己运行一次,把你最新的 Stars 同步下来。
- 然后扔给 AI 去分析,把项目分到 21 个技术领域里去,比如 Web 开发、AI、区块链什么的。这样,一个原始的列表就变成了一份你能看得懂、用得上的知识库。
- 支持全文搜索,搜名字、搜描述,都行。
- 一键导出成 Markdown 文件,方便你本地收藏或者折腾。
对了,它还有个我自己特别得意的小功能:每周周报。每周五一早,它会给我发一封邮件,回顾我这周都 Star 了啥,简单总结一下。就是这么个小东西,盘活了我整个收藏列表。让我每周有那么几分钟,真正能把"收藏"变成自己的"资产",而不是一个"已阅=学过"的心理安慰。
它完美吗?当然不。AI 有时候会犯傻,把项目分到奇怪的类别里,偶尔还会触发 API 限制,抽风一下。标签的粒度也不够细。但它确实是我多年前就想要的那个"设置好就不用再管"的系统。
真正的问题
说到底,整理 Star 仓库不是为了好看,是为了把那个以后再看的念头,真正变成能随时回顾的可能。
如果你也有大几百个 Star,想一个灵魂问题:你半年前 Star 的那个项目,你现在有办法在 30 秒内找到它吗?
如果不能,也许你也该给自己搭这么一个玩意儿了。不是为了整理,是为了哪天半夜突然想起来,能一搜就到,然后安心地回去睡觉。