小南的小星球:给女朋友做的一个小站

882 字
4 分钟
小南的小星球:给女朋友做的一个小站
  1. 1Estate-Link:我给写字楼写的这套物业管理系统
  2. 2小南的小星球:给女朋友做的一个小站本文

如果说 Estate-Link 是「给别人做的正经系统」,那 小南的小星球 就是「给她做的小玩具」——只不过做着做着,也做成了一个完整的产品。

它是给谁做的#

给女朋友,小南。

她平时会记步数、记吃了什么、记心情。这些东西原本散在好几个 App 里,我就想:干脆自己做一个小站,把这些合在一起,还能每天给她生成一份「今天的小报」。

它记录什么#

打开小星球,能看到的东西挺杂,但都是她真的在用的:

  • 步数与热量 —— 手机 App 自动上报步数,按口径折算成消耗(只精确到日)。
  • 饮食记录 —— 吃了什么、想吃什么、不爱吃什么。
  • 心情 / 身体信号 —— 心情、体重这些小状态。
  • 训练与经期记录。
  • 旅行轨迹与照片墙 —— 出去玩的时候打卡、定位、传照片,轨迹会在地图上长出来。
  • 歌单 —— 她喜欢听的歌。
  • 今日小报 —— 每天 22<00> 自动生成,把这个人的一天写成一小段话。

每天的那份小报#

这是我最喜欢的一部分。

系统会先把当天的事实整理出来(步数、消耗、吃了什么、心情、训练、经期、目标),再交给大模型,让它只负责「写字」——所有数字都来自代码算出来的事实,不靠模型编。

小报还有一个「指纹」:只要当天任何一项数据变了,指纹就变,页面会标出「已经是旧的啦」,提示你重新生成。

技术栈#

  • 后端:一个 Python 服务(server.py + ai.py + suggest.py),随系统托管、开机自启。
  • 前端:Vue 3,打包成静态产物。
  • 安卓 App:用 Capacitor 把站点套进原生壳,开机自启、定时上报步数、发通知——「自动记步」就是它在干。
  • 数据:MongoDB 4.4 是唯一真源,文件镜像做兜底。
  • 多媒体:照片、视频、歌都同步到对象存储,不占机器自己的盘。

为什么是 MongoDB 4.4#

不是我不想用新版——是这台机器的 CPU 是 Intel Celeron 1037U(Sandy Bridge,没有 AVX 指令集),而 MongoDB 5.0+ 启动时会直接 Illegal instruction 退出。4.4 是最后一个支持无 AVX CPU 的版本,配着 PyMongo 3.11 正好够用。

还有一个我挺满意的设计:库挂了,站照常能用——读走文件镜像、写落文件并打个待同步标记,库回来自动重连、每 5 分钟把文件那份补推回去。所以升级数据库这件事,从小概率的「事故」变成了「后台自动补上」。

隐私:一道口令门#

小星球里是两个人的私事,所以我加了一道门:局域网和自己人的设备直接进;外面来的陌生 IP 只看到一张粉色口令页。

口令和「钥匙」都写在配置里,手机 App 走机器钥匙。所有判定只看钥匙和口令,不看 IP。

部署#

  • 后端是一个常驻服务、前端是静态产物,都放在自己的机器上,随系统托管、开机自启,还挂了内存上限防止把家占满。
  • 外面套了一道口令门,只让「自己人」进。

小结#

它没什么「大」的野心,就是一个人用。但正因为只给一个人用,我可以把每个细节都抠到自己满意为止。

这大概就是自己做东西最好的地方。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

小南的小星球:给女朋友做的一个小站
https://blog.wiseasy.top/posts/xiaonan-star/
作者
Y酱
发布于
2026-10-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Y酱
写代码,也写生活。物业系统 / 小星球,都跑在自己家的 NAS 上。
公告
博客开张啦~ 这里会记录 Y酱 在写的东西:Estate-Link 物业管理系统、小南的小星球,还有折腾家里那台 NAS 的一点心得。
分类
标签
站点统计
文章
4
分类
3
标签
19
总字数
3,243
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录