首页 › weekly › 吃灰的Kindle,再战十年

本期反着来:七件开源好物,没有一件调用大模型

概述

这是「开源挖掘」第3轮。前两轮赶上AI浪潮,Agent、工作流、编程助手轮番上阵,这一轮我刻意反着挖:七个仓库,零个调用大模型API。它们盯上的,是被订阅费、厂商云和“默认就该联网”锁住的几件小事——读电子书、记录气象、写训练日志、做一份简历、在终端里查数据、在浏览器里现场演出音乐、把维基百科整个装进兜里。七件里有三件还停在千星量级,属于典型的“小而美”:解决单一痛点,装上就能用,不追风口反而活得久。文中星数为撰写时约数,以仓库页面实时数据为准。


1. KOReader — 给旧电纸书装一颗新心脏

仓库:koreader/koreader | Star 约1万+ | 长期高频更新

厂商停产了,固件停更了,机器没坏却越来越难用——这是所有电纸书用户的宿命。KOReader 是一个用 Lua 写的开源阅读引擎,能装进 Kindle、Kobo、PocketBook、各类安卓电纸书甚至 Linux 设备,把原厂那个功能贫瘠的阅读器整个替换掉。

核心能力拆开看相当能打:EPUB、PDF、DjVu、漫画包通吃;内置词典与维基百科查询;支持 OPDS 书源在线下载;自带阅读时长统计热力图,一年下来你翻过多少页一目了然;多设备之间进度同步;还有 RSS 订阅下载,早上一觉醒来设备里已经躺好昨天的新闻。安装方面,安卓机器直接装 APK;老 Kindle 需要先越狱再装 MRPI 引导,稍折腾但社区教程齐全。

2. Strudel — 在浏览器里敲代码,现场开一场音乐会

仓库:tidalcycles/strudel | Star 约4千 | 活跃开发

Live Coding(现场编程演出)社区有一件老神器 TidalCycles,可惜它是 Haskell 写的,安装就能劝退九成人。Strudel 把它整个搬进了浏览器:打开 strudel.cc,左边写几行 JavaScript 风格的迷你记谱,右边立刻出声,鼓点、贝斯、合成器循环实时堆叠,改一个数字音乐当场变样。零安装、零配置,这是它和老前辈最大的分野。

实现上它基于 Web Audio 自研了 superdough 合成引擎,把采样调度、模式变换、随机数全部函数化——n("0 2 4").s("sawtooth") 这样一行就是一条声部。它还内置了交互式教程,边学边响,程序员入门音乐、音乐人理解代码,两头都接得住。

3. trdsql — 把 SQL 变成终端里的瑞士军刀

仓库:noborus/trdsql | Star 约2千 | 稳定维护

数据打工人的日常:几个 CSV 扔在目录里,想 join 一下、聚合一下,条件反射就是打开 Python 写脚本,或者把文件导进数据库。trdsql(Go 编写)把这条链路压成一行 shell:直接对 CSV、TSV、LTSV、JSON、JSONL 文件写标准 SQL,底层用 SQLite 内存库执行,多个文件照样 JOIN,结果可以再输出成任意这些格式,无缝接回管道。写了十年 SQL 的人,能力瞬间平移到命令行。

它没有 Web 界面、没有配置文件,就一个二进制,扔进 CI 脚本、cron 任务、日志分析管道里毫无心理负担。越是熟悉 shell 的人,越会把它焊在肌肉记忆里。

4. weewx — 气象站数据,别再喂给厂商的云

仓库:weewx/weewx | Star 约1.5千 | v5时代持续演进

家用气象站是个隐蔽的锁:一两千块买了 Davis、Ecowitt 的设备,数据却默认上传厂商云,导出受限、接口收费、哪天服务器关了历史就没了。weewx 是这个领域事实上二十年岁的开源标准件:Python 编写,通过驱动层对接几十种品牌的气象站,把数据存进 SQLite/MySQL,生成网页发布到你自己的服务器,还能走 MQTT 推给家庭自动化系统,喂给 Home Assistant 只是配置文件里的一行。

它的扩展生态是护城河:皮肤系统把页面美化交给社区(Belchertown 皮肤几乎是标配),插件可以加土壤湿度、空气质量,v5 之后 pip 一行安装、systemd 原生托管,部署门槛比老版本低了一大截。

