<!-- title: 把人生数据搬回家：8个开源小仓库 -->

**开头说明一句**：本期所有候选均经过环境限制下的最大可行性核验，未能实时联网抓取的部分，星级与更新状态均按撰写时公开快照给出量级描述，请以仓库页面实时数据为准——量级判断有把握，精确到个位的数字本期不编。

---

## 本期思路：把「量化自己」这件事从云手里抢回来

前三轮我们看过配音棚、家庭图书馆、桌面工厂，这期换个一直没人写过、但每个人天天都在产生数据的领域：**个人数据主权**。你的屏幕时间在手机厂商手里，你的体重体脂在秤厂 App 手里，你的跑步轨迹在运动平台手里，你的投资记录在券商手里，甚至连你家祖上三代的家族记忆，都躺在某个 genealogy 平台的付费墙后面。本期 8 个仓库，全部围绕一条主线：**数据在你自己的硬盘上，服务由你自己托管，格式开放随时搬走**。其中既有两万星级的现象级爆款，也有三位数星级的冷门手艺活，硬件门槛最低为零（浏览器就能跑），最高的不过一根 USB 气象传感器。

---

## 1. [changedetection.io](https://github.com/dgtlmoon/changedetection.io) ｜ 两万星级上下 ｜ 持续高频更新

**一句话定位**：给互联网装一个「变化警报器」——哪个页面变了、哪个商品补货了、哪家降价了，它比你先知道。

网页变化监控这事儿听起来朴素，但 changedetection.io 把它做到了现象级：单开发者项目（dgtlmoon）长年霸榜 GitHub Trending，靠的是把一个痛点切得极细——**只监控变化，别的都不做**。核心能力三层：普通 HTML 文本 diff（抓价格、抓「有货/无货」状态词）；XPath/JSON 路径精确提取（只盯某个 DOM 节点，页面改版也不误报）；配上内置 Playwright 浏览器后能渲染 JavaScript 页面，连单页应用、登录后才可见的内容都能盯。触发条件支持「价格低于阈值」「关键词出现」再报警，通知走 ntfy、Discord、Telegram、Webhook 等上百条通道。稀缺商品监控、机票价格蹲守、竞品页面巡检、导师主页放出新招生通知——都是典型用法。

**上手难度**：⭐⭐（docker run 一条命令）

**适用人群**：剁手党、薅羊毛党、做电商选品和竞品监控的小团队。它本身也是「开源核心 + 官方付费托管版」商业模型的教科书，想研究怎么把一个开源工具卖成订阅服务的，这个仓库值得当案例拆。

---

## 2. [ActivityWatch](https://github.com/ActivityWatch/activitywatch) ｜ 1.3 万星级左右 ｜ 多端持续维护

**一句话定位**：开源版 RescueTime——全平台记录你每一分钟花在了哪个窗口、哪个标签页、哪个应用上，数据 100% 本地。

ActivityWatch 的架构值得单独说：它不是一个大而全的 App，而是「核心服务 + 一堆 watcher 插件」的模块化设计。桌面端有窗口 watcher、AFK watcher（判断你是不是真在电脑前）、编辑器 watcher；浏览器端有 Chrome/Firefox 扩展记录标签页停留；Android 端独立 App 记录应用使用时长。所有数据进本地 SQLite，通过统一 REST API 暴露，官方自带 Web 界面做时间线可视化和分类统计（哪个域名算「工作」哪个算「摸鱼」可自定义规则）。

它的杀手锏是那条 API：数据是你的，意味着你可以写自己的分析脚本——比如每周自动生成一份「深度工作时长」日报推送到自己邮箱，或者把数据喂给 Grafana 画年度报告。这正是云厂商的屏幕时间功能永远做不到的。

**上手难度**：⭐⭐（各平台装客户端即用，进阶玩法要写点代码）

**适用人群**：自由职业者、按小时计费的顾问、想治「时间失忆症」的知识工作者。二次开发方向：给它写行业专用的分析报告插件，或者接 LLM 做自动时间审计——这是个没人占住的坑。

---

## 3. [Ghostfolio](https://github.com/ghostfolio/ghostfolio) ｜ 5000 星级上下 ｜ 活跃迭代中

**一句话定位**：自托管的投资组合看板，把散落在券商、基金平台、加密钱包里的资产拼成一张实时总表。

