首页 › weekly › MinIO失了人心,继任者用Rust重写S3

这一期不追大模型的风口,专挖一条更扎实的暗线:「替代生意」与「数据自有」。国外商业软件收缩社区版,留下的空位正在被开源一格一格填回来——对象存储、统一登录、时间账本都是典型;另一边,终端效率、响应式笔记本、RSS 管道这些老基础设施,也在被新一代实现重新做了一遍。8 个仓库,从企业级存储到一双跑步鞋的数据,各管一摊。


一、MinIO 收缩社区版,RustFS 来接盘

rustfs/rustfs | 万星级 | 2025 年诞生,高频更新中

事情要从 MinIO 说起:2025 年年中,MinIO 大幅裁撤社区版的 Web 控制台功能,把不少能力收进付费版,Hacker News 上当时吵出数千楼。用惯 S3 协议自建存储的团队和自托管玩家,一夜之间要找继任者——RustFS 就是这个背景下跑出来的一匹黑马,据其仓库与社区介绍,项目由华人开发者主导,几个月内星标冲上量级高位。

核心卖点三件事:用 Rust 重写、S3 协议全兼容、分布式架构。S3 全兼容意味着你的 rclone、Immich、备份脚本一行不用改,把 endpoint 指过去就能用;分布式支持多节点组集群,配纠删码抗磁盘损坏;自带 Web 控制台,管理桶和密钥不用敲 API。容器里一行命令就能拉起单节点,几台旧机器就能组出一个小型私有云盘后端。

上手难度:⭐⭐

适用人群:给 Immich、备份、AI 训练数据找便宜大容量存储的自托管玩家;被 MinIO 政策吓到的中小团队。商业思路也现成——MinIO 走过的「开源核心 + 企业订阅」路线,继任者们可以原样再走一遍,中小厂的私有化存储交付与技术支持,就是钱。


二、Yazi:终端党的文件管理新王者

sxyazi/yazi | 2 万+ | 长期高频更新

用 Rust 写的终端文件管理器,名字取自中文「鸭子」。它解决一个老痛点:ranger 老、慢、单线程,而 Yazi 从架构上就是异步并发——扫目录、加载预览、排队缩略图,各干各的,大目录里翻页不卡顿。

体验上最惊艳的是预览:图片直接在支持的终端里原彩显示,视频出缩略图,PDF、压缩包、字体都能看一眼再决定。批量重命名、批量改名正则、书签、标签一应俱全;配置用 TOML,插件系统用 Lua 写,社区已经攒了一堆主题和扩展。配合 zoxide 式的目录跳转习惯,熟练之后手不离键盘,鼠标真的可以放假了。

上手难度:⭐⭐

适用人群:终端重度用户、SSH 到服务器干活的运维。二次开发方向:给它写垂直场景插件(比如日志目录自动分析、照片库按 EXIF 整理),或者做成 dotfiles 课程的招牌内容——终端效率赛道永远有受众。


三、PocketBase:整个后端,塞进一个可执行文件

pocketbase/pocketbase | 4.5 万+ | 长期活跃迭代

Go 写的「一个文件就是整个后端」:下载一个几十 MB 的可执行文件,双击运行,你就同时拥有了 SQLite 数据库、用户注册登录(含邮箱验证和 OAuth)、文件上传存储、实时数据订阅,还有一个漂亮的后台管理界面。REST API 自动生成,官方再送 JS SDK。

它赌的是一件事:绝大多数小产品,根本不需要微服务。个人工具、内部系统、MVP、客户演示,PocketBase 一台 5 美元的 VPS 就能托住。需要定制逻辑时,可以把它的 Go 包嵌进自己的程序,或者用 JS 钩子写业务逻辑。数据就是一个 SQLite 文件,备份等于复制粘贴,迁移等于 scp。

上手难度:⭐

适用人群:独立开发者、接外包的小团队。这也是本期商业潜力最直接的仓库——社区里靠它快速交付付费小产品的一人公司不在少数,省下的后端时间就是毛利。


四、marimo:让 Jupyter 的「隐藏状态」地狱消失

marimo-team/marimo | 万星级 | 高频更新

用过 Jupyter 的人都被坑过:改了上面的单元格,下面的变量还停在旧值,跑出来的图鬼知道是第几版数据的结果。marimo 是用 Python 重写的响应式笔记本——单元格之间声明依赖,改一处,全链路自动按序重算,过期的单元格直接标灰,想忘都忘不了。

另外两件事让它区别于所有前辈:笔记本本体是纯 .py 文件,git diff 友好,code review 正常做;写完 marimo run 一键变成交互式网页小应用,同事不用装 Python,开浏览器点按钮就行。近期版本还加了 SQL 单元格,查询结果直接变 DataFrame,数据工程师和分析师能坐在同一个文件里干活。

上手难度:⭐⭐

适用人群:数据分析、算法教学、给业务方做内部小报表的团队。变现方向:把「响应式笔记本交付内部工具」做成咨询服务,一家企业内网里这种小应用的需求比想象中大得多。


五、Pocket ID:自托管全家桶的统一大门

pocket-id/pocket-id | 数千星,增速快 | 2024 年底立项,更新活跃

自托管玩到第五个服务,痛点就来了:Immich 一个密码、Gitea 一个密码、Portainer 一个密码,每个还各有一套用户体系。老方案是上 Authentik 或 Keycloak——功能确实全,但也确实重,小机器跑起来费劲,配置页能迷路。

