人生 IPO:一个把个人生活当企业经营的 TypeScript 数据操作系统

> 人生 IPO:统一财务、健康、知识、人脉、AI 决策与团队执行的个人数据操作系统。 ## 一、引言:当人生变成一门需要“上市”的生意 我们每个人的生活其实都像一个微型企业:有收入(工资、副业)、有资产(存款、技能、人脉)、有负债(房贷、健康欠账)、有团队(家人、同事、AI 助手)、有战略(年度目标、月度计划)。但绝大多数人管理自己的方式,却远比管理一家公司要原始——用分散的 Excel 表、备忘录、日历、记账 App、健康手环、Notion 笔记……数据孤岛林立,决策全凭直觉。 **gtlhuyidan-sketch/life-ipo** 正是为解决这个痛点而生:它试图将“人生”这个复杂系统,抽象成一个可量化、可迭代、可自动决策的 **个人数据操作系统(Personal Data OS)**。项目用 TypeScript 编写,目前已有 440+ Stars,定位非常硬核——不是那种“帮你记日记”的温情工具,而是一个面向极客、效率狂魔、自我量化(Quantified Self)爱好者的工程化基础设施。 ## 二、它到底解决什么痛点? ### 1. 数据孤岛:你的生活信息散落各处 - 财务在支付宝、银行、股票 App 里 - 健康在 Apple Health / 小米运动 / 体检报告里 - 知识在 Readwise、Kindle、笔记软件里 - 人脉在微信、LinkedIn、通讯录里 life-ipo 试图提供一个 **统一数据模型**,将上述所有维度映射到同一个结构化 schema 中,让你能用 SQL 或 TypeScript 接口一次性查询“我上个月的健康支出占比是多少?”这类跨域问题。 ### 2. 决策靠感觉:没有数据支撑的目标管理 大多数人设定年度目标时靠“热血”,执行时靠“意志力”,复盘时靠“记忆”。life-ipo 借鉴企业 OKR + 财报体系,把目标拆解为可量化的 **KPI(关键绩效指标)**,并自动从数据源拉取实际值,生成类似“资产负债表”和“损益表”的人生报表。 ### 3. AI 决策与自动化:从“记录”到“执行” 项目集成了 AI 决策引擎(支持 OpenAI / 本地模型),可以根据你的数据自动生成建议。比如:当连续 3 天睡眠不足 6 小时且当天有高强度日程时,AI 会自动建议调整日程或提醒你补充咖啡因。更进一步,它支持**团队执行**——你可以定义“规则”(如:当健康分低于 60 时,自动向家人发送提醒,或自动预订体检)。 ## 三、快速上手:从安装到第一个“人生指标” ### 环境要求 - Node.js ≥ 18 - pnpm(推荐)或 npm - TypeScript ≥ 5.0 ### 安装步骤 bash # 克隆仓库 git clone https://github.com/gtlhuyidan-sketch/life-ipo.git cd life-ipo # 安装依赖 pnpm install # 复制环境变量模板 cp .env.example .env # 配置你的数据源(例如:Notion 数据库、银行 CSV、Apple Health 导出) # 编辑 .env 文件,填入相应 API Key 或文件路径 # 启动本地数据服务 pnpm dev ### 代码示例:定义你的第一个“人生维度” 在 `src/domains/` 下创建一个新文件 `health.ts`: typescript import { defineDomain } from '@life-ipo/core'; export const healthDomain = defineDomain({ name: 'health', version: '1.0', metrics: { sleepHours: { type: 'number', unit: 'h', min: 0, max: 24 }, stressLevel: { type: 'enum', values: ['low', 'medium', 'high'] }, exerciseMinutes: { type: 'number', unit: 'min' }, }, sources: [ { type: 'apple-health', config: { exportPath: './data/apple_health_export.xml' }, }, { type: 'manual', config: { file: './data/manual_health.csv' }, }, ], aiRules: [ { condition: (m) => m.sleepHours < 6 && m.stressLevel === 'high', action: 'suggest_break', message: '检测到睡眠不足且压力高,建议安排 15 分钟冥想。', }, ], }); 然后运行同步命令: bash pnpm sync --domain health 这会解析 Apple Health 导出文件,计算平均睡眠时长,并触发 AI 规则。如果条件满足,AI 会在终端输出建议,或通过 webhook 推送到你的手机。 ### 查询数据:用 GraphQL 或 REST 启动服务后,访问 `http://localhost:3000/graphql` 可以执行查询: graphql query { health { sleepHours(period: LAST_7_DAYS) { average trend } } finance { netWorth monthlyBurnRate } } 返回结果示例: { "data": { "health": { "sleepHours": { "average": 6.2, "trend": "down" } }, "finance": { "netWorth": 128000, "monthlyBurnRate": 3500 } } } ## 四、核心亮点深度剖析 ### 1. 领域驱动设计(DDD)架构 项目将人生拆分为**领域(Domain)**:`finance`、`health`、`knowledge`、`social`、`career`、`spirituality` 等。每个领域有独立的 schema、数据源适配器、AI 规则和报表模板。这种模块化设计让扩展新维度变得极其简单——你甚至可以为“宠物健康”或“游戏成就”创建自定义领域。 ### 2. 数据源适配器体系 内置适配器包括: - **财务**:CSV 导入(支持支付宝/微信导出)、Plaid API(美国银行)、加密货币钱包(Coinbase/币安) - **健康**:Apple Health XML、Google Fit API、手动 CSV - **知识**:Readwise API、Kindle 笔记导出、Notion 数据库 - **人脉**:LinkedIn 导出、微信通讯录备份(需手动处理) 适配器接口统一为 `SourceAdapter`,只需实现 `fetch()` 和 `transform()` 方法,即可接入任意新数据源。 ### 3. AI 决策引擎:可编程的“人生顾问” life-ipo 的 AI 不是简单的聊天机器人,而是一个**规则引擎 + LLM 混合系统**。你可以在每个领域定义 `aiRules`,规则由条件(基于指标值的逻辑表达式)和动作(建议、提醒、自动化调用)组成。同时,系统支持将多个指标聚合后发送给 LLM 生成更复杂的分析报告(例如:“根据我最近 30 天的财务和健康数据,给出下个月的生活优化建议”)。 ### 4. 团队执行模块:把“人生”变成可协作项目 这是该项目最独特的地方。你可以创建“人生团队”(比如家庭成员、导师、AI 助理),并分配任务。例如: - 妻子负责“家庭饮食健康”任务 - 教练负责“健身计划执行”任务 - AI 负责“每日数据监控和异常报警” 每个任务都有状态、截止日期和关联的指标。系统会生成团队看板(类似 Trello),并自动同步到各成员邮箱。 ### 5. 隐私与本地优先 所有数据默认存储在本地 SQLite 或 PostgreSQL 中。AI 调用可选择本地模型(如 Ollama),避免敏感数据外泄。项目没有云服务依赖,完全可控。 ## 五、适用场景与目标用户 - **量化自我爱好者**:已经坚持记录健康、财务、时间的人,需要一个统一分析平台。 - **自由职业者 / 创业者**:需要管理多收入来源、健康风险、知识积累,且希望用数据驱动决策。 - **家庭管理者**:想用企业级方法管理家庭预算、成员健康和学习计划。 - **AI 极客**:喜欢自定义规则和自动化流程的人,可以玩出很多花样。 - **开发者**:想学习 TypeScript 领域驱动设计、适配器模式、图数据库集成(项目可选配 Neo4j 用于关系分析)。 ## 六、同类项目对比:它有何不同? | 项目 | 定位 | 数据维度 | AI 决策 | 团队协作 | 本地优先 | 技术栈 | |------|------|----------|---------|----------|----------|--------| | **life-ipo** | 个人数据 OS | 多维度(财务/健康/知识/人脉/职业) | ✅ 规则+LLM | ✅ 内置 | ✅ | TypeScript, GraphQL | | Notion + 模板 | 笔记/数据库 | 自定义但需手动 | ❌ | ✅ | ✅ | 闭源 | | Exist.io | 量化自我聚合 | 健康/活动/情绪/天气等 | ⚠️ 简单统计 | ❌ | ❌ | 闭源 | | Apple Health | 健康数据 | 仅健康 | ⚠️ 基础趋势 | ❌ | ✅ | 闭源 | | Beeminder | 目标追踪 | 自定义指标 | ⚠️ 惩罚机制 | ❌ | ❌ | 闭源 | **life-ipo 的差异化优势**: 1. **横跨多个生活维度**,而不像 Exist 或 Apple Health 只聚焦健康。 2. **真正的 AI 决策引擎**,而非简单的图表展示。 3. **团队协作能力**,这是绝大多数个人管理工具没有的。 4. **完全开源 + 本地部署**,数据隐私可控。 **劣势**: - 上手门槛高(需要懂 TypeScript 和配置) - 数据源适配器数量有限(没有国内微信支付、支付宝自动同步) - UI 相对朴素(目前主要是命令行 + 简单 Web 仪表盘) ## 七、技术评测:代码质量与可扩展性 从 GitHub 仓库代码来看,项目结构清晰: life-ipo/ ├── src/ │ ├── core/ # 核心抽象(Domain, Metric, Rule) │ ├── adapters/ # 数据源适配器 │ ├── ai/ # AI 决策引擎 │ ├── graphql/ # GraphQL 接口 │ ├── cli/ # 命令行工具 │ └── web/ # 简单 Web 仪表盘(React) ├── tests/ # 单元测试和集成测试 ├── docs/ # 文档 └── examples/ # 示例配置 代码风格规范,使用 ESLint + Prettier,有完善的类型定义。测试覆盖了核心规则引擎和数据转换逻辑。对于 440 Stars 的项目来说,质量相当不错。 但也有一些不足: - **文档不够完善**:目前只有 README 和少量示例,缺少完整的 API 参考和架构说明。 - **数据迁移功能弱**:没有内置的导出/导入工具,换数据库需要手动处理。 - **AI 规则调试困难**:当规则复杂时,难以追踪为何触发/不触发,建议增加调试日志。 ## 八、总结与展望 life-ipo 是一个野心勃勃的项目,它试图用软件工程的严谨来管理混沌的人生。它并不完美,但理念非常超前——尤其是“人生作为企业”的隐喻,以及将 AI 作为“首席参谋”的架构。如果你是一个喜欢折腾、追求极致数据驱动生活的人,这个项目值得你花一个周末去配置。 对于开发者来说,它也是一个极佳的学习资源:你可以学到 TypeScript 的高级类型体操、适配器模式、GraphQL schema 设计、以及如何集成 LLM 到实际业务逻辑中。 最后,项目目前仍处于早期阶段(版本 0.x),但作者更新活跃,社区也在逐渐壮大。如果你有兴趣,可以参与贡献新的数据源适配器,或者帮助完善文档。 **项目链接**:https://github.com/gtlhuyidan-sketch/life-ipo
查看工具