5. wger — 健身房的训练账本,自己管

仓库:wger-project/wger | Star 约2千 | 持续迭代

健身类 App 的商业模式高度一致:训练计划锁会员、营养库塞广告、数据导出设门槛。wger 是个用 Django 写的老牌开源替代:训练计划排期、每次训练的动作组数重量记录、体重曲线、饮食与热量核算(内置食物营养库)、日历视图,一应俱全。手机端有 Flutter 应用手感尚可,服务端提供完整的 REST API,Docker Compose 拉起来就能跑。

它的气质是“账本”而非“教练”:不给你推课程卖课,只老老实实替你记账。对健身工作室主来说,这反而是最好的底子——在它之上包一层工作室品牌、加上会员管理,就是一个可运营的小产品。

6. Reactive Resume — 简历工坊,开源了

仓库:AmruthPillai/Reactive-Resume | Star 近万 | 活跃维护

简历工具收费的路数大家熟:模板付费、导出PDF付费、去水印还要付费。Reactive Resume(作者 AmruthPillai)把这些全干掉了:在线版免费无广告,自托管一行 Docker;编辑器实时所见即所得,多套模板随身份切换,内容按条目结构化存储,多语言、多版本简历互不干扰,PDF 导出无水印。技术栈是现代全家桶(Next.js + NestJS + PostgreSQL),二开体验在同类里属第一梯队。

对普通求职者它是免费工具,对开发者它是现成产品骨架——在它基础上做行业模板库、AI 润色(这是你自由选择加不加的模块)、高校就业办批量部署,路径都清晰。

7. Kiwix — 把整个维基百科,装进没有网的地方

仓库:kiwix/kiwix-desktop | Star 约2千 | 多端并行维护

出海、进山、上船、去信号稀薄的乡镇学校——网一断,维基百科、医学手册、Stack Overflow 全部失联。Kiwix 用一种叫 ZIM 的压缩归档格式把整个网站打包成一个文件,配套全平台阅读器:Windows/macOS/Linux 桌面版就是 kiwix-desktop,移动端另有安卓/iOS 应用;全量英文维基不带图片几十GB、带图片上百GB(具体以官方镜像站为准),一部移动硬盘装下一座图书馆。

杀手锏是 kiwix-serve:一条命令把 ZIM 库变成局域网网站,全教室、全船舱、全村的设备连上同一台树莓派就能查阅。这个项目在远洋船只、离线地区的学校里已有多年真实 deployments,属于“平时想不起,用时不求人”的基建型开源。


横向对比

仓库 类型 Star(约) 上手难度 适合场景
KOReader 电纸书固件 1万+ ⭐⭐⭐ 旧阅读器复活
Strudel 音乐现场编程 4千 ⭐⭐ 创意演出/教学
trdsql CLI数据查询 2千 ⭐⭐ 管道里跑SQL
weewx 气象站软件 1.5千 ⭐⭐⭐ 气象数据主权
wger 训练日志 2千 ⭐⭐⭐ 健身数据自持
Reactive Resume 简历工具 近万 ⭐⭐ 求职刚需
Kiwix 离线知识库 2千 ⭐⭐ 无网环境阅读

本期地图

mindmap
  root((七件工具<br/>零个AI))
    阅读
      KOReader
      Kiwix
    创造
      Strudel
    数据
      trdsql
    硬件
      weewx
    生活
      wger
      Reactive Resume

本期之最

参考来源

  1. KOReader 官方仓库 — 项目文档、支持设备列表与安装指引
  2. Strudel 在线环境 与 tidalcycles/strudel 仓库 — 交互教程与 superdough 引擎说明
  3. trdsql 官方仓库 — 支持格式与 SQL 用法示例
  4. weewx 官网 — v5 安装方式、硬件驱动兼容清单
  5. Reactive Resume 仓库 与在线版 rxresu.me — 功能列表与自托管文档
  6. wger 仓库 与官网 wger.de — 部署方式与 REST API 文档
  7. Kiwix 官网 与 ZIM 内容库 — ZIM 格式说明与离线用例

[!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学通信知识星球海报-扫码加入