ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LifeOS 健康现状建模实战:用 status 行声明 CURRENT_STATE/HEALTH.md 并驱动真实覆盖率与差距分析

LifeOS 健康现状建模实战:用 status 行声明 CURRENT_STATE/HEALTH.md 并驱动真实覆盖率与差距分析 LifeOS 健康现状建模实战用 status 行声明 CURRENT_STATE/HEALTH.md 并驱动真实覆盖率与差距分析【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS本文聚焦 LifeOSThe Life Operating System中「现状基线」的健康维度文件CURRENT_STATE/HEALTH.md讲解如何用status: have|partial|missing三值声明真实健康现状、覆盖率百分比的计算机制含源码级正则实现与回退规则以及它如何与理想状态IDEAL_STATE、Pulse 仪表盘环、状态行和自动化健康数据管道协同帮你从粉饰过的 100 分理想走向诚实的可量化现状。为什么需要一份现状健康文件LifeOS 的 TELOS 层把个人系统拆成两个互相对照的目录CURRENT_STATE/你现在实际上在哪与IDEAL_STATE/你想去哪。正如 CURRENT_STATE/README.md 所写The DA cant help you move from A to B if it doesnt know what A is.——如果系统不知道 A 是什么就无法帮你从 A 移动到 B。健康维度是七大现状维度HEALTH / MONEY / FREEDOM / CREATIVE / RELATIONSHIPS / RHYTHMS / INFRASTRUCTURE之一HEALTH.md记录的是睡眠、运动、营养、能量、医疗等当下真实状态。这个目录的设计有两条硬约束文件名固定且必须大写。LIFEOS/TOOLS/UpdateLifeosState.ts和 Pulse 都以精确文件名读取在区分大小写的 Linux 文件系统上写成Health.md将不会被找到。现状分数会覆盖理想分数。一个写得再漂亮、但从未兑现的理想状态文件也能得高分只有CURRENT_STATE/HEALTH.md的存在才能让仪表盘上的数字变得诚实。模板文件逐字段解读仓库随安装包发布的 CURRENT_STATE/HEALTH.md 是一个 bootstrap 模板全文如下--- provenance: template dimension: health classification: private auto_populated: partial last_updated: 2026-01-01 last_updated_by: bootstrap-template convention: pai-freshness-v1 --- # Current State — Health SAMPLE TEMPLATE — placeholder. Pulse reads the status: rows below to compute your health coverage %. Run /interview to replace missing with your real state. - Sleep: status: missing - Movement: status: missing - Nutrition: status: missing - Energy: status: missing - Medical: status: missing模板由两部分构成各自承担不同职责Frontmatter 元数据provenance来源标记为 template、dimension: health维度标识与UpdateLifeosState.ts的 DIMENSIONS 表一一对应、classification: private隐私分级见后文隐私一节、auto_populated: partial该文件可被 Pulse 部分自动填充、last_updated/last_updated_by新鲜度与审计字段convention: pai-freshness-v1声明遵循的约定版本。其中last_updated会被 UpdateLifeosState.ts 的正则fm.match(/^last_updated:\s*(.?)\s*$/m)解析并写入状态 JSON。正文status:行这是覆盖率计算的唯一数据源。模板给出健康维度的五个默认子项——Sleep睡眠、Movement运动、Nutrition营养、Energy能量、Medical医疗全部初始化为missing。占位符旁的提示说明Pulse 读取这些行计算健康覆盖率运行/interview把missing替换为真实状态。status 三值语义与覆盖率公式每个你想被计数的子项写成一行- 名称: status: 值取值只有三种来自 CURRENT_STATE/README.md取值含义对覆盖率的贡献have该项已经真实拥有/做到计入完整 1 份partial部分做到、处于过程中计入 0.5 份missing尚未拥有计入 0 份覆盖率公式pct (have 0.5 × partial) / (have partial missing) × 100解析器按字面量统计status: value出现次数其余正文文案可以自由书写。一个全missing的模板文件健康覆盖率为0%这正是诚实基线的含义——新装系统的所有维度会停在 0直到你完成访谈并填入真实状态。源码级验证正则计数与未知关键词告警UpdateLifeosState.ts 的computeFromCurrent函数用三条正则精确实现上述公式const have (content.match(/\bstatus:\s*have\b/g) || []).length; const partial (content.match(/\bstatus:\s*partial\b/g) || []).length; const missing (content.match(/\bstatus:\s*missing\b/g) || []).length; const total have partial missing; if (total 0) return null; const pct Math.round(((have 0.5 * partial) / total) * 100);注意\b词边界与\s*允许任意空白的使用意味着status:have、status: have均能被识别。同时代码针对一个真实踩坑点issue #1509做了静默失效防护任何不在{have, partial, missing}集合内的状态关键词例如写了status: populated都会被捕获并输出 WARNING提示只有 have/partial/missing 计入覆盖率百分比在修复前是错的。这避免了文件填得满满当当、覆盖率却显示 0%的迷惑行为。若total 0没有任何 status 行computeFromCurrent返回null随后computeState会回退到理想状态评分见下一节。覆盖率如何回退到理想状态评分当CURRENT_STATE/HEALTH.md不存在或没有任何 status 行时computeFromIdeal 会回退到对IDEAL_STATE/HEALTH.md的表述完整度评分const tbd_count (content.match(/\bTBD\b/g) || []).length; const pct Math.max(0, Math.min(100, 100 - tbd_count * 10));即100 − TBD 标记数 × 10并夹取在 0..100。发布的 IDEAL_STATE/HEALTH.md 模板含三个- TBD:目标行因此新装状态下健康环显示 70%——但这 70% 只代表你描述清楚了理想与你的实际生活无关。这正是 README 强调的设计动机IDEAL_STATE衡量你会不会描述好CURRENT_STATE衡量你有没有真的做到前者再好看只要后者缺失仪表盘就在粉饰你。两种填写方式/interview 访谈与手工编辑方式一运行访谈推荐仓库注释与 README 均建议通过/interview命令并选择 Current State 阶段让 DA数字助理逐个维度引导你填写。访谈系统相关实现见 InterviewDue.ts 与 InterviewScan.ts后者包含 CURRENT_STATE / IDEAL_STATE 维度文件的 state-file 目标扫描。访谈会把missing逐项替换为你的真实状态并维护last_updated新鲜度。方式二手工编辑模板直接在模板基础上按三值语义改写。示例在模板五个子项基础上按需增删- Sleep: status: partial # 平均 6.5h目标 7.5h勉强算部分做到 - Movement: status: have # 每周 3 次力量 2 次有氧规律执行 - Nutrition: status: have # 三餐规律蛋白质达量 - Energy: status: partial # 上午高、午后低谷 - Medical: status: missing # 年度体检尚未完成 - Recurring Issues: status: missing - Medications: status: missing编写原则README 原话诚实优于慷慨——一个被抬高/虚报的基线只会产出一边祝贺你、一边毫无改进的仪表盘。你可以自由书写每个子项的说明性散文解析器只关心status: 值字面量。数据流向从 HEALTH.md 到 Pulse 圆环与状态行填好HEALTH.md后数据沿一条清晰的管道流动运行bun ~/.claude/LIFEOS/TOOLS/UpdateLifeosState.ts [--json]UpdateLifeosState.ts工具遍历DIMENSIONS表其中{ id: health, file: HEALTH.md }见 UpdateLifeosState.ts对每个维度计算 pct连同tbd_count、last_updated、source_file写入USER/TELOS/LIFEOS_STATE.jsonPulse 端 observability.ts 的 buildDimensionsFromIdealState 读取该 JSON健康维度的 surface 定义为{ id: health, label: Health, color: --health, sources: [HEALTH.md], cur: pcts.health ?? 0 }缺少时按 0 处理。健康环与 shell 状态行STATE 段渲染的是同一份数字。也就是说你写几行status:Pulse 圆环和终端状态行就会显示真实的健康覆盖率百分比改一行、重跑一次数字即更新。自动化佐证让现状来自证据而非记忆健康现状不应只靠主观声明。仓库围绕 CURRENT_STATE 构建了一套证据侧自动化使访谈与审核有据可依StateEvidence.ts把 health / activity / work / money 四域的观测现实汇总为缓存USER/CACHE/state-evidence.json其设计说明明确指出它是访谈系统用来核对主体 CURRENT_STATE 声明的账本另一侧每个数据源还带 livenesslive | stale | dead | unavailable过期的数据源不会被误当成真实信号。运行方式bun StateEvidence.ts [--markdown|--domain health]。HealthSync.ts 与 healthsync/ 目录提供pull支持 oura / eightsleep / apple / function 数据源、status、current、auth子命令的 CLI 基础配套 InstallHealthSync.ts 可将com.lifeos.healthsync.plist.template物化并每小时由 launchd 引导执行。AppleHealthImport.tsbun AppleHealthImport.ts export.zip|export.xml [--days N] [--out PATH] [--dry-run]把苹果健康导出解析为结构化文件生成器标记为LIFEOS/TOOLS/AppleHealthImport.ts为健康指标提供客观数据源。ProposeCurrentStateEntry.ts / ApproveCurrentStateEntries.ts轮询器与 _LIFELOG 提取器把自动采集的条目写入CURRENT_STATE/proposals.jsonl队列决策 #5任何实体落地 CURRENT_STATE 前必须显式审批审批工具消费队列并把通过项提交到对应CURRENT_STATE/*.md。TelosFreshness.ts将CURRENT_STATE/维度文件纳入新鲜度监控默认阈值30 天CURRENT_STATE_DEFAULT_THRESHOLD_DAYS 30超过未更新会被标记为陈旧。差距计算Current → Ideal 才是真正的信号单项覆盖率之外LifeOS 用 ComputeGap.ts 计算现状→理想的结构化差距。健康维度computeHealth读取IDEAL_STATE/HEALTH.md、USER/HEALTH/METRICS.md与CURRENT_STATE/ACTIVITY.md输出包含 metric、current、target、directionabove/below/at/unknown与 severitycritical/warning/info/none的条目bun ComputeGap.ts --dimension health # 单维度 bun ComputeGap.ts --dimension health --json bun ComputeGap.ts --dimension health --log # 追加到 gap-history.jsonl 供周趋势追踪例如理想文件仍含 2 个TBD时会产出IDEAL_STATE/HEALTH.md population: 2 TBD → 0 TBD (warning)的条目。源码注释还透露健康、金钱、自由是metric可计算差距维度关系、创意、节奏是narrative以提醒而非差距呈现维度。README 的结论同样值得记住不要靠改文案来缩小差距——要么改变生活要么承认理想本身定错了。隐私与注意事项TELOS/全目录与系统其余部分遵循同样的隐私约定永不离开你的机器并从公开的 LifeOS 发布版中剥离classification: private即为此声明。使用时有几点提醒文件必须命名为HEALTH.md大写Linux 下大小写错误会导致静默读取失败状态关键词只能是have/partial/missing出现拼写变体会触发 UpdateLifeosState 的 WARNING删除某子项行即从计数中剔除增加子项行即纳入计数公式自动重算新装系统健康维默认 0%/interview是让数字诚实起来的最快路径自动填充auto_populated: partial与手工覆盖以手工为准Pulse 渲染时以文件实际内容为准。小结CURRENT_STATE/HEALTH.md的威力不在于文件本身而在于它激活的机制三值status:行 → 覆盖率公式 →LIFEOS_STATE.json→ Pulse 健康环与状态行 → 与 IDEAL_STATE 的差距报告全链路都有 UpdateLifeosState.ts、observability.ts、ComputeGap.ts 等源码的精确支撑。把模板里的missing换成真实状态就是让 LifeOS 从理想主义宣传册变成诚实的生活操作系统的第一步。【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表