大多数人炒股买基金的真实痛点不是交易，是**看不清全貌**：A股一个 App、美股一个 App、定投又一个 App，收益归因全靠心算。Ghostfolio（TypeScript + NestJS + PostgreSQL）解决的就是这件事：手动录入或导入持仓后，它统一计算多币种市值、股息现金流、年度绩效，还有个招牌功能叫 **X-Ray**——组合透视，能发现你的「两只基金」底层重仓了同一批股票，你以为分散了其实重仓了三遍。对 FIRE（财务提前退休）人群，它内置了 FIRE Number 计算和被动收入覆盖率追踪。

许可证是 AGPL-3.0，官方同时运营付费云版——自托管完全免费无功能阉割，懒得运维就付费用托管版，这个模型跑了好几年，验证过商业闭环。

**上手难度**：⭐⭐⭐（Docker Compose 起，首次录入持仓要点耐心）

**适用人群**：多平台投资者、FIRE 实践者、家庭财务的主理人。注意它偏「组合追踪」而非「记账」，和 Firefly III 这类记账工具是互补关系。

---

## 4. [Gramps](https://github.com/gramps-project/gramps) ｜ 2000 星级上下 ｜ 二十余年长青

**一句话定位**：从 2001 年活到今天的家谱软件老祖，把家族记忆从商业化族谱网站的付费墙里解放出来。

家谱是典型的「平台锁定重灾区」：在某个商业网站上录了十年家族资料，想搬家时发现导出格式处处受限，甚至人走了资料就没了。Gramps 是 GNOME 生态下的开源答案：GPL 协议，数据存本地 SQLite/XML，支持完整的个人、家庭、事件、来源引用、媒体档案模型——「来源引用」这点是它和玩具软件的分水岭，正规家谱研究要求每个事实都能追溯到史料，Gramps 的数据模型就是按 genealogy 学术规范设计的。GUI 之外还有配套的 Gramps Web 项目，可以自托管一个全家协作的族谱站，让长辈在浏览器里补资料、看树。

对普通用户它是「给家族留档」的工具；对 genealogy 爱好者它是标准基础设施。Star 数不高是因为受众天然垂直，但项目 24 年不断更，社区稳如老狗。

**上手难度**：⭐⭐⭐（单机版容易，Web 协作版要一点 Docker 功底）

**适用人群**：修家谱的家庭、地方志工作者、口述历史记录者。变现思路几乎写在脸上：面向宗亲会、家谱修撰工作室的托管服务。

---

## 5. [WeeWX](https://github.com/weewx/weewx) ｜ 1000 星级出头 ｜ 长期稳定维护

**一句话定位**：业余气象站的操作系统——接上你的桌面气象设备，自动记录、归档、出报表、发数据。

买过百元级气象站的人都知道那套体验：设备配个粗糙的 App，数据锁在厂商云里，想导历史记录门都没有。WeeWX 是整个业余气象圈公认的解法：这个 Python 项目从 2008 年写到现在，支持 Davis Vantage、Ecowitt 等几十种主流气象硬件，也支持纯软件数据源。它的架构极干净：**驱动层**收硬件数据 → 归档进 SQLite/MySQL → **报告引擎**按模板生成静态页面（自家网页、月度年报表、图表）→ 想进阶就把数据桥接进 InfluxDB + Grafana 自由可视化，或者上报 WeatherCloud 等社区网络。5.x 版本后改用 pip 安装，树莓派上十分钟起步。

它和本期其他仓库的气质不同：不是「App」，是「基础设施」——低调、稳定、一次装好跑十年。气象数据讲究的是长时序连续性，WeeWX 用户里跑着十年不断档档案的大有人在。

**上手难度**：⭐⭐⭐（要一台常开的小主机和一块气象硬件）

**适用人群**：气象爱好者、农业大棚主、太阳能电站运维、需要本地环境数据做决策的极客。二次开发：给茶园、养殖场做「小气候档案」服务，是条没人卷的路。

---

## 6. [openScale](https://github.com/oliexdev/openScale) ｜ 约 1000 星级 ｜ Android 端持续维护

**一句话定位**：让小米、Beurer、Medisana 等几十款蓝牙体脂秤甩掉官方 App，数据直接进你自己的库。

