LifeOS 开支数据层实战指南:以 EXPENSES.md 模板构建 Pulse 财务仪表盘的支出分类体系
LifeOS 开支数据层实战指南以 EXPENSES.md 模板构建 Pulse 财务仪表盘的支出分类体系【免费下载链接】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 的私人用户数据树USER tree中FINANCES目录是个人财务上下文的唯一事实来源source of truth而EXPENSES.md正是其中负责支出侧的核心模板文件它将反复性与自由裁量支出按类别拆解供 Pulse 读取以标记超支、发现优化候选并与账单明细statement对账。本文以 EXPENSES.md 为骨架完整解析其五段式支出模型与占位符规范并结合 schema.yaml、obligations.yaml 与 Pulse 财务仪表盘源码 说明底层数据结构与校验规则。读完你将掌握如何用结构化 Markdown 描述个人支出、如何将表格映射到机器可校验的 YAML 模式以及如何让真实财务数据安全地在本地驱动 Pulse 财务视图。一、EXPENSES.md 在 LifeOS 财务数据层中的定位FINANCES目录是 LifeOS 个人财务上下文的集中存放处目录 README 明确列出了每个文件的职责FINANCES.md— 顶层概览净资产快照、月度现金流、当前焦点INCOME.md— 收入来源、频率与预期金额EXPENSES.md— 带预算的经常性支出类别本文主角INVESTMENTS.md— 投资账户与配置ACCOUNTS.md— 银行、信用卡与券商账户仅存后四位GOALS.md— 带目标金额与日期的财务目标TAXES.md— 税务概览、预估季度税、需跟踪的抵扣项obligations.yaml— 经常性账单订阅、保险、贷款vendors.yaml— 你付款或收款的所有已知商户schema.yaml— 财务数据的模式定义结构参考其中FINANCES.md 是财务仪表盘的入口它的月度现金流一节直接引用固定支出与可变支出的月度金额fixed_expenses (monthly)与variable_expenses (monthly)而这两个数字正是由EXPENSES.md的分类小计汇总而来。因此EXPENSES.md不是一份孤立的记账表而是整个现金流计算链路的支出源数据。从实现侧看Pulse 财务仪表盘 会把义务obligations、商户vendors与其他支出汇总为对外支出总额源码中以obligations_annual、obligations: ResolvedLine[]等字段参与 KPI 计算并把商户个人义务其他的合计呈现为支出侧核心指标。也就是说你在EXPENSES.md与obligations.yaml里填的数据最终会被 Pulse 解析成仪表盘上的支出 KPI 与年度义务口径。二、模板结构总览五段式支出模型EXPENSES.md 将个人支出划分为五个区块构成一个完整的分类 → 小计 → 汇总 → 优化闭环区块内容汇总方式固定月度支出Fixed Monthly Expenses住房、水电、保险、电话等刚性账单月度小计经常性软件/订阅Recurring Software / SubscriptionsSaaS、流媒体、云服务、AI 工具归一化到月的小计可变支出月度均值Variable Expenses食品杂货、外食、交通、旅行等月度均值小计年度/周期性支出Annual / Periodic Expenses房产税、车检、域名、会费等年度条目总支出与优化候选Totals Optimization月度合计、年度化合计、优化清单汇总计算这种分段的意义在于刚性支出与自由裁量支出分开统计订阅单独归类便于 Pulse 分别做超支标记flag overruns、优化候选识别surface optimization candidates与账单对账reconcile against statement summaries三件事。三、固定月度支出刚性账单的标准化记录模板中固定月度支出表格的列为Category | Vendor | Amount | Frequency | Notes内置了 7 类示例条目CategoryVendorAmountFrequencyNotesHousingSample Landlord / Sample Bank Mortgage$X,XXXmonthlySample notesUtilities — ElectricSample Utility$XmonthlySample notesUtilities — InternetSample ISP$XmonthlySample notesUtilities — WaterSample Water Co.$XmonthlySample notesInsurance — HealthSample Insurer$XmonthlySample notesInsurance — AutoSample Auto Insurer$XmonthlySample notesPhoneSample Carrier$XmonthlySample notesSubtotal (fixed monthly):$X,XXX填写要点Category 取值应当与 schema 对齐。在 schema.yaml 的expense定义中category枚举为[housing, utilities, insurance, subscription, software, grocery, dining, transportation, travel, entertainment, health, clothing, gifts, charitable, tax, loan, other]frequency枚举为[weekly, monthly, quarterly, semi-annual, annual, one-time]。模板中的中文表头如 Utilities — Electric是展示性的真正被 Pulse 校验的是类别字段是否命中枚举值。金额字段在模板阶段必须用字符串占位符$X/$X,XXX这是 schema.yaml 底部validation规则明确要求的所有货币字段必须是字符串而非数字以便在上手阶段容纳$X,XXX这类占位值。从底层实现看固定支出与 obligations.yaml 中的category: housing/utilities/insurance条目是一一对应的例如模板中的 Sample LandlordHousing对应 obligations.yaml 里due_day: 1、autopay: true的租金条目Sample ISP 对应due_day: 10的宽带条目。EXPENSES.md负责月度成本结构视角obligations.yaml负责扣款日程与自动扣款视角二者互为表里。四、订阅与软件容易被忽略的经常性现金流订阅区独立成表Category | Vendor | Amount | Frequency | Notes模板内置 5 条示例CategoryVendorAmountFrequencyNotesProductivity SaaSSample SaaS Vendor 1$XmonthlySample notesProductivity SaaSSample SaaS Vendor 2$XannualSample notesStreamingSample Streaming Service$XmonthlySample notesCloud / HostingSample Cloud Provider$XmonthlySample notesAI ToolsSample AI Vendor$XmonthlySample notesSubtotal (subscriptions, normalized to monthly):$X注意这里的关键设计年度订阅必须归一化到月度normalized to monthly例如年付 $120 的 SaaS 记为每月 $10。这样小计才能与固定月度支出一并相加。在 vendors.yaml 中这些订阅商户Sample SaaS Vendor 1、Sample SaaS Vendor 2、Sample AI Vendor、Sample Cloud Provider、Sample Streaming Service均以category: software或subscription、direction: outbound登记并带有match字段如SAMPLE SAAS 1、SAMPLE AI——这是 Pulse 用来在账单明细中识别已知 vs 新商户的匹配子串。五、可变支出信封预算Envelope Budget机制可变支出表Category | Average | Envelope / Budget | Notes引入了本模板最有特色的概念——信封预算Average记录历史月度均值Envelope / Budget记录你为该类别设定的预算上限。模板内置 8 类CategoryAverageEnvelope / BudgetNotesGroceries$X$XSample notesDining out$X$XSample notesTransportation / Fuel$X$XSample notesTravel$X$XSample notesEntertainment$X$XSample notesHealth / Fitness$X$XSample notesClothing / Personal$X$XSample notesGifts / Charitable$X$XSample notesSubtotal (variable, monthly avg):$X,XXX在 schema.yaml 的expense定义中envelope字段示例$X对应模板的 Envelope / Budget 列notes为自由文本。当Average连续超过Envelope时Pulse 的超支标记逻辑就有了可比较的数据对。这也是整个模板中唯一一处同时记录实际值与预算值的表是后续优化分析的核心输入。六、年度/周期性支出与大额低频账单年度区表格Category | Vendor | Amount | When | Notes模板内置 4 条CategoryVendorAmountWhenNotesProperty taxSample County Assessor$X,XXXannuallySample notesAuto registrationSample DMV$XannuallySample notesDomain / DNSSample Registrar$XannuallySample notesProfessional duesSample Org$XannuallySample notes这类条目在 obligations.yaml 中有对应的机器化表达例如Sample County Assessor条目为category: tax、frequency: annual、autopay: false、due_day: null并注明property tax, due YYYY-MM-DD。可见模板中的When列在 YAML 里由frequency频率与due_day期间内的到期日月度 1-31年度 1-365两个字段共同表达。七、总支出汇总月度合计与年度化合计模板给出的汇总口径Monthly total (fixed subscriptions variable avg):$X,XXXAnnualized total:$X,XXX即月度合计 固定月度小计 订阅月度归一化小计 可变支出月度均值小计年度化合计 月度合计 × 12再加入年度/周期性条目后得到更完整的年支出。这两个数字与 FINANCES.md 的Monthly Cash Flow区块Fixed expenses (monthly)、Variable expenses (monthly)、Net (monthly)直接联动最终汇入净现金流与储蓄率计算。八、优化候选把数据变成行动模板的最后一段Optimization Candidates以自由清单形式列出降本方向内置 3 条示例Sample candidate 1 — e.g., consolidate overlapping SaaS合并重叠的 SaaS 订阅Sample candidate 2 — e.g., renegotiate insurance at renewal续保时重新谈判保险Sample candidate 3 — e.g., audit subscriptions quarterly每季度审计订阅这是意图工程平台intent engineering platform理念的体现LifeOS 不仅记录支出还要求用户显式写出优化行动项使其成为后续每日简报中的可跟踪任务。该区块与 FINANCES.md 的Current Focus如 reducing recurring software costs形成呼应。九、底层数据结构与校验规则schema.yaml 深入解读obligations.yaml 是EXPENSES.md的机器可读孪生体其字段定义如下字段类型说明vendorstring收款方名称categorystringhousing \| utilities \| insurance \| subscription \| loan \| tax \| otheramountstring美元金额字符串$X/$X,XXXfrequencystringmonthly \| quarterly \| annual \| semi-annual \| weekly \| one-timedue_daynumber?期间内到期日月度 1-31年度 1-365可空accountstring扣款账户Sample Bank ...XXXX形式autopayboolean是否开启自动扣款notesstring?自由文本schema.yaml 同时定义了全局校验规则Pulse 与/interview finances工作流会据此校验你的真实数据所有货币字段必须是字符串非数字以便上手阶段容纳$X,XXX占位值last_4字段必须恰好 4 个字符数字或 X 占位日期必须为 ISO 8601YYYY-MM-DDcategory与枚举字段必须精确匹配允许值任何位置都不得出现完整账号只允许后四位。这意味着你在EXPENSES.md填写的$X,XXX、Sample Landlord、Sample Notes都是合法的过渡值但一旦替换为真实数据就必须满足上述类型与枚举约束否则 Pulse 校验无法通过。十、两种填充方式与隐私边界按照 目录 README 的说明填充真实数据有两条路径运行 Finances 访谈/interview finances会以对话方式逐文件引导你填写并把结果写回本目录直接编辑文件打开每个文件把所有$X、Sample Bank、Sample Vendor占位符替换为真实值保持结构不变——Pulse 依赖字段名解析。占位符约定sample placeholder conventions$X— 任意美元金额$X,XXX— 较大的美元金额$X.XX— 精确美元金额Sample Bank/Sample Vendor/Sample Account— 替换为真实实体名XXXX— 账户或卡号后四位隐私边界是这套数据层设计的硬约束FINANCES目录属于私人 USER 树永远不会被打包进公开的 LifeOS 发布物且ACCOUNTS.md明确要求登录凭据存放在密码管理器中而不是这里。把FINANCES当作密码管理器同等对待——真实数字只存在于本机。结语从 EXPENSES.md 的单一模板出发可以看清 LifeOS 财务数据层的完整设计Markdown 表格面向人类可读性schema.yaml 提供机器可校验的类型与枚举约束obligations.yaml 与 vendors.yaml 支撑 Pulse 的账单日程、商户识别与对账能力最终汇入 FINANCES.md 的现金流概览并由 Pulse 财务仪表盘 渲染为支出 KPI。只要保持模板结构与字段名不变将每一处占位符替换为真实数据并遵守字符串金额、后四位账号与 ISO 日期三项硬规则你的本地财务数据就能安全地驱动 Pulse 的超支标记、优化候选与账单对账能力。【免费下载链接】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),仅供参考