Pocket ID 的答案是把激进做减法:一个只支持 Passkey(免密登录)的 OIDC 身份源,单容器部署,数据存 SQLite。指纹或安全密钥一按,所有接入 OIDC 的自托管服务统一放行——服务器里连密码字段都没有,钓鱼和撞库直接失去攻击面。对支持 Passkey 的现代设备来说,体验比密码时代顺滑一个档次。

上手难度:⭐⭐

适用人群:homelab 玩家、想给内部系统做「去密码化」改造的小公司。给中小企业做自托管交付的服务商,可以把「全套系统 + 统一免密登录」打包成增值项。


六、RSSHub:把不提供 RSS 的网站,都变成 RSS

DIYgod/RSSHub | 3.5 万+ | 十年老仓,持续维护

算法喂饭时代,你的信息入口早被各大平台接管了。RSSHub 是十几年前那场「开放信息流」运动的活化石,也是其中最能打的一个:上千条路由,把微博、B站、GitHub Releases、播客、期刊更新这些不提供 RSS 的信息源,统统吐成标准 RSS。

用法两步:Docker 拉起服务,浏览器装个 RSSHub Radar 插件——打开任何网站,它自动告诉你这个站有哪些可用路由,一键加进 Miniflux、FreshRSS 这类自托管阅读器。从此追更靠订阅,不靠平台心情。要诚实说一句维护成本:平台反爬一升级,个别路由就会失效,这是个永远的猫鼠游戏,但社区路由库庞大,通常有替代写法。

上手难度:⭐⭐⭐

适用人群:信息焦虑症候群、做行业简报的人。变现先例清晰:靠 RSS 管道自建垂直聚合站 + newsletter 订阅的独立站长,一直是个闷声的小生意。


七、Wakapi:编码时间账本,数据归自己

muety/wakapi | 千余星 | 多年持续维护

WakaTime 靠编辑器插件统计你每天写代码的时间,做得不错,但详细到「你在哪个项目、哪个文件、什么语言上花了多久」的账本存在别人服务器上,免费版还要阉割功能。Wakapi 是它的自托管开源替身:Go 写的单服务,接口兼容 WakaTime 协议——编辑器里原有的 WakaTime 插件改个 API 地址就能继续用,VS Code、JetBrains、Vim 全家通吃。

后端支持 SQLite 起步,跑在最小配置的机器上毫无压力;仪表盘里项目、分支、语言、操作系统的时长分布一目了然。它不监控屏幕内容,只记元数据,对个人是时间管理,对团队是给「研发时间都花哪了」一个诚实的答案——而这份答案不必交给第三方。

上手难度:⭐⭐

适用人群:想量化自己时间的开发者、需要给客户出真实工时报告的远程小团队。二次开发方向:接上内部项目管理工具,做承包团队的工时透明化方案。


八、OpenTracks:跑步数据不出门,也不交年费

OpenTracksApp/OpenTracks | 不足 2000 | 十年以上持续维护

Strava 的年费年年涨,而它真正值钱的是你两条腿跑出来的轨迹数据。OpenTracks 是 F-Droid 上的老牌 Android 应用,最有底气的一句话写在权限清单里:不申请网络权限——想联网上传都做不到,数据只能在手机里。记录轨迹、配速、海拔,支持蓝牙心率带和踏频传感器,一键导出 GPX/KML,想发 Strava 自己导,想留底就在本地。

它还有个巧思:做了一个配套的公开分享仪表盘,轨迹能生成一个纯本地的网页链接发给朋友看,全程不经过任何云端。界面朴素,没有社交、没有勋章、没有广告,十年如一日。

上手难度:⭐

适用人群:跑步、骑行、徒步党里的数据洁癖患者。它是本期星标最低的仓库之一,却是「开源替代订阅」这个母题下最纯粹的一个样本——商业上的启发在于:运动俱乐部、企业 wellness 项目完全可以基于它做私有化的活动数据服务。


横向对比

仓库 类型 Star 量级 上手难度 适用场景
RustFS 对象存储 万星级 ⭐⭐ 私有云盘后端、Immich/备份存储
Yazi 终端文件管理 2 万+ ⭐⭐ 终端/SSH 效率
PocketBase 一体化后端 4.5 万+ ⭐ MVP、内部系统、一人公司
marimo 响应式笔记本 万星级 ⭐⭐ 数据分析、内部小工具
Pocket ID Passkey 单点登录 数千星 ⭐⭐ 自托管统一认证
RSSHub RSS 生成 3.5 万+ ⭐⭐⭐ 信息聚合、行业简报
Wakapi 编码时间统计 千余星 ⭐⭐ 工时量化、远程团队
OpenTracks 离线运动记录 不足 2000 ⭐ 跑步骑行、数据自有

(星标为量级参考,随时间增长;以 GitHub 实时数据为准。)

一张图看懂本期仓库

mindmap
  root((本期8仓))
    基建替代
      RustFS 对象存储
      Pocket ID 统一登录
    终端效率
      Yazi 文件管理
      Wakapi 时间账本
    开发底座
      PocketBase 单文件后端
    数据与信息
      marimo 响应式笔记
      RSSHub 万物皆RSS
    健康生活
      OpenTracks 离线跑步

本期之最

参考来源

  1. rustfs/rustfs — Rust 编写的 S3 兼容分布式对象存储,本文架构特性引自其仓库说明
  2. marimo-team/marimo — 响应式 Python Notebook,特性描述引自仓库文档
  3. pocketbase/pocketbase — 单可执行文件后端框架
  4. pocket-id/pocket-id — 极简 Passkey OIDC 身份源
  5. OpenTracksApp/OpenTracks — 无网络权限的 Android 运动记录器
  6. HelloGitHub — 本期选题的发现渠道之一,按月收录有趣的开源项目

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入