开头说明一句:本期所有候选均经过环境限制下的最大可行性核验,未能实时联网抓取的部分,星级与更新状态均按撰写时公开快照给出量级描述,请以仓库页面实时数据为准——量级判断有把握,精确到个位的数字本期不编。
前三轮我们看过配音棚、家庭图书馆、桌面工厂,这期换个一直没人写过、但每个人天天都在产生数据的领域:个人数据主权。你的屏幕时间在手机厂商手里,你的体重体脂在秤厂 App 手里,你的跑步轨迹在运动平台手里,你的投资记录在券商手里,甚至连你家祖上三代的家族记忆,都躺在某个 genealogy 平台的付费墙后面。本期 8 个仓库,全部围绕一条主线:数据在你自己的硬盘上,服务由你自己托管,格式开放随时搬走。其中既有两万星级的现象级爆款,也有三位数星级的冷门手艺活,硬件门槛最低为零(浏览器就能跑),最高的不过一根 USB 气象传感器。
一句话定位:给互联网装一个「变化警报器」——哪个页面变了、哪个商品补货了、哪家降价了,它比你先知道。
网页变化监控这事儿听起来朴素,但 changedetection.io 把它做到了现象级:单开发者项目(dgtlmoon)长年霸榜 GitHub Trending,靠的是把一个痛点切得极细——只监控变化,别的都不做。核心能力三层:普通 HTML 文本 diff(抓价格、抓「有货/无货」状态词);XPath/JSON 路径精确提取(只盯某个 DOM 节点,页面改版也不误报);配上内置 Playwright 浏览器后能渲染 JavaScript 页面,连单页应用、登录后才可见的内容都能盯。触发条件支持「价格低于阈值」「关键词出现」再报警,通知走 ntfy、Discord、Telegram、Webhook 等上百条通道。稀缺商品监控、机票价格蹲守、竞品页面巡检、导师主页放出新招生通知——都是典型用法。
上手难度:⭐⭐(docker run 一条命令)
适用人群:剁手党、薅羊毛党、做电商选品和竞品监控的小团队。它本身也是「开源核心 + 官方付费托管版」商业模型的教科书,想研究怎么把一个开源工具卖成订阅服务的,这个仓库值得当案例拆。
一句话定位:开源版 RescueTime——全平台记录你每一分钟花在了哪个窗口、哪个标签页、哪个应用上,数据 100% 本地。
ActivityWatch 的架构值得单独说:它不是一个大而全的 App,而是「核心服务 + 一堆 watcher 插件」的模块化设计。桌面端有窗口 watcher、AFK watcher(判断你是不是真在电脑前)、编辑器 watcher;浏览器端有 Chrome/Firefox 扩展记录标签页停留;Android 端独立 App 记录应用使用时长。所有数据进本地 SQLite,通过统一 REST API 暴露,官方自带 Web 界面做时间线可视化和分类统计(哪个域名算「工作」哪个算「摸鱼」可自定义规则)。
它的杀手锏是那条 API:数据是你的,意味着你可以写自己的分析脚本——比如每周自动生成一份「深度工作时长」日报推送到自己邮箱,或者把数据喂给 Grafana 画年度报告。这正是云厂商的屏幕时间功能永远做不到的。
上手难度:⭐⭐(各平台装客户端即用,进阶玩法要写点代码)
适用人群:自由职业者、按小时计费的顾问、想治「时间失忆症」的知识工作者。二次开发方向:给它写行业专用的分析报告插件,或者接 LLM 做自动时间审计——这是个没人占住的坑。
一句话定位:自托管的投资组合看板,把散落在券商、基金平台、加密钱包里的资产拼成一张实时总表。
大多数人炒股买基金的真实痛点不是交易,是看不清全貌:A股一个 App、美股一个 App、定投又一个 App,收益归因全靠心算。Ghostfolio(TypeScript + NestJS + PostgreSQL)解决的就是这件事:手动录入或导入持仓后,它统一计算多币种市值、股息现金流、年度绩效,还有个招牌功能叫 X-Ray——组合透视,能发现你的「两只基金」底层重仓了同一批股票,你以为分散了其实重仓了三遍。对 FIRE(财务提前退休)人群,它内置了 FIRE Number 计算和被动收入覆盖率追踪。
许可证是 AGPL-3.0,官方同时运营付费云版——自托管完全免费无功能阉割,懒得运维就付费用托管版,这个模型跑了好几年,验证过商业闭环。
上手难度:⭐⭐⭐(Docker Compose 起,首次录入持仓要点耐心)
适用人群:多平台投资者、FIRE 实践者、家庭财务的主理人。注意它偏「组合追踪」而非「记账」,和 Firefly III 这类记账工具是互补关系。
一句话定位:从 2001 年活到今天的家谱软件老祖,把家族记忆从商业化族谱网站的付费墙里解放出来。
家谱是典型的「平台锁定重灾区」:在某个商业网站上录了十年家族资料,想搬家时发现导出格式处处受限,甚至人走了资料就没了。Gramps 是 GNOME 生态下的开源答案:GPL 协议,数据存本地 SQLite/XML,支持完整的个人、家庭、事件、来源引用、媒体档案模型——「来源引用」这点是它和玩具软件的分水岭,正规家谱研究要求每个事实都能追溯到史料,Gramps 的数据模型就是按 genealogy 学术规范设计的。GUI 之外还有配套的 Gramps Web 项目,可以自托管一个全家协作的族谱站,让长辈在浏览器里补资料、看树。
对普通用户它是「给家族留档」的工具;对 genealogy 爱好者它是标准基础设施。Star 数不高是因为受众天然垂直,但项目 24 年不断更,社区稳如老狗。
上手难度:⭐⭐⭐(单机版容易,Web 协作版要一点 Docker 功底)
适用人群:修家谱的家庭、地方志工作者、口述历史记录者。变现思路几乎写在脸上:面向宗亲会、家谱修撰工作室的托管服务。
一句话定位:业余气象站的操作系统——接上你的桌面气象设备,自动记录、归档、出报表、发数据。
买过百元级气象站的人都知道那套体验:设备配个粗糙的 App,数据锁在厂商云里,想导历史记录门都没有。WeeWX 是整个业余气象圈公认的解法:这个 Python 项目从 2008 年写到现在,支持 Davis Vantage、Ecowitt 等几十种主流气象硬件,也支持纯软件数据源。它的架构极干净:驱动层收硬件数据 → 归档进 SQLite/MySQL → 报告引擎按模板生成静态页面(自家网页、月度年报表、图表)→ 想进阶就把数据桥接进 InfluxDB + Grafana 自由可视化,或者上报 WeatherCloud 等社区网络。5.x 版本后改用 pip 安装,树莓派上十分钟起步。
它和本期其他仓库的气质不同:不是「App」,是「基础设施」——低调、稳定、一次装好跑十年。气象数据讲究的是长时序连续性,WeeWX 用户里跑着十年不断档档案的大有人在。
上手难度:⭐⭐⭐(要一台常开的小主机和一块气象硬件)
适用人群:气象爱好者、农业大棚主、太阳能电站运维、需要本地环境数据做决策的极客。二次开发:给茶园、养殖场做「小气候档案」服务,是条没人卷的路。
一句话定位:让小米、Beurer、Medisana 等几十款蓝牙体脂秤甩掉官方 App,数据直接进你自己的库。
体脂秤是隐私重灾区:秤本身只是个电阻测量仪,真正算出体脂率的是厂商 App——顺手把你的体重曲线、住址、作息一起收走。openScale 的思路是釜底抽薪:直接在 Android 端和秤蓝牙通信,破解并实现了几十款主流秤的私有协议,本地完成体脂、水分、肌肉量、骨量的阻抗公式换算。数据存在手机本地,也可以选择同步到自托管方案,彻底绕开厂商云。它还内置了体重趋势平滑(体重日波动很大,它用移动平均看真实趋势)和目标追踪。
作为「逆向工程 + 健康自持」二合一的项目,它 1000 星的体量严重低估了其技术含量——每个被支持的秤型号背后都是一次协议逆向。
上手难度:⭐⭐(装 App 配对即用,先查支持列表确认自己的秤)
适用人群:减肥/增肌人群、不信任厂商 App 的隐私党、给爸妈装秤的子女。和下一款的 OpenTracks 搭起来,就是一套完整的「身体数据自持」组合。
一句话定位:一个连「网络权限」都不申请的跑步骑行记录 App——轨迹数据出不了你的手机。
运动 App 的商业模式大家都懂:免费记录,数据变现。OpenTracks(Apache-2.0,F-Droid 可装)把姿态摆到了极致:不联网、无广告、无账号,GPS 轨迹、配速、爬升全部本地存储,支持蓝牙心率带、踏频器、车速传感器等 ANT+/BLE 外设。记录完想分享?它有个聪明的「Dashboard API」设计:生成一个仅在本机的统计页,通过系统分享调用其他 App 展示——全程不经任何服务器。轨迹可导出 GPX/KML,和任何地图工具兼容。
它不提供社交、不提供路线推荐、不提供训练计划,就是一个纯粹的记录仪。在运动健康数据频繁被曝滥用的今天,「功能做减法」反而是最强的产品语言。
上手难度:⭐(装上就跑)
适用人群:跑者、骑行党、徒步客中的隐私敏感者;开源硬件玩家(配合自建轨迹可视化管线)。
一句话定位:死人开关式监控——不检查你的服务活不活,而是检查你的定时任务「有没有来报到」。
传统监控盯的是「出错了报警」,但定时任务最阴险的故障是静默失败:备份脚本没跑、证书续期没触发、爬虫悄悄挂了——没有报错,什么都不会响,等你发现时已经损失了三个月的备份。Healthchecks 的模式反过来:你的 cron 任务每次跑完就向它发一个 HTTP ping,如果约定时间没等到 ping,它才报警。就这一个动作,覆盖了所有「该发生而没发生」的故障。Python/Django 写成,自托管极轻,集成 Slack、邮件、Webhook、ntfy 等一堆通知通道,还支持「任务跑太慢」告警(grace 超时)。
它同样是开源商业化的经典样本:作者 Pēteris Caune 靠官方托管版的付费团队功能养了这个项目多年——证明「监控」这个品类,个人用免费自建、公司用付费托管,两个市场可以由同一份代码吃下。
上手难度:⭐⭐(会写 crontab 就会用)
适用人群:独立开发者(监控自己的 VPS 定时任务)、小团队运维、写自动化脚本的任何人。个人自建零成本,团队场景可以直接抄它的收费模型。
| 仓库 | 领域 | 星级量级 | 平台 | 上手难度 | 一句话场景 |
|---|---|---|---|---|---|
| changedetection.io | 网页监控 | ~20k | 自托管 Web | ⭐⭐ | 蹲降价蹲补货 |
| ActivityWatch | 时间追踪 | ~13k | 全平台 | ⭐⭐ | 治时间失忆 |
| Healthchecks | 任务监控 | ~3k | 自托管 Web | ⭐⭐ | 备份静默失败报警 |
| OpenTracks | 运动轨迹 | 2k+ | Android | ⭐ | 无网记录跑步 |
| Gramps | 家谱 | ~2k | 桌面+Web | ⭐⭐⭐ | 家族记忆留档 |
| Ghostfolio | 投资组合 | ~5k | 自托管 Web | ⭐⭐⭐ | 全资产一张表 |
| WeeWX | 气象站 | ~1k | 树莓派/主机 | ⭐⭐⭐ | 屋顶气象数据管线 |
| openScale | 体成分 | ~1k | Android | ⭐⭐ | 体脂秤去厂商化 |
mindmap
root((个人数据主权))
看时间
ActivityWatch
本地SQLite加REST API
看身体
openScale
OpenTracks
蓝牙直连不上云
看钱包
Ghostfolio
组合透视X-Ray
看家庭
Gramps
来源引用可追溯
看环境
WeeWX
十年气象档案
看世界
changedetection
Healthchecks
变了和没来都报警
[!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 等场景全覆盖。