相关新闻

Nx AI 集成指南:用 MCP 与工作区智能让你的 AI 助手理解整个 Monorepo

Nx AI 集成指南:用 MCP 与工作区智能让你的 AI 助手理解整个 Monorepo

Nx AI 集成指南:用 MCP 与工作区智能让你的 AI 助手理解整个 Monorepo 【免费下载链接】nx The Monorepo Platform that amplifies both developers and AI agents. Nx optimizes your builds, scales your CI, and fixes failed PRs automatically. Ship in half t…

2026/9/13 18:39:43 阅读更多 →
MaaAssistantArknights 基建换班深度解析:常规模式调度算法、跨设施组合与自定义排班协议

MaaAssistantArknights 基建换班深度解析:常规模式调度算法、跨设施组合与自定义排班协议

MaaAssistantArknights 基建换班深度解析:常规模式调度算法、跨设施组合与自定义排班协议 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all…

2026/9/13 18:39:43 阅读更多 →
一个文件跑完整套后端:PocketBase 从零到上线的实战指南

一个文件跑完整套后端:PocketBase 从零到上线的实战指南

一个文件跑完整套后端:PocketBase 从零到上线的实战指南 【免费下载链接】pocketbase Open Source realtime backend in 1 file 项目地址: https://gitcode.com/GitHub_Trending/po/pocketbase 是不是每次搭后台,都要先装数据库、再写鉴权、最后还…

