🎛️ LifeOS 驾驶舱
🧭 四个中台 + 一个前台
🌅 今天
三件事 + 打卡
今日三件事
- ① → OBJ__
- ② → OBJ__
- ③
今日拒绝:不做 ______
习惯打卡(录入 → Habit-Log)
const dir = "复盘/习惯/Habits"; const f = app.vault.getAbstractFileByPath("复盘/习惯/Habit-Log.md"); const raw = f ? await app.vault.cachedRead(f) : ""; const pad = n => String(n).padStart(2, "0"); const d = new Date(); const today = `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`; const lines = raw.split(/\r?\n/).filter(l => new RegExp(`^\\s*-\\s*${today}\\s`).test(l)); const line = lines.length ? lines[lines.length - 1] : ""; const rec = {}; if (line) { const re = /([^\s::]+)\s*[::]\s*(✅|🟡|❌)/g; let m; while ((m = re.exec(line)) !== null) rec[m[1]] = m[2]; } const habits = dv.pages(`"${dir}"`).where(p => p.type === "habit").array() .map(p => ({ n: p.file.name, i: p.icon ?? "•", o: Number(p.order ?? 99) })) .sort((a, b) => a.o - b.o); const done = habits.filter(h => rec[h.n] === "✅").length; dv.el("div", "").innerHTML = `<div style="margin-bottom:6px"><b>${done} / ${habits.length}</b> 今日已打卡</div>` + habits.map(h => `<span class="wb-pill">${h.i} ${h.n} ${rec[h.n] ?? "·"}</span>`).join("");
🧠 知识库中台
沉淀与检索
新东西先丢
Inbox/,每周清一次进来。按问题分,不按来源分。TABLE WITHOUT ID file.link AS "最近沉淀", file.folder AS "位置" FROM "知识库" SORT file.mtime DESC LIMIT 6
🗺️ 知识地图
按「问题」找入口
📦 项目 · 前台
正在推进
OBJ 名称 进度 OBJ1 日常支持 OBJ2 项目支持 OBJ3 项目交付 OBJ4 个人发展 OBJ5 AI 相关 → 目标详情 · China Payroll · 数据
🎯 Skill 中台
内化与复用
别人的好经验 → 写成 SOP → 用够 3 次 → 升级成「自己的」。
TABLE WITHOUT ID file.link AS "Skill", file.folder AS "阶段" FROM "Skill库" WHERE !startswith(file.name, "_") AND file.name != "Skill库" SORT file.mtime DESC LIMIT 5
📊 数据中台
最近日记
TABLE WITHOUT ID file.link AS "日记", week AS "周", energy AS "能量", mood AS "心情" FROM "复盘/日记/2026" WHERE type = "daily" SORT date DESC LIMIT 6→ 全部数据 · 周复盘在
复盘/周复盘/