# Lifelog → Life OS 路线图 > 写于 2026-06-10。基于「人生OS」设想文档与 lifelog v0.9 现状的对比分析。 --- ## 一、理念校正 **人生OS不是一个 Agent。** Agent 只是其中一个模块。 真正的人生OS是: ``` Memory Layer 记忆层 ← 我们现在做到 80% Knowledge Layer 知识层 ← 60% Relationship Layer 关系层 ← 50% Goal Layer 目标层 ← 10% Execution Layer 执行层 ← 30% Agent Layer 智能代理 ← 40% ``` 核心护城河:**Personal Graph + Personal Memory + Personal Agent 三者闭环**。 lifelog 独有的护城河:**端上 24/7 录音 + 完全本地 + 零云端**——这是所有云端方案(Claude/GPT)永远复制不了的。 --- ## 二、现状 vs 人生OS 分层对照 ### Layer 1 — Memory OS(记忆层) | 能力 | 要求 | 现状 | |---|---|---| | 24/7 录音采集 | 自动采集语音 | ✅ 端上,独家优势 | | 微信聊天 | 接入 | ✅ 端上 SQLCipher 解密,完全本地 | | 朋友圈 | 接入 | ✅ 已入库 | | 相册 | 接入 | ✅ 全相册 VL 语义索引(Tier-0/1 分层管线) | | 邮件 / 日历 | 接入 | ❌ 完全没有 | | Notion / 文件 / 网页 | 接入 | ❌ 没有 | | 浏览记录 | 接入 | ❌ 没有 | | **跨源统一 Life Timeline** | 所有事件混排 | ❌ 各模块孤立 tab,没有统一视图 | **最大缺口**:没有跨源统一 Life Timeline。现在录音/照片/微信各自一个 tab,用户感受不到"人生时间轴"。 --- ### Layer 2 — Relationship OS(关系层) | 能力 | 要求 | 现状 | |---|---|---| | Person 实体 | 有 | ✅ 四模态融合(声纹/人脸/微信/手机) | | 公司/组织实体 | 图节点 | ⚠️ TopicExtractor 抽取但扁平,非图节点 | | 关系类型 | 投资人/同事/朋友等 | ❌ 只有无类型的共现权重边 | | 关系强度随时间衰减 | 有 | ❌ 无 | | 最近联系时间 | "3个月没联系" | ⚠️ `lastAccess` 只记录打开档案,不记录实际通信 | | "谁能帮我X" 推理 | 核心功能 | ❌ 没有 | | 图谱可视化 | 有 | ⚠️ CommunitiesScreen 有但很弱 | --- ### Layer 3 — Knowledge OS(知识层) | 能力 | 要求 | 现状 | |---|---|---| | 录音 → 知识 | 有 | ✅ 转写 + 纪要 + RAG 对话 | | 微信聊天 → 知识 | 有 | ✅ 可搜索 | | 会议纪要 | 有 | ✅ SummaryWorker 自动生成 | | PDF / 网页 | 有 | ❌ 没有 | | 知识图谱(实体互连) | 核心 | ❌ 只有人↔人,没有人↔事件↔组织完整图 | | 个人搜索引擎 | "我去年和X聊过什么" | ✅ 关键词+语义搜索已有 | --- ### Layer 4 — Goal OS(目标层) | 能力 | 要求 | 现状 | |---|---|---| | Goal 实体 | 核心 | ❌ 完全没有 | | 目标树形分解 | 有 | ❌ 没有 | | 持续追踪 / 主动推进 | Agent 主动 | ❌ 没有 | | 待跟进事项 | Followup | ✅ FollowupExtractor 从录音抽取 TODO | **这一层几乎空白。** 从 Memory 到 Planning 的跨越是人生OS最核心的价值跃迁。 --- ### Layer 5 — Execution OS(执行层) | 能力 | 要求 | 现状 | |---|---|---| | 发微信 | 有 | ✅ A11y 服务,端上可执行 | | 发邮件 | 有 | ❌ 没有 | | 日程安排 | 有 | ❌ 没有 | | 工具调用 | 有 | ✅ 15+ 工具,ReAct 循环 | | 主动触发(非用户发起) | 有 | ❌ 所有 Agent 都是被动响应 | | 网络搜索 | 有 | ✅ Tavily | --- ## 三、当前进度评估 ``` V1 Memory OS ████████░░ 80% 缺跨源统一时间轴 + 邮件/日历 V2 Relationship OS █████░░░░░ 50% 人物有了,关系图谱太弱 V3 Goal OS █░░░░░░░░░ 10% 只有 Followup,没有 Goal 实体 V4 Execution OS ███░░░░░░░ 30% 只能发微信,被动触发 ``` --- ## 四、开发路线图(按优先级) ### P0 — 补完 Memory OS(最快出价值) #### 1. 跨源统一 Life Timeline 新建一个「时间轴」主 tab(或独立 Screen),把以下事件按时间混排: - 录音转写段(`segments` + `transcripts`) - 微信私聊消息(`wechat_messages`) - 朋友圈动态(`moments`) - 相册照片(`photos`,按 `takenTs`) - 系统事件(未来:日历/邮件) 每条事件显示:时间、来源图标、摘要内容、关联人物。支持按人物/时间段/来源过滤。 **这是用户感知到"这不是另一个AI助手"的最直接产品形态。** #### 2. 真实"最近联系"计算 `Person.lastAccess` 目前只记录打开档案的时间,需改为取: - `wechat_messages` 中最近一条涉及该 wxid 的 `createTime` - `mentions` 中最近一条 `createdAt` - 两者取 MAX 在 PersonProfileScreen 档案页显示「最近联系:X 天前」,并加「超过 N 天未联系」标签。 --- ### P1 — 强化 Relationship OS(差异化核心) #### 3. 关系类型 + 强度衰减 - `relations` 表加 `type TEXT`(朋友/同事/投资人/客户/家人) - 加 `strength REAL`:初始值由共现次数决定,按时间衰减(每月 ×0.9) - AI 工具加 `get_stale_contacts(days)`——返回超过 N 天没联系的重要人物 #### 4. Organization 升级为一等公民 当前 `topics` 表里 `kind='org'` 的条目是组织,但: - Person 没有 `orgId` 外键 - 没有 Person → Organization 关系边 需要: - 新建 `organizations(id, name, kind, url, notes)` 表 - 新建 `person_orgs(personId, orgId, role, startDate, endDate)` 关系表 - AI 工具加 `get_org_members(orgName)` #### 5. "谁能帮我" 推理工具 AI 工具加 `find_relevant_persons(goal: String)`: - 把 goal 向量化,与 Person.resume + Person.impression 做语义匹配 - 结合 relations.strength 加权 - 返回最相关的 Top-5 人物及理由 --- ### P2 — 搭 Goal OS 地基 ✅ #### 6. Goal 实体 ✅(2026-06-11 完成) `goals` 表(`status` active/paused/done/cancelled,`deadline`,`parentGoalId` 树形,`personId`);`GoalScreen`(进行中/已完成分组,状态切换,删除,新建对话框含截止日期+关联人物);Room v24 MIGRATION;`GoalDao`;`PhotologViewModel.createGoal/updateGoalStatus/deleteGoal`;`LifelogTools` `create_goal/get_goals/update_goal_status`;`ContactsTab` 「🎯 目标」入口按钮。 #### 7. Followup → Goal 挂载 ✅(2026-06-11 完成) `followups.goalId` 外键;`FollowupDao.updateGoal/observeByGoal`;`FollowupsScreen` 每条待办显示「🎯 目标名」标签 + 「🎯」按钮弹出目标选择器(可绑定/解绑);`PhotologViewModel.linkFollowupToGoal`;`deleteGoal` 自动解绑挂载其下的待跟进;`LifelogTools` `link_followup_to_goal`。 #### 8. AI Goal 工具 ✅(随 #6 一同完成) - `create_goal(text, deadline, parent_goal_id, person_name, notes)` - `get_goals(status=active|paused|done|cancelled|all)` - `link_followup_to_goal(goal_id, followup_id 或 followup_text)` - `update_goal_status(goal_id, status)` - REACT_SYSTEM_PROMPT 已加 ㉓–㉖ 四个工具说明 --- ### P3 — Execution OS 增强 #### 9. 主动 Agent(最重要的架构转变) 现在所有 AI 都是用户问才答。需要后台定时 Worker,主动扫描并推通知: - **关系维护提醒**:重要联系人超过 30 天未联系 → 推送「要不要给张总发条消息?」 - **Goal 进展提醒**:活跃目标超过 7 天没有新 Followup → 推送「创业目标本周没有进展」 - **承诺追踪**:录音里说「我去给他发消息」但 3 天后没发 → 提醒 这是从"被动助手"到"主动操作系统"的关键转变。 --- ## 五、技术架构演进 ### 当前数据模型缺口 ``` 现在: Person ──共现──> Person(无类型,无强度衰减) Topic(org/project/event,扁平列表) 需要: Person ──WORKS_AT──> Organization Person ──INVESTED_BY──> Organization Person ──KNOWS(strength, type)──> Person Goal ──INVOLVES──> Person Goal ──SUBTASK──> Goal Event ──ATTENDED_BY──> Person Event ──RELATED_TO──> Organization ``` ### 关键原则 1. **全部端上**:不依赖云端,所有 Graph 计算在设备上跑 2. **增量更新**:新录音/新聊天触发局部图更新,不全量重算 3. **AI 可读写**:所有实体都要有对应的 LifelogTools read+write 工具 --- ## 六、一句话总结 > lifelog 现在是一个**很强的端上 Memory OS 原型**,有别人没有的录音护城河;但距离"人生OS"最缺的不是 AI 能力,而是**三样数据结构**:统一时间轴、真正的关系图谱(含组织实体 + 关系类型 + 强度衰减)、Goal 实体。把这三样建好,Agent 才有东西推理,Life OS 才不是空壳。