2026/9/13 18:39:43 阅读更多 →

最新新闻

PDF补丁丁:给没有目录的200页文档补上书签导航,50份PDF一次跑完

PDF补丁丁:给没有目录的200页文档补上书签导航,50份PDF一次跑完

PDF补丁丁:给没有目录的200页文档补上书签导航,50份PDF一次跑完 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 …

2026/9/13 19:37:08 阅读更多 →
Label Studio 模板快速上手:用预定义标注界面加速数据标注与机器学习工作流

Label Studio 模板快速上手:用预定义标注界面加速数据标注与机器学习工作流

Label Studio 模板快速上手:用预定义标注界面加速数据标注与机器学习工作流 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la…

2026/9/13 19:37:08 阅读更多 →
LabVIEW视觉目标跟踪原理与实现:从模板匹配到卡尔曼滤波

LabVIEW视觉目标跟踪原理与实现:从模板匹配到卡尔曼滤波

简介:面向 LabVIEW 开发者与机器视觉学习者的目标跟踪与颜色跟踪示例包,适合用 LabVIEW 完成视觉算法验证、课程设计或项目原型开发。资源围绕视觉 labview 主题,提供从图像获取、预处理、特征提取到跟踪算法实现的可运行 VI,以及…

2026/9/13 19:37:08 阅读更多 →
pybind11 版本发布指南:从版本号规范到完整的发布流程实战

