这不是一份“又做了几个页面”的周报,而是一次架构定性:你的真实目标是什么,当前已经 live 的能力到哪一步, 为什么不该做每分钟实时同步,以及如何把 todo.zondev.top、 diary.zondev.top、myObsidian、任务执行流水、优先级矩阵,收口到同一套 数据底座和多视图驾驶舱里。
你真正要的是一个统一的 LifeOS 操作台:它能告诉你当前最重要的事、哪些 AI 可以做、哪些必须你亲自做、今天和最近几天真正该收口什么。
最佳实践不是让 todo 变成“所有原文的唯一仓库”,而是让它成为 决策层 / 驾驶舱。原始内容仍保留在 Obsidian、Diary 和任务执行日志里,todo 负责聚合、排序、展示和行动入口。
| 你要的东西 | 正确定位 | 为什么 |
|---|---|---|
| 一个统一入口 | todo.zondev.top = 操作台 / cockpit | 它应该回答“现在最该做什么”,而不是承担所有原始记忆。 |
| 四象限、时间轴、AI/人分类 | 这些都应该是 derived views | 它们是展示透镜,不应反过来污染原始数据结构。 |
| Diary 的评分/总结/任务引用整合 | Diary = 每日证据流;Todo = 决策聚合层 | Diary 擅长“当天发生了什么”,Todo 擅长“接下来该做什么”。 |
| 可逐渐替换样式 | 数据层 / 视图层 / 主题层三段式 | 否则每次想换样式都会拖着解析逻辑一起重写。 |
Overview 负责总览,Focus 负责单任务阅读,Editor 负责文本优先写作,避免“浏览和编辑塞在一个弹窗里”。
任务已支持原始 body 持久化,能从文本里解析 status / priority / date / tags / creator 等结构。
launchd watcher + 定时兜底已安装;最近一次 2026-03-17 同步为 25 incoming / 25 unchanged / 0 change。
diary.zondev.top 当前已有 Public Board、Task Ops、Priority 等页面,说明数据碎片已经存在,只是没有统一汇总。
2026-03-17 实测 dairy.zondev.top 无法解析,真实 live 域名是 diary.zondev.top。这类命名分叉要在数据字典里统一。
| 缺口 | 现状 | 为什么关键 | 最佳实践 |
|---|---|---|---|
| Todo ↔ Obsidian 双向闭环 | 现在只有单向导入,Editor 还没有真正写回文件。 | 没有 round-trip,编辑页就还是“平行系统”。 | 先做模板化写回和冲突策略,再谈双向同步;不要先做实时双写。 |
| Diary / Task Ops / Priority 的统一数据层 | 这些页面已经 live,但还是各自生成、各自展示。 | 你看到的是多个视图,不是一套共同底座。 | 先定义统一实体:task / daily_entry / score / execution_event / project / source_doc。 |
| 数据层与展示层抽离 | 当前 todo 仍是单页 HTML,样式和逻辑耦合较深。 | 后面一旦批量换皮、换布局,会拖着业务逻辑一起动。 | 拆为 data / materializer / renderer / theme。 |
| 真正的驾驶舱首页 | 现在首页更多还是任务列表,不是高层决策界面。 | 你想看到的是“现在最该做什么”,不是所有任务平铺。 | 首页优先展示:四象限、时间轴、AI/人分工、阻塞、今日/本周聚焦。 |
| 冲突治理与预算治理 | 已有同步,但还没有公开的预算策略和冲突策略。 | 一旦你同时从多个入口修改,系统会开始失真。 | 定义 source-of-truth、同步频率、手动强制同步、夜间 reconcile、冲突优先级。 |
界面必须安静、职责分层。Todo 不应该同时扮演长文仓库、事件总线、日报页面和行动列表的全部角色。
先让变化容易,再让变化更快。你现在最该做的不是更多页面,而是先把 canonical data model 定下来。
同步不是“能不能更快”,而是“是否有预算、是否可观测、是否失败可恢复”。
结论先说:不建议实时同步。对你当前这套免费额度和真实使用习惯,更稳的做法是 “本地即时记录,云端批量同步”。
推荐默认:08:00–22:00 每 2 小时 1 次;02:10 夜间全量对账;用户手动触发“Sync now”高优先于定时任务。
| 层 | 策略 | 说明 |
|---|---|---|
| 本地记录层 | 即时 | Obsidian / Diary / 手工编辑本地立即生效,不消耗云预算。 |
| 云端任务同步 | 2h diff | 只传增量,不做“每改一行就上云”。 |
| 全量对账 | 每天 1 次 | 用于纠偏、补漏、稳定 ID、清理误差。 |
| 通知 | 只在 change / failure | no-op 不打扰,保持系统安静。 |
Diary 是每日证据流,Todo 是决策层。
你的判断是对的:首页不该只是任务列表,应该先回答“今天最该做什么”。但四象限和时间轴要作为透镜,不要反过来定义原始任务。
| 层 | 职责 | 建议产物 |
|---|---|---|
| Source layer | 保留原始真相 | Obsidian Markdown、Diary 导出的 daily summary、task execution log、manual note |
| Canonical data layer | 统一实体和关系 | tasks、daily_entries、execution_events、scores、relations |
| Materializer layer | 计算各种视图数据 | overview.json、priority.json、timeline.json、today-focus.json |
| Renderer layer | 根据 view spec 渲染页面 | render-overview.mjs、render-priority.mjs、render-timeline.mjs |
| Theme layer | 只负责视觉皮肤 | themes/github-light.css、themes/editorial-light.css |
一句话:先让数据层稳定,再让页面风格自由生长。 你后面想批量换皮,应该只替换 renderer / theme,不该去碰原始数据和同步逻辑。
先把 task、daily_entry、execution_event、score、relation 定清楚;不要继续让每个页面自己发明字段。
把 diary 当前已有的 Priority / Task Ops / Daily summary 抽成统一 feed,而不是页面互相拷数据。
Editor 写回 Obsidian 文件,定义冲突优先级和 nightly reconcile。到这一步才算真正闭环。
四象限、时间轴、AI/人散点、聚焦卡片、周视图,都应该建立在 Phase 1–3 的数据层之上。
建议下一步不是再画更多页面,而是做这两件事:
daily summary / task execution / priority 抽成统一数据 feed,接进 todo 的 canonical data layer。这样做完后,todo.zondev.top 就不再只是一个任务前端,而会开始成为你要的那个 “统一 LifeOS Hub”。
dairy.zondev.top 不可解析,真实 live 域名是 diary.zondev.top。