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

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

GrowLog 不是一个录音机。

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

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

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

P-02推断必须可解释

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

P-03群晖是唯一事实源

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

P-04隐私默认在家里

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

Web/PWA · 一天的事件,而不是一堆录音

由群晖直接提供主界面;Mac、Windows、iPhone 和 iPad 访问同一份时间线。

UI CONCEPT · RESPONSIVE WEB / PWA
growlog.home/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视频转码本地模型批量重分析 CLIENTSWeb / PWA完整时间线搜索与修正跨设备访问Apple TV每日回忆大屏播放隐私控制
采集与轻任务API与计算数据库与移动设备媒体与体验面
01 · EDGE只保存有价值片段

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

02 · HUB所有状态持久化

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

03 · WORKER轻重计算分开

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

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

Web/PWA 和电视只通过API访问;卸载客户端也不影响历史。

采集与空白过滤 · 保留旧经验,不把底噪当语音

算法运行在群晖 Edge,不依赖浏览器常驻;Web/PWA 只负责查看诊断、调参和回放验收。

10MS FEATURES · ADAPTIVE NOISE FLOOR · REPLAY GATE
Capture Algorithm Baseline

先判断“有没有值得保存的声音”,再调用转写和事件分析。

客厅麦克风永远存在空调、风扇、电视和电子底噪。单纯判断样本是否非零没有意义;必须先在 Edge 上完成底噪估计、语音段判定和最短有效时长过滤。

原始证据不能被静音裁剪破坏。

保存的是带前后文的事件原片;给 AI 的是单独生成的修剪分析副本。旧网页版“拼接活跃段”的经验继续用于节省转写成本,但不覆盖原件。

01 · Lessons Preserved

网页版到 Rust 版的真实演进

这些不是重新想象的参数,而是仓库历史中已经运行过的实现。

BROWSER V1 · SIMPLE AVERAGE

整段平均振幅过滤

30秒片段抽样约1000点,计算平均绝对振幅。低于阈值直接跳过上传,解决完全安静片段浪费 AI 调用的问题。

avgAbs < 0.005 → SILENT
BROWSER V2 · SEGMENT TRIM

10ms分块识别有效语音

逐10ms块取峰值;连续静音结束当前活跃段,统计总有效语音,小于最短时长不上传,最终只编码活跃段。

peak > 0.04 · silence 0.1s · active ≥ 2s
CURRENT RUST · REGRESSION

只过滤数字全零

当前 writer 仅在0帧或全部 PCM 样本为0时删除文件;真实麦克风底噪必然非零,所以空房片段仍会封口并创建转写任务。

nonzero_samples == 0 → DROP;其它全部 SEALED
还要保留的工程经验AudioWorklet 4096样本块、切片时立即交换缓冲并先开始下一段、上传串行化、flush超时和最大缓冲保护。这些解决的是连续性和内存问题,不能在迁移到 Rust Edge 时丢失。
02 · Edge Algorithm

新采集链路:数字故障、底噪、语音三层分开

第一版不用一上来引入重型模型。先实现可解释、可回放、可按设备校准的能量 VAD;边界片段再交给 WebRTC/Silero VAD 复核。

01滚动缓冲

内存保留最近30–60秒,不持续写盘。

02数字全零保护

有帧但全零持续2.5秒,判权限/静音故障。

0310ms特征

每块计算 RMS、Peak;不在实时回调做磁盘或网络。

04自适应底噪

用最近30–60秒非语音块的低分位更新 noise floor。

05迟滞判定

开始阈值高、持续阈值低,避免风扇边缘反复开关。

06段落合并

短静音不截断句子;保留3秒前文和5秒后文。

07最短语音

有效语音不足2秒默认不进入转写。

08双份产物

原始事件片段+静音修剪分析副本。

