GrowLog Home
PRODUCT ARCHITECTURE · REVIEW DRAFT
Family Memory System · 2026-07-17

每天发生了什么,GrowLog 帮你留下来。

GrowLog 不是一个录音机。

它把分散的声音、照片和视频整理成可验证、可修正、可回看的家庭生活事件:几点起床、一天做了什么、孩子什么时候哭过和笑过,以及当天说过的话。

P-01事件优先,不是文件优先

音频、照片和视频是证据;用户最终看到的是一天的生活时间线。

P-02推断必须可解释

起床和入睡显示置信度、证据来源,并允许家人一键修正。

P-03群晖是唯一事实源

采集、媒体、数据库和任务队列常驻;桌面与电视关闭也不会中断。

P-04隐私默认在家里

边缘端先做 VAD;没有价值的空白声音不进入长期档案。

桌面端 · 一天的事件,而不是一堆录音

中心时间线展示生活事件,右侧随时查看规律、证据与完整文本。

UI CONCEPT · DESKTOP 1440
growlog.local/timeline/2026-07-17

2026年7月17日 · 星期五

最后更新 21:46 · 2个推断等待确认
TODAY平静而充实的一天

上午在家活动,下午短暂午睡,晚上有较长的亲子互动。

WAKE / SLEEP07:12 → 21:38

起床已确认 · 入睡待确认

VOICE48 分钟

17段有效语音 · 已全部转写

MOMENTS哭 2 · 笑 6

3张事件照片 · 1段短视频

今日摘要

早上七点多起床,早餐后在客厅搭积木。十点左右因为玩具短暂哭闹,安抚后继续玩耍。午后睡了约一小时,傍晚和家人在客厅玩球,多次大笑。晚上八点半开始洗漱和讲故事,九点半后房间趋于安静。

07:12

起床

连续环境声、人声和客厅活动共同指向起床。

已确认
置信度 92%声音 02:14客厅活动
08:03

早餐时的对话

“今天我们先吃鸡蛋,吃完再去搭积木。”

转写 04:26客厅 C270
10:17

孩子短暂哭闹

持续约46秒,随后检测到安抚对话,3分钟后情绪恢复。

情绪事件
哭声 88%声音 00:46事件照片
12:42

午睡

12:42后活动和人声显著降低,13:51重新出现持续活动。

自动推断
置信度 81%静音 69分钟可修正
18:34

客厅玩球,多次大笑

检测到6次清晰笑声;保存一张照片和12秒视频。

家庭时刻
笑声 94%照片视频 00:12
21:38

可能已经入睡

讲故事结束后持续安静,卧室没有新的声音或活动证据。

等待确认
置信度 76%确认修正时间

Apple TV · 家庭共同回看的一天

电视端不承担后台采集,只负责大屏回忆、播放和少量控制。

TVOS CONCEPT · 10-FOOT EXPERIENCE
GrowLog tvOS · Today
今天时间线照片与视频设备 ●
FRIDAY · JULY 17

今天,家里发生了这些事

平静而充实的一天

早上七点多起床,下午睡了一个小时,傍晚在客厅玩球时笑得很开心。

07:12起床
10:17短暂哭闹,随后恢复
12:42午睡 69分钟
18:34客厅玩球,多次大笑
播放今天的回忆
查看完整时间线

晚上的快乐时刻

照片、视频与当时的声音已经关联到同一个事件。

播放 12秒
保存为成长时刻

系统架构 · 边缘采集,群晖中枢,异步计算

不是把桌面程序搬到群晖,而是让每种设备只承担自己擅长的角色。

SENSOR · EDGE · HUB · WORKER · CLIENT
Architecture Direction

群晖保存事实,Worker 生成理解,客户端呈现生活。

客厅 C270 是固定 Sensor;Action 5 Pro 是 Roaming Sensor;手机既是 Sensor,也是 Action 素材的移动桥。所有媒体和任务状态最终进入 GrowLog Hub。

位置属于 CaptureSession,不属于设备。

Action 今天在卧室、明天在旅行,设备 ID 不变;每次采集单独记录 room、trip、GPS 或 unknown。

