ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

LifeOS 营养档案实战指南:以 NUTRITION.md 为骨架,搭建 DA 可读的饮食数据层

LifeOS 营养档案实战指南:以 NUTRITION.md 为骨架,搭建 DA 可读的饮食数据层 LifeOS 营养档案实战指南以 NUTRITION.md 为骨架搭建 DA 可读的饮食数据层【免费下载链接】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导读本文围绕 LifeOS 个人操作系统中的营养档案文件 NUTRITION.md完整讲解饮食档案的结构设计、字段语义、三种数据填充路径以及 Pulse 健康面板如何从源码层面读取、解析并渲染该文件。读完你将掌握如何把零散的饮食习惯、目标与化验单沉淀为数字助理DA能直接引用的结构化营养上下文。NUTRITION.md 在 LifeOS 健康体系中的定位LifeOS 将个人健康信息组织为 USER 目录下的一组扁平 Markdown 文件每个主题一个文件方便 DA 快速扫描、也方便人工直接编辑。根据 HEALTH/README.md 的文件布局说明文件职责HEALTH.md顶层总览年龄、身高、体重、当前重点、速查METRICS.md化验值、生物标志物、生命体征、每日活动数据与趋势FITNESS.md运动计划、体重历史、健身目标NUTRITION.md饮食模式、备餐方式、营养优先项MEDICATIONS.md处方、日常补剂、按需用药、历史用药PROVIDERS.md主诊医生、专科、检测机构、待处理转诊CONDITIONS.md活动性病症、过敏史、病史其中NUTRITION.md的定义是Diet, food approach, and eating patterns——即饮食模式、食物取向与进食规律。它回答的不是今天吃了什么这种即时记录而是你长期以什么方式吃饭这种供 DA 推理的稳定背景。当你向 DA 提问这个季度我该关注什么或结合我上次化验单我的饮食该调整哪里时NUTRITION.md就是 DA 的依据来源之一。从源码结构可以确认该目录遵循 flat layout 设计一份 Markdown 对应一个主题所有健康文件平铺在 LifeOS/install/USER/HEALTH 下不允许嵌套目录DA 与人工编辑都不需要翻文件夹。隐私前提整个USER/HEALTH/目录属于私有区域。LifeOS 发布工具链会拒绝发布该目录下的任何内容文档明确要求像对待病历一样对待其中的内容见 HEALTH/README.md。模板结构逐节拆解NUTRITION.md本身是一份带provenance: templatefrontmatter 的样例模板顶部以醒目提示声明SAMPLE TEMPLATE — 通过 /interview 或直接编辑本文件替换为你的真实数据运行 Health 访谈后真实的 Pulse 内容才会出现在这里。这意味着该文件的结构本身就是 DA 期望的结构填写时保持章节骨架不变只替换示例值。Dietary Approach饮食取向这是文件的第一节用于陈述你的整体饮食方式。模板给出的可选示例包括Mediterranean地中海饮食low-carb低碳水high-protein高蛋白plant-forward植物为主time-restricted eating限时进食或无特定命名饮食模板同时要求说明你的指导原则如全食物whole foods优先、低超加工食品low ultra-processed、热量目标、宏量营养素配比macro splits以及遵循的严格程度how strictly you follow it。填写要点这一节是 DA 判断营养建议方向的第一依据。写成地中海式工作日严格、周末宽松热量目标 2200 kcal蛋白质配比 30%比我吃得很健康能支撑具体得多的建议。Meal Preparation膳食准备本节拆为两个子节核心目的是让 DA 评估你的食物可获得性摩擦friction-free or friction-heavyHow Meals Get Made食物如何被制作示例方法包括每周 5 晚在家做饭、订购备餐服务meal kit service、每周批量备餐batch prep、餐厅用餐、私厨服务。模板提示替换为你的真实方式以便 DA 理解你的食物获取是低摩擦还是高摩擦。Eating Out外食记录频率与类型例如每周 2 次、构成包括工作午餐、社交晚餐、出差用餐。为什么重要同样一个增肌 高蛋白目标对每天做饭的人和对 80% 靠外食的人可执行建议完全不同。备餐方式决定了 DA 建议的落地点。Key Nutritional Considerations关键营养考量本节分两个层面把主观目标与客观化验驱动分离Goals目标——模板示例每日摄入 150 g 蛋白质每日 30 g 膳食纤维每天三份蔬菜Lab-Informed Priorities化验驱动的优先项——模板给出三个优先级占位并配了清晰的化验→行动示例优先级 A若 omega-3 水平偏低则提高 omega-3 摄入优先级 B若 LDL 升高则减少饱和脂肪优先级 C若 HbA1c 在爬升则维持血糖稳定。模板的刻意设计目标写的是愿望化验优先项写的是证据。这种分离让 DA 在给建议时能区分你想去的地方与你的身体数据要求你去的地方二者冲突时也能显式指出。注意这里的 LDL、HbA1c、omega-3 等指标都对应 METRICS.md 中可追踪的化验字段——营养文件与化验文件在此形成数据闭环。Hydration补水模板示例目标每日 3 L 水咖啡因早晨 2 杯中午后不喝填写时替换为你的真实补水模式。别小看这一节——它对 DA 评估疲劳、皮肤、运动表现等问题的归因判断有直接影响。Food Sensitivities and Allergies食物敏感与过敏示例条目包括乳糖不耐lactose sensitivity、无麸质gluten avoidance、坚果过敏tree-nut allergy。如果没有则明确写 none documented。显式记录无比留空更优——留空在 DA 侧等价于未知而已确认无是一个确定的推理前提。Notes备注模板在此给出两条核心使用约定DA 使用本文件给出上下文感知的营养建议。模糊的占位符产生模糊的建议具体的真实条目产生具体的真实建议。——这是整个模板的设计哲学直接点明数据质量与建议质量成正比。如果你追踪宏量营养素或热量把导出链接进来使每日摄入可以流入METRICS.md。——明确了两份文件间的数据流向NUTRITION.md描述模式METRICS.md沉淀数字。三种填充路径访谈、直接编辑、数据导入根据 HEALTH/README.md 的 How to Populate 一节填充营养档案有三种方式按投入程度递增运行 Health 访谈Skill(Interview)以对话方式逐字段引导填写并把答案写回这些文件是最省力的路径。Interview 技能在 Interview/SKILL.md 中有完整说明它会先读取宪法级文件TELOS、身份、项目等用新鲜度工具逐节评估过期程度从声明 vs 证据的矛盾处开场提问你批准后再落盘。直接编辑文件把样例值替换为真实数据。模板结构即 DA 期望结构编辑时只需保章节、换内容。粘贴化验 PDF把化验结果PDF 或 Markdown放入该目录让 DA 抽取数值写入METRICS.md和CONDITIONS.md。目录同样接受带日期的化验文件如lab_results_2026-01.mdDA 会在下次读取时自动纳入。此外还有两条可穿戴/健康数据管道能把客观数据灌入健康树AppleHealthImport.ts把 Apple 健康 App 的 Export All Health Data 备份export.xml常达数 GB流式处理为APPLE_HEALTH.md摘要文件。源码注释明确说明健康面板是 markdown-backed——/api/life/health读取USER/HEALTH下的.md文件并渲染各##标题。用法为bun AppleHealthImport.ts export.zip|export.xml [--days N] [--out PATH] [--dry-run]默认窗口 90 天默认输出到USER/HEALTH/APPLE_HEALTH.md。该工具只写自己生成的文件手写的METRICS.md、FITNESS.md、化验结果文件绝不会被覆盖。HealthSnapshot.ts监视 iCloud Drive 收件箱手机端 Shortcut 投入 JSON把步数、活动千卡、运动分钟、静息心率、HRV、睡眠小时、体重、体脂率、VO2 max 等字段转换为带日期的快照snapshots/YYYY-MM-DD.md并把已消费的源文件移入 processed/ 归档以保持幂等。子命令ingest默认收件箱→快照、sample投样例测试管线、status查看收件箱计数、最近快照与解析路径。源码视角Pulse 如何读取并渲染 NUTRITION.md服务端解析observability.ts 的 health 处理器Pulse 的后端入口在 PULSE/Observability/observability.ts 的handleLifeHealth()约 2473 行起。其关键行为通过readDirMdFiles(HEALTH_DIR)扫描健康目录下所有 Markdown除 README 外并额外识别以lab_results开头的化验文件对结构化文件列表[CONDITIONS.md, MEDICATIONS.md, SUPPLEMENTS.md, FITNESS.md, NUTRITION.md, METRICS.md, HISTORY.md]逐一执行readMd()parseSections()把每个##标题解析为{ heading, body }节nutrition字段即来自parseSections(readMd(join(HEALTH_DIR, NUTRITION.md)))随响应返回给前端。也就是说你写在NUTRITION.md中的每一个##小节标题Dietary Approach、Meal Preparation、Key Nutritional Considerations…都会被解析成结构化 section 返回给前端渲染。保持模板的章节骨架就是保证面板展示完整性的前提。新鲜度机制lab 文件名日期 vs 结构化文件内容日期同一处理函数还实现了新鲜度计算computeFreshness对lab_results_*文件日期从文件名解析parseFilenameDate对结构化文件日期取内容日期。逻辑是当化验文件比结构化文件更新时以最新化验文件为准。这意味着新化验结果落地后DA 的上下文会以新数据为准而不是死守旧档案。前端展示health 页面的 Nutrition 卡片前端页面在 PULSE/Observability/src/app/health/page.tsx 中定义了各健康文件的展示元信息const FILE_META: Recordstring, FileMeta { METRICS: { icon: Activity, label: Metrics, priority: 1 }, FITNESS: { icon: Heart, label: Fitness, priority: 2 }, NUTRITION: { icon: Apple, label: Nutrition, priority: 3 }, CONDITIONS: { icon: ClipboardList, label: Conditions, priority: 4 }, MEDICATIONS: { icon: PillIcon, label: Medications, priority: 5 }, PROVIDERS: { icon: Stethoscope, label: Providers, priority: 6 }, HISTORY: { icon: FileText, label: History, priority: 7 }, SUPPLEMENTS: { icon: PillIcon, label: Supplements, priority: 5 }, };可见 Nutrition 在健康标签页中拥有优先级第 3的独立卡片以 Apple苹果图标呈现。卡片会展示该文件的 section 数量与每个##标题超过 8 个时折叠为 N more。另外以lab_results开头的文件会被特殊标记为Labs — …并排到最高优先级priority 0且整个健康页面带有data-sensitive标记与目录的私有定位呼应。与 METRICS.md 的数据联动从模式到数字NUTRITION.md的 Notes 节明确要求若追踪宏量与热量应把导出接入METRICS.md。METRICS.md 是化验值与每日活动的数据层例如其每日指标样例表包含MetricValueNotesCalories Burned2000 cals (sample)Replace with actual daily averageExercise Time30 min (sample)Replace with actual daily averageSteps8000 (sample)Replace with actual daily average该文件还通过表格记录趋势两次化验对比的方向、每日可穿戴快照、血型与化验来源。实践中理想的数据闭环是NUTRITION.md声明模式高蛋白目标 150 g、每日 30 g 纤维METRICS.md沉淀数值每日热量摄入、体重变化、HbA1c 趋势DA 交叉引用二者判断目标达成度与是否需要调整模式。模板刻意使用整百占位值100、120、50 等使读者一眼看出真实数据尚未录入——这也是 LifeOS 防误判的设计细节占位值足够假就不会被当成真实化验结果。填写质量决定建议质量三条实战准则综合模板提示与源码行为填好NUTRITION.md的实操准则如下具体优先于模糊模板原文——Vague placeholders produce vague advice. Specific real entries produce specific real advice.填写时用每周 5 晚在家做饭 2 次工作午餐外食替代我一般在家吃。目标与证据分栏在 Goals 里写愿望150 g 蛋白、30 g 纤维在 Lab-Informed Priorities 里写化验驱动的行动LDL 高→减饱和脂肪。若二者冲突让 DA 显式指出。保持章节骨架Pulse 按##标题解析渲染删改章节标题会影响面板展示与 DA 解析一致性新增自定义小节则完全安全parseSections会按任意标题集合工作。快速自查清单已将Dietary Approach从示例替换为真实饮食方式与遵循严格度已填写备餐方式与外食频率/构成让 DA 能评估食物获取摩擦Goals 中写入了可量化目标蛋白、纤维、蔬菜份数等Lab-Informed Priorities 中写入了化验值→行动映射如 omega-3、LDL、HbA1c已记录每日补水目标与咖啡因模式已记录食物敏感/过敏无则显式写 none documented若追踪宏量/热量已将导出与 METRICS.md 打通已通过/interview或直接编辑完成替换避免把占位值留给 DA 当真实数据本文件为样例模板请通过/interview或直接编辑将占位内容替换为你的真实数据。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进