参数保留的历史基线新方案确定方式
分析窗口10ms block继续使用10ms RMS+Peak固定,不按设备变化
固定振幅阈值peak 0.04仅作兼容回退,不作唯一判据旧录音回放对照
底噪阈值相对 noise floor 的开始/持续双阈值每个设备滑动校准
静音切段0.1s保留为历史起点,在0.1–0.5秒范围回放调优不能切碎中文短句
最短有效语音2s默认2秒;哭笑等非语言事件走独立规则按事件类型配置
事件上下文Pre-roll 3秒 · Post-roll 5秒覆盖突然开口和情绪恢复
全零故障帧增长但全零2.5秒进入 Error沿用当前 Rust watchdog

Source Clip · 事实证据

  • 从触发前3秒开始,到结束后5秒封口
  • 保留自然停顿和上下文,不做破坏性拼接
  • 用于家庭回放、争议检查和未来重新分析
  • 写入后做哈希,后续模型不能修改原件

Analysis Clip · AI输入

  • 由 Source Clip 派生,可裁首尾和长静音
  • 可拼接旧版算法识别的活跃语音段
  • 只用于转写、说话人和事件模型,节省调用成本
  • 记录算法版本、参数和源片段时间映射
03 · Replay Before Release

所有阈值必须用客厅真实录音回放验收

不能只对着一段样本调到“看起来正确”。每次参数修改都要重放同一组带人工标签的场景,比较漏录与误触发。

R01 · EMPTY ROOM空房+电子底噪

至少30分钟,不应生成长期语音片段。

R02 · APPLIANCE空调、风扇、吸尘器

持续机械声不得被误判成连续讲话。

R03 · TELEVISION电视背景人声

作为独立来源标记,不能自动当作家庭成员对话。

R04 · FAR FIELD客厅远距离成人说话

验证自适应阈值不会漏掉小声和远场语音。

R05 · CHILD孩子说话、哭和笑

语音最短时长不能把短促哭笑事件过滤掉。

R06 · OVERLAP多人重叠与突然开口

Pre-roll必须保住句首,切段不能破坏语义。

发布 Gate记录 retained_ratio、有效语音秒数、误触发片段数、人工标注漏录数、noise_floor 和最终阈值。没有回放报告,不允许只凭“听起来不错”修改生产参数。

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

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

IMMUTABLE ORIGINALS · HUMAN FRIENDLY EXPORTS
01 · Storage Boundary

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

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

系统内部 · 不通过 SMB 暴露

/volume1/@appdata/GrowLog/ ├── catalog/growlog.sqlite3 ├── objects/sha256/ab/cd/<hash> ├── derived/audio-analysis/ ├── 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每日总结

Web/PWA 与电视统一展示

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

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

WORK PACKAGES · GATED DELIVERY
Implementation Direction

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

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

黄金链路
客厅说话 → C270 → Tower → VAD → 转写 → LifeEvent → 每日摘要 → Web/PWA / 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 与空白过滤

迁移网页版10ms分块、最短2秒、无缝换缓冲等经验;增加自适应底噪、迟滞、3秒前录/5秒后录、Source/Analysis双产物和六类真实录音回放集。

出口:空房30分钟不生成长期语音;远场人声和短促哭笑不漏;参数变更附回放报告
WP3 · INGESTDEPENDS WP1 · WP2

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

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

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

声音转文本完整闭环

Analysis Clip 进入转写 Worker;结果记录说话人片段、时间戳、模型版本和到 Source Clip 的时间映射,失败可重试且不阻塞采集。

出口:一天全部有效语音可搜索;点击文本能回放原始事件片段的正确位置
WP5 · EVENTSDEPENDS WP4

生活事件检测与证据层

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

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

每日时间线与摘要合成

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

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

群晖托管的 Web/PWA 主界面

实现每日事件、时间线、全文搜索、媒体回放、推断确认、设备状态和隐私设置;Mac 可添加到程序坞,不再依赖固定 Tauri 主界面。

出口:Mac、Windows、iPhone、iPad 使用同一 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家庭成员真能用

桌面、电视、隐私与恢复