体脂秤是隐私重灾区：秤本身只是个电阻测量仪，真正算出体脂率的是厂商 App——顺手把你的体重曲线、住址、作息一起收走。openScale 的思路是釜底抽薪：直接在 Android 端和秤蓝牙通信，破解并实现了几十款主流秤的私有协议，本地完成体脂、水分、肌肉量、骨量的阻抗公式换算。数据存在手机本地，也可以选择同步到自托管方案，彻底绕开厂商云。它还内置了体重趋势平滑（体重日波动很大，它用移动平均看真实趋势）和目标追踪。

作为「逆向工程 + 健康自持」二合一的项目，它 1000 星的体量严重低估了其技术含量——每个被支持的秤型号背后都是一次协议逆向。

**上手难度**：⭐⭐（装 App 配对即用，先查支持列表确认自己的秤）

**适用人群**：减肥/增肌人群、不信任厂商 App 的隐私党、给爸妈装秤的子女。和下一款的 OpenTracks 搭起来，就是一套完整的「身体数据自持」组合。

---

## 7. [OpenTracks](https://github.com/OpenTracksApp/OpenTracks) ｜ 2000+ 星级 ｜ 活跃维护

**一句话定位**：一个连「网络权限」都不申请的跑步骑行记录 App——轨迹数据出不了你的手机。

运动 App 的商业模式大家都懂：免费记录，数据变现。OpenTracks（Apache-2.0，F-Droid 可装）把姿态摆到了极致：不联网、无广告、无账号，GPS 轨迹、配速、爬升全部本地存储，支持蓝牙心率带、踏频器、车速传感器等 ANT+/BLE 外设。记录完想分享？它有个聪明的「Dashboard API」设计：生成一个仅在本机的统计页，通过系统分享调用其他 App 展示——全程不经任何服务器。轨迹可导出 GPX/KML，和任何地图工具兼容。

它不提供社交、不提供路线推荐、不提供训练计划，就是一个纯粹的记录仪。在运动健康数据频繁被曝滥用的今天，「功能做减法」反而是最强的产品语言。

**上手难度**：⭐（装上就跑）

**适用人群**：跑者、骑行党、徒步客中的隐私敏感者；开源硬件玩家（配合自建轨迹可视化管线）。

---

## 8. [Healthchecks](https://github.com/healthchecks/healthchecks) ｜ 3000 星级上下 ｜ 稳定运营多年

**一句话定位**：死人开关式监控——不检查你的服务活不活，而是检查你的定时任务「有没有来报到」。

传统监控盯的是「出错了报警」，但定时任务最阴险的故障是**静默失败**：备份脚本没跑、证书续期没触发、爬虫悄悄挂了——没有报错，什么都不会响，等你发现时已经损失了三个月的备份。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 | ⭐⭐ | 体脂秤去厂商化 |

## 本期版图

```mermaid
mindmap
  root((个人数据主权))
    看时间
      ActivityWatch
      本地SQLite加REST API
    看身体
      openScale
      OpenTracks
      蓝牙直连不上云
    看钱包
      Ghostfolio
      组合透视X-Ray
    看家庭
      Gramps
      来源引用可追溯
    看环境
      WeeWX
      十年气象档案
    看世界
      changedetection
      Healthchecks
      变了和没来都报警
```

## 本期之最

- **最值得立即尝试：changedetection.io**。零硬件门槛，五分钟起飞，蹲到第一次降价推送的那刻你就回不去了。
- **最有商业潜力：Ghostfolio**。投资工具是天然付费品类，官方云版已验证模式，本地化二次开发（对接国内券商数据源）是明摆着的空位。
- **最被低估：openScale**。1000 星级配不上它的逆向工程密度；「让硬件回归硬件，数据归还用户」这件事，它是健康硬件领域做得最彻底的一个。

## 参考来源

1. [changedetection.io - GitHub](https://github.com/dgtlmoon/changedetection.io) — 网页变化监控主仓库，功能说明参考其 README
2. [ActivityWatch - GitHub](https://github.com/ActivityWatch/activitywatch) — 时间追踪架构与 watcher 模块说明来源
3. [Ghostfolio 官网](https://ghostfolio.org) — 功能列表与开源+云版商业模型说明
4. [WeeWX 官网](https://www.weewx.com) — 硬件支持列表与 5.x 安装方式
5. [Healthchecks 官网](https://healthchecks.io) — dead man's switch 模式与托管版说明

> [!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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