GROWLOG HOME MEMORY SYSTEM · LOGICAL ROLES SENSORS & EDGES客厅 C270固定音频 · 事件照片Action 5 ProRoaming · 4K · 旅行/临时固定手机照片视频 · 离线队列 · Action BridgeEdge RuntimeRing Buffer · VAD · Pre/Post Roll TOWER · GROWLOG HUBIngest API断点上传 · 鉴权 · 去重Media StoreImmutable · SHA-256Catalog DBObservation · Event · EvidenceJob QueueIdempotent · Retry · DLQGrowLog Hub APITimeline · Search · Transcript · Media RangeDevice Health · Privacy · Human Correction群晖重启后恢复全部状态 ASYNC WORKERSNAS Worker云端转写事件整理日总结Mac Worker视频转码本地模型批量重分析 CLIENTSDesktop完整时间线搜索与修正系统管理Apple TV每日回忆大屏播放隐私控制
采集与轻任务API与计算数据库与移动设备媒体与体验面
01 · EDGE只保存有价值片段

滚动缓冲保留前3秒和后5秒;空白底噪不进入长期库。

02 · HUB所有状态持久化

断网、重启、AI失败不会丢失媒体,也不会重复创建事件。

03 · WORKER轻重计算分开

云API调用留群晖;视频和本地模型交给Mac。

04 · CLIENT展示面无事实所有权

桌面和电视只通过API访问,卸载客户端也不影响历史。

数据与文件 · 用户看得懂,系统不会乱

数据库和内部对象库隐藏;共享目录只展示已经整理好的家庭事件和导出。

IMMUTABLE ORIGINALS · HUMAN FRIENDLY EXPORTS
01 · Storage Boundary

内部事实源与用户共享目录分离

数据库不能放在 SMB 共享目录里被直接修改;媒体原件按哈希保存,用户需要时生成按日期整理的可读视图。

系统内部 · 不通过 SMB 暴露

/volume1/@appdata/GrowLog/ ├── catalog/growlog.sqlite3 ├── objects/sha256/ab/cd/<hash> ├── spool/capturing/ ├── spool/sealed/ ├── jobs/dead-letter/ ├── thumbnails/ └── backups/

家庭共享 · 可以直接查看

/volume1/GrowLogMedia/ ├── 2026/07/17/ │ └── 18-34_客厅玩球/ │ ├── audio.opus │ ├── snapshot.jpg │ ├── video.mp4 │ ├── transcript.txt │ └── event.json └── exports/
CAPTURING边缘滚动缓冲
SEALED完整媒体已封口
FILTERED空白或无效片段
QUEUED等待AI处理
DERIVED文本与事件已生成
CONFIRMED家人确认或修正
02 · Core Objects

五个核心对象

媒体、推断、用户修正和每日总结必须分开,避免AI改写历史。

OBJECT A

Device

设备身份与能力,不把移动相机永久绑定房间。

OBJECT B

CaptureSession

一次采集的房间、旅行、时间与隐私上下文。

OBJECT C

Observation

原始音频、图片、视频和传感信号。

OBJECT D

LifeEvent

哭、笑、起床、入睡、活动与对话等解释层。

OBJECT E

DerivedArtifact

转写、摘要、标签及其模型和版本。

03 · Runtime Flow

从声音到“今天发生了什么”

AI只生成候选事件;高影响推断要经过证据检查和家人确认。

01滚动采集

只保留最近30–60秒

02触发事件

语音、哭笑或手动保存

03封口入库

媒体哈希与原子写入

04转写理解

声音转文字、图片理解

05候选事件

时间、人物、活动、情绪

06证据与修正

置信度、回放、人工修正

07每日总结

桌面与电视统一展示

执行方案 · 从客厅闭环到多设备家庭记忆

先跑通一条黄金链路,再增加手机、Action 和 Apple TV;不同时重构全部系统。

WORK PACKAGES · GATED DELIVERY
Implementation Direction

先证明一天能被准确还原,再扩展设备数量。

第一阶段只要求:客厅声音进入群晖,空白被过滤,有效语音完成转写,桌面端出现带证据的每日事件。

