这一期不走热点榜单路线,而是从四类日常痛点逆向找仓库:文件操作太慢、画图靠拖拽、排版等半天、密钥散落一地,外加两件被低估的小东西——一个带单位的计算器语言,和一个单人维护的 RSS 单文件。共性很明确:不追模型、不蹭概念,把开发者和知识工作者每天都要碰的基本功做快、做轻、做成自己的数据。七件里有三件 Rust 写的,共同气质是「装完即用,回不去了」。文中 Star 数均为约数,可能随时间变化,请以仓库页面实时数据为准。
仓库:typst/typst | Star 约 4 万+ | 持续活跃更新
一句话定位:用现代语言设计重做一遍 LaTeX,排版这个三十年的痛点第一次有了「秒级反馈」的解法。
LaTeX 的痛只有写过论文的人懂:编译慢、报错像天书、装个宏包要折腾半天环境。typst 是 Rust 写的排版引擎,把这三件事全解决了——标记语法接近 Markdown,数学公式不用背几百个宏命令,$x^2$ 这种写法直接上手;最关键的是增量编译,配合编辑器保存即预览,改动到看到效果基本无感延迟,这是 LaTeX 结构性做不到的。
实现上有两个亮点:一是它本质是一门内置的纯函数式脚本语言,变量、循环、自定义函数、内容块操作一应俱全,模板可以写成「程序」而不是「宏的堆叠」;二是内置包管理器,@preview 命名空间下的社区模板和工具一条 import 就能用,生态已经初具规模。
cargo install typst-cli
typst compile main.typ # 输出 PDF
上手难度:⭐⭐
适用人群:写论文、作业、书籍、简历、幻灯片的所有人。商业层面,官方 typst.app 已经验证了协作编辑订阅制的付费意愿,围绕它做中文模板商店、论文排版服务、出版社定制模板,都是顺手的二次开发方向。
仓库:terrastruct/d2 | Star 约 2 万 | 持续活跃更新
一句话定位:把「画架构图」变成「写架构图」,文本进、SVG 出,图终于可以进 Git 了。
拖拽式画图工具的死穴是维护:图改一版,人和代码就对不上了。d2 是一门声明式图表语言,用文本描述节点和连线,布局交给引擎自动算,你只负责表达「谁连谁」。内置多种布局引擎(DAGRE、ELK,以及官方自研的 TALA),同一份描述可以切不同布局风格;容器嵌套表达系统分层,序列图、分类图标(K8s、云厂商图标库内置)都有对应语法。
工程细节做得相当完整:CLI 一条命令渲染 SVG/PNG,--watch 模式下改文本实时刷新浏览器,还有 LSP 支持,主流编辑器里写就有补全和高亮。图即文本,意味着 code review 时 diffs 一目了然,这是所有拖拽工具给不了的。
# 官方安装脚本(macOS 也可 brew install d2)
curl -fsSL https://d2lang.com/install.sh | sh -s --
echo 'x -> y: hello' > in.d2 && d2 in.d2 out.svg
上手难度:⭐⭐
适用人群:写设计文档、技术方案的工程师和架构师。母公司 Terrastruct 走托管编辑器订阅路线,国内可参考的方向是把它嵌进文档系统、CI 里做架构图自动校验与渲染。
仓库:sxyazi/yazi | Star 约 3 万 | 持续活跃更新
一句话定位:文件管理这件事搬回终端,用全异步架构做到了「零等待体感」。
Yazi 是 Rust 写的终端文件管理器,最直接的对手是老牌的 ranger。它最硬的卖点是架构:基于 Tokio 的全异步 IO,IO 调度、文件预览、任务队列全部并发化——浏览大目录、翻图片、看视频缩略图时,传统文件管理器会卡的那一下,它没有。预览能力是怪兽级的:图片直接在终端内渲染(主流终端协议都支持)、视频抽帧、PDF、压缩包内容列表,都是开箱即用。
交互是 Vim 键位肌肉记忆,选中、批量重命名、跨标签页搬运一气呵成;插件系统用 Lua 写,主题、图标、自定义预览器都有成熟社区配置。配合 shell 集成(退出时把目录带回到当前 shell),它可以完全接管你的文件操作。
brew install yazi # 或
cargo install --locked yazi-fm yazi-cli
上手难度:⭐⭐⭐(要背几天键位,之后鼠标基本吃灰)
适用人群:重终端用户、服务器运维、追求键盘流的开发者。个人项目,走 GitHub Sponsors 模式;更大的想象空间是作为终端效率套件的底座,被各类 dotfiles 和开发环境一键安装脚本收编。
仓库:gristlabs/grist-core | Star 数千级 | 持续活跃更新
一句话定位:Excel 的使用体验、Airtable 的产品形态、PostgreSQL 的数据主权,三样一次给齐。
团队协作里最尴尬的数据工具断层:Excel 好上手但管不住结构化数据,Airtable 好用但订阅费和数据都在别人服务器上。Grist 是两者的开源合体:界面是熟悉的表格,但每一列都可以是一段 Python 表达式(公式列),可以引用其他表做真正的关系查询;下面是实打实的 SQLite/Postgres 存储,数据完全在你手里。
核心功能拆开看:细粒度访问规则(按行、按列控制谁能看谁能改)、多视图(表格、卡片、表单、仪表盘混搭)、增量快照历史、支持从 Airtable 直接导入搬家。自托管就是一条 docker run,8484 端口起来就能用,也提供桌面版单机模式。
docker run -p 8484:8484 gristlabs/grist
上手难度:⭐⭐
适用人群:小团队运营、非营利组织、想把 Excel 进阶成数据库又不想学 SQL 的人。Grist Labs 采用开源核心 + 托管服务的双轨模式,政府与教育机构客户是公开的成功样本——「帮企业把 Excel 迁到自托管 Grist」本身就是一门现成的咨询生意。
仓库:sharkdp/numbat | Star 千级小仓 | 持续活跃更新
一句话定位:一个把「单位」当成一等公民的计算器,量纲错了直接编译报错,从此告别换算事故。
这是本期最小、也最容易被错过的一个仓库,作者是 fd(fat command-line find 的作者)用 Rust 写的高质量小工具系列又一员。Numbat 是一门领域专用语言:每个数字都带物理单位,30 km/h -> m/s 直接出结果;你写 1 m + 1 s 它不会给答案,而是报类型错误——因为它在编译期做量纲分析,航天史上那些单位混用的事故,在 REPL 里就拦下来了。
内置数千个物理常数(CODATA 数据)、完整 SI 单位体系,还有非物理单位:货币、像素、信息量都能定义。除了 REPL,也可以写成脚本跑批量换算;预置的示例库覆盖金融复利、图像分辨率、咖啡冲泡比例这类生活化场景,文档写得像教程一样友好。
cargo install numbat # 或 brew install numbat
numbat # 进入交互式 REPL
上手难度:⭐
适用人群:工程师、物理/化学学生、任何被单位换算坑过的人。单独变现空间有限,但它是「垂直 DSL + 工程级质量」的教科书样本,适合作为技术品牌内容研究,也适合嵌进教学工具链做二次开发。
仓库:Infisical/infisical | Star 约 2 万 | 持续活跃更新
一句话定位:开源的密钥与环境变量管理平台,补上「HashiCorp Vault 太重、.env 文件太野」之间的空档。
几乎所有团队的密钥管理现状:生产数据库密码躺在微信/Slack 记录里,.env.example 和真实 .env 永远对不上。Infisical 把这件事产品化:环境变量按项目-环境(dev/staging/prod)统一管理,CLI 一条 infisical run -- npm start 就把密钥注入进程,不落盘;Terraform、Pulumi、GitHub Actions、K8s 全有官方集成,同步即生效。
进阶能力是它和纯文件方案拉开差距的地方:动态密钥(按需生成限时数据库账号、SSH 证书)、KMS、密钥轮换、审计日志、细粒度 RBAC,配合自托管模式,合规团队也能用。UI 做得相当漂亮,这一点对推广 adoption 意外地重要。
上手难度:⭐⭐⭐(自托管需要 Postgres 和一点耐心,云版免部署)
适用人群:所有还在群里传密码的团队。商业路径已被验证:YC 系公司,开源核心 + 云订阅,企业版卖 SSO 和合规——「帮中小企业从 .env 迁移到密钥平台」是现成的服务型生意。
仓库:nkanaev/yarr | Star 两千上下(约数) | 单人长期维护
一句话定位:Google Reader 时代精神的最小化继承者——单个 Go 二进制 + 内嵌 SQLite,解压即用的私人 RSS 服务器。
RSS 阅读器这个品类两头畸形:托管服务(Feedly、Inoreader)年年涨价还限流,全功能自托管方案(FreshRSS、Miniflux)又要养数据库、配反代。yarr 选择了第三条路:一个开发者、一门语言、一个二进制。Go 编译时把 SQLite 和整个前端都嵌进去,下载 release 解压,./yarr 就跑起来了,默认 7070 端口,没有任何依赖。
功能上克制但够用:文件夹分组、未读 starred 管理、抓取频率自动调度、移动端自适应界面(手机浏览器直接当 App 用),还兼容 Fever API,意味着 Reeder 这类客户端可以直接连它。源码结构极干净,是学习「如何用 Go 写一个完整单文件 Web 应用」的优秀范本。
./yarr -db yarr.db # 打开 http://localhost:7070
上手难度:⭐
适用人群:信息源自留地的重度阅读者、树莓派/小盒子玩家。变现空间在白标:内网资讯聚合、企业情报简报的底层引擎,改造成本极低。
| 仓库 | 类型 | 语言 | Star(约) | 上手难度 | 适用场景 |
|---|---|---|---|---|---|
| typst | 排版引擎 | Rust | 4 万+ | ⭐⭐ | 论文/书籍/幻灯 |
| d2 | 图表即代码 | Go | 2 万 | ⭐⭐ | 架构图/技术文档 |
| yazi | 终端文件管理 | Rust | 3 万 | ⭐⭐⭐ | 服务器/终端工作流 |
| grist-core | 表格数据库 | Python/TS | 数千 | ⭐⭐ | 团队协作数据 |
| numbat | 单位计算器语言 | Rust | 千级 | ⭐ | 工程/教学换算 |
| Infisical | 密钥管理平台 | TypeScript | 2 万 | ⭐⭐⭐ | 团队安全基线 |
| yarr | RSS 自托管 | Go | 两千上下 | ⭐ | 个人信息聚合 |
flowchart TD
A["本期七个开源仓库"] --> B["文档与图表"]
A --> C["终端效率"]
A --> D["数据与安全"]
A --> E["个人信息流"]
B --> F["typst 排版引擎"]
B --> G["d2 图表即代码"]
C --> H["yazi 文件管理器"]
D --> I["Grist 表格数据库"]
D --> J["Infisical 密钥管理"]
E --> K["numbat 单位计算器"]
E --> L["yarr RSS 阅读器"]
这一期的共同气质,是把「基本功」当产品做:文件、图、文档、表格、单位、密钥、订阅,全是几十年没被认真重做过一遍的旧活。它们的启示也一致——热点会轮换,但这些每天都要用一次的东西,做快一点、轻一点、不锁门,就足够攒起一个长青的仓库。Star 数为约数,动手前请以仓库页面为准。
[!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 等场景全覆盖。