pybind11 版本发布指南:从版本号规范到完整的发布流程实战

pybind11 版本发布指南:从版本号规范到完整的发布流程实战 【免费下载链接】pybind11 Seamless operability between C11 and Python 项目地址: https://gitcode.com/GitHub_Trending/py/pybind11 本篇指南以 pybind11 官方文档 docs/release.rst 为骨架&…

2026/9/13 19:37:08 阅读更多 →
基于Spring Boot的教务系统开发:状态流转、权限与并发控制

基于Spring Boot的教务系统开发:状态流转、权限与并发控制

简介:基于 Java 与 SSM 架构开发的教务查询系统,面向刚接触 SSM 整合的 Java 后端初学者,定位为可运行的练手项目。代码覆盖 Spring、SpringMVC、MyBatis 三大框架的完整整合,并引入 Shiro 安全框架、C3P0 数据源、Log4j 日志和 B…

2026/9/13 19:37:08 阅读更多 →
Kaiser窗+双谱线插值实现高精度谐波频率估计

Kaiser窗+双谱线插值实现高精度谐波频率估计

简介:本资源是一份面向信号处理初学者与MATLAB实践者的谐波分析教学代码,聚焦于高精度频谱估计中的关键算法实现。压缩包ct877.zip仅含1个核心文件ct877.m,为纯MATLAB脚本(.m类型),体积精简仅7KB&#xff0…

2026/9/13 19:36:08 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →