十九个仓库,二十七颗星

今天把自己的 GitHub 主页从头翻了一遍:十九个仓库是自己写的,八个是 fork 别人的,星标加起来二十七颗。
最多的那个十一颗,是一个管 Hexo 站点的桌面工具。这个数字放在任何榜单里都不值一提,但它确实改变了我对「发布」这件事的看法。

一、第一颗星和第十一颗星

第一次收到 star 的那个下午,我反复刷新页面,确认数字真的从 0 变成了 1。当时想的是:有人觉得这东西有用。

后来 star 变成 11(HexoManager),我的反应反而平了。不是因为麻木,是因为我意识到这十一个里有几个是熟人点的,有几个是发帖换来的——它衡量的是「这件事被看见了多少」,不是「这件事做得好不好」。

有个更硬的指标:fork 数是行为,star 数是态度。cloudflare-workers-bbs-Nexus 只有 9 颗星,但有 6 个 fork——那是真的有人把它部署起来了,甚至改了代码。这件事比多十颗星更让我确认它站得住。

星标是别人对你的一句「看到了」,fork 是别人对你的一次「我用了」。前者可以礼貌,后者要付出成本。

二、零星的仓库反而是我每天在用的

tools-box 只有一颗星。但它是这段时间里我打开次数最多的网页:转个时间戳、算个子网、压张图、生成个 UUID,全在本地算完,不联网、不上传。

x-video 零颗星,是我电脑上唯一装的播放器。hexo-theme-lovou(就是你现在看的这个站)零颗星,但它承载了我全部的输出。

所以我现在的判断标准变了:如果一个项目我自己不用,它有没有星都不重要;如果我自己天天用,它零颗星也不影响它继续长。

这不是自我安慰。恰恰相反——把「有没有人用」换成「我有没有在用」,做东西的动机就从「求认可」变成了「解决问题」。前者会让你在没人点赞时停下,后者不会。

三、真正有价值的反馈长什么样

这十九个仓库给我的反馈,按分量排序大概是这样:

  1. 一次自动生成、又被判定的 PR(AppImage/appimage.github.io 的 #9648)。它逼我发现了一个我从来没想过的问题:别人判断你的项目能不能收,先看 README 是哪种语言。这件事我单独写了一篇,因为它比任何一句夸奖都有用。
  2. 一个 fork。有人拿到代码去改,说明结构至少是可读的。
  3. 一个 issue。哪怕只有一句「这功能不支持 XX」,也比我自己的假设可靠。
  4. 一个 star。礼貌性的鼓励,收下,但不当饭吃。
  5. 零反馈。这不是否定,是常态。绝大多数仓库都不会有人说话。

最后一条最关键。我后来统计过:十九个仓库里,收到过实质反馈的不到三分之一。如果我按「有没有人说话」决定要不要继续写,那三分之二的项目在第一天就该删了。

四、心态上真正的转折点

三年前我发一个项目,会做这些事:写一大段宣传语、去几个论坛发帖、盯着访客数看、三天没动静就怀疑自己。

现在我不做了。原因不是看开了,是发现了更划算的做法:

  • 把 README 当产品第一屏,而不是当备注。别人只用十秒决定要不要看下去。
  • 每个仓库配一篇说明它解决什么问题的文章,写完发现——有一半项目我自己都说不清它解决什么问题,那就先别发。
  • 不追新,追「一年后还不用我管」。这条最狠,它直接砍掉了很多「看起来很酷但要持续维护」的念头。

星数确实会很长时间停在二十七。但这两年我慢慢接受一件事:开源的收益不在数字上,而在「你必须把东西写到别人能看懂」这个约束里。为了让陌生人能跑起来,你会被迫补文档、补错误提示、补默认值——这些劳动最后都回到了自己身上。

五、写在最后

前几天整理仓库列表,发现一个有意思的分布:2026 年上半年我在写「平台」——CMS、官网程序、采集发布工具,每个都要解释怎么装、怎么配、怎么迁数据;下半年我写的东西越来越小,小到双击就能打开。

星数没有因此变多,但我的维护负担少了,交付的东西反而完整了。

二十七颗星不会变成两千七百颗。但那十九个仓库里,有几个是我今天还会打开、还会改一行代码的——这对我来说已经是足够的回报。