黄金链路
客厅说话 → C270 → Tower → VAD → 转写 → LifeEvent → 每日摘要 → 桌面端/Apple TV。
WAVE 0模型与边界WP0 · WP1
WAVE 1客厅闭环WP2 · WP3 · WP4
WAVE 2理解与展示WP5 · WP6 · WP7
WAVE 3移动内容WP8 · WP9
WAVE 4家庭大屏与发行WP10 · WP11
WP0 · BASELINESTART HERE

产品事件模型与隐私边界

冻结 Device、Session、Observation、LifeEvent、DerivedArtifact、Evidence 和 Correction 数据契约;定义采集时段、保留期限和隐私开关。

出口:起床/入睡、哭/笑、对话和日常活动都有明确证据与修正规则
WP1 · HUBDEPENDS WP0

群晖 GrowLog Hub 地基

建立原生 Rust 服务、SQLite、媒体对象库、幂等任务队列、Ingest API、健康检查和开机守护。

出口:群晖重启后数据库、媒体和未完成任务全部恢复
WP2 · EDGEDEPENDS WP1

客厅 C270 Edge Runtime

在 Tower 上实现滚动缓冲、VAD、自适应底噪、前后保留、照片触发和设备重连;替换“非零即有效”的旧逻辑。

出口:连续空房不产生长期录音;远距离人声仍能保留
WP3 · INGESTDEPENDS WP1 · WP2

媒体封口、去重与目录策略

实现 .partial、原子改名、SHA-256、对象存储、缩略图、用户可见导出和空间保留策略。

出口:断电或重复上传不产生半文件和重复资产
WP4 · TRANSCRIPTDEPENDS WP2 · WP3

声音转文本完整闭环

建立云端转写 Worker、说话人片段、时间戳、重试、模型版本和音频文本双向定位。

出口:一天全部有效语音可搜索,点击文本能回放对应声音
WP5 · EVENTSDEPENDS WP4

生活事件检测与证据层

识别哭、笑、对话、活动开始/结束;以多信号推断起床、午睡、入睡,输出置信度和候选证据。

出口:每个事件均能回到音频、照片或活动证据;低置信度不自动定论
WP6 · DAILYDEPENDS WP5

每日时间线与摘要合成

按本地日历日聚合事件,形成起居节律、做过的事情、情绪时刻和完整文本摘要;保留人工修订历史。

出口:一天可生成稳定、可复核的 DailyMemory
WP7 · DESKTOPDEPENDS WP1 · WP6

桌面端改造成 Hub 客户端

实现每日事件、时间线、全文搜索、媒体回放、推断确认、设备状态、隐私设置;移除主数据库所有权。

出口:桌面端退出或重装不影响采集与历史数据
WP8 · MOBILEDEPENDS WP1 · WP3

手机媒体自动导入

首版接 Synology Photos Connector;后续 GrowLog Mobile Bridge 支持后台队列、家庭 Wi-Fi、充电策略和断点上传。

出口:手机照片视频最终自动进入 Hub,重复备份不重复入库
WP9 · ACTIONDEPENDS WP3 · WP8

Action 5 Pro 双通道导入

旅行时经手机桥接;回家后通过 USB/SD Import Dock 自动导入原片。CaptureSession 动态记录 trip、room 或 unknown。

出口:同一素材经手机和插线两条路径导入仍只保留一份
WP10 · TVDEPENDS WP6 · WP7

Apple TV 家庭回忆客户端

实现今日摘要、事件时间线、照片视频播放、声音文本字幕、保存成长时刻和隐私模式快捷控制。

出口:遥控器可完成“看今天、播放时刻、确认事件”三条路径
WP11 · HARDENINGDEPENDS ALL

故障注入、备份与家庭试运行

执行断网、AI超时、群晖重启、磁盘逼近阈值、设备掉线、重复上传和权限攻击测试;建立备份、恢复及保留策略。

出口:连续试运行中不丢原件、不重复事件、不绕过隐私模式
GATE 0事件定义可信

推断、证据、修正边界明确

GATE 1客厅闭环稳定

VAD、封口、重启恢复

GATE 2一天可被还原

文本、事件、摘要可复核

GATE 3多设备不重复

手机与Action双通道去重

GATE 4家庭成员真能用

桌面、电视、隐私与恢复