ARTICLE DETAIL

资讯详情

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

LifeOS Interview 工作流全解析:从 Setup 之后的“意义装配”到 Pulse 首次点亮

LifeOS Interview 工作流全解析:从 Setup 之后的“意义装配”到 Pulse 首次点亮 LifeOS Interview 工作流全解析从 Setup 之后的“意义装配”到 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/LifeOSInterview面试是 LifeOS 生命周期中第二个阶段phase 2的引导工作流官方文档将其定义为整台系统“meaning”意义的一半它在上一个阶段 Setup系统集成logistics 一半完成之后运行负责捕获“你是谁、你要去向哪里”然后把真实数据播种seed进 Pulse让仪表盘在第一次打开时就呈现真实状态而不是空壳。读完本文你将掌握 Interview 的完整六步执行序列、每一步写入哪些配置与文件、skip/done的会话契约、外部资料迁移migration on-ramp的合并策略以及最终SeedPulse如何把 TELOS 素材渲染成PRINCIPAL_TELOS.md与LIFEOS_STATE.json两个派生产物——即 Pulse 环rings与状态条的数据来源。一、Interview 在安装流水线中的位置logistics 之后meaning 登场LifeOS 的部署被明确拆成两个阶段两个阶段合起来才是完整的“上线”Setupphase 1logistics 一半把 LifeOS 接入用户机器。检测环境DetectEnv、扫描冲突ScanConflicts、部署核心DeployCore、脚手架用户树ScaffoldUser、链接用户树LinkUser、安装钩子与可选增强、激活-import、接线lifeos启动命令等。文档明确强调 hooks 与系统集成必须先落地Interview 才有地方写数据。完整流程见 Setup.md。Interviewphase 2meaning 一半本文主角。捕获用户身份与方向向 Pulse 播种真实数据“这是 LifeOS 变得个人化personal的时刻”原文档原话。二者的衔接约定如果 Setup 刚刚跑完Interview 应当延续同一次对话继续如果 Interview 被独立调用lifeos interview必须先确认 Setup 已经运行过即用户配置树已存在才能开始播种seed。这条前提在 Interview.md 的 Notes 中明确写明。工作流的第一个动作是一条语音通知curl -s -X POST http://localhost:31337/notify -H Content-Type: application/json \ -d {message: Running the Interview workflow in the LifeOS skill to onboard you into LifeOS} /dev/null 21 这条命令把消息投递给本地 Pulse 服务:31337让用户通过语音/通知感知到“引导已开始”。 /dev/null 21 表示静默后台执行通知失败不影响工作流本身。二、会话姿态Stance对等对话不是表单Interview 的核心设计原则原文档“Stance”一节一次只问一件事ask one thing at a time把答案复述回去reflect it back在有信号处继续深挖go deeper where theres signal每次写入都用existsSync守卫绝不覆盖clobber用户已经给出的答案用户可以对任何条目说skip跳过说done提前结束部分完成partial onboarding是合法状态——Pulse 会如实显示它已拥有的内容不会因未完成而报错。这套契约保证了引导的幂等性与可重入性任何一次会话中断、跳过或提前结束都不会破坏已写入的数据下一次重新运行 Interview 时existsSync守卫让已有的答案原样保留工作流只补齐缺口。三、六步执行序列详解Interview 的正文由六个步骤组成每一步的写入目标都明确指向用户配置树USER 区。步骤 1DA 命名 语音DA naming voice询问用户想如何称呼自己的数字助手DA捕获以下字段并写入CONFIG/LIFEOS_CONFIG.tomlda.name必填——DA 的名字可选的da.full_name/da.display_name/da.color语音da.voices.main.voice_id——先提供公开默认值允许用户粘贴自己的 ElevenLabs voice id。原文档特别注明这是旧安装向导负责的步骤现在移到了这里。配置文件的模板与字段注释见 LIFEOS_CONFIG.toml[da] name Aria # required — your DAs name (rename to anything) full_name display_name color #3B82F6 [da.voices.main] voice_id 21m00Tcm4TlvDq8ikWAM # required — ElevenLabs voice_id (public default; set yours in Interview) voice_name Rachel stability 0.85 similarity_boost 0.7 style 0.3 speed 1.0 use_speaker_boost true volume 1.0从模板注释可以看出voice_id是 ElevenLabs 的公开默认 IDInterview 中可替换为个人 ID语音参数稳定性、相似度、风格、语速、音量等都提供默认值。该文件同时是 principal 身份、DA 身份、语音配置、集成凭据与路径根path roots的规范来源系统代码通过LIFEOS/TOOLS/LifeosConfig.tsloadLifeosConfig()读取。步骤 2Principal 身份principal identity捕获姓名、发音、时区、家乡hometown写入两处[principal]段写入LIFEOS_CONFIG.toml[principal] name Your Name # required — your display name pronunciation # optional — phonetic spelling if needed timezone America/Los_Angeles # required — IANA timezone hometown # optional currency USD # optional — ISO 4217, drives Pulse Finances tab formatting同时重写PRINCIPAL/PRINCIPAL_IDENTITY.md。该文件的模板见 PRINCIPAL_IDENTITY.md带有⚠ INTERVIEW REQUIRED占位警告说明它在每个会话启动时被加载经由CLAUDE.md的-importDA 需要它来获得精炼的身份参考不经过 Interview模型只能基于占位符工作。模板内含有 Quick Reference姓名/发音/位置/时区/角色/焦点、Career Essence、Worldview、Key Positions、Personal Interests、Work Patterns Communication、Preferences、For the DAs Reference 等小节Interview 会把各(interview)占位逐项替换为真实内容。步骤 3TELOS — 当前状态current state捕获使命mission、重要的人the people who matter、当前项目、挑战、此刻真实的情况whats actually true right now。写入TELOS/目录。从用户模板树 TELOS/ 可见这一区的结构MISSION.md、GOALS.md、PROBLEMS.md、STRATEGIES.md、CHALLENGES.md、NARRATIVES.md、WISDOM.md、BELIEFS.md、BOOKS.md、CURRENT_STATE/、IDEAL_STATE/等。这些正是后续GenerateTelosSummary逐一解析的源文件。步骤 4TELOS — 理想状态ideal state捕获目标在有数据的地方带上指标 metrics 与日期 dates、策略strategies、目的地the destination。同样写入TELOS/。原文档在此点题“当前 → 理想Current → ideal是 LifeOS 的脊柱the spine of LifeOS两半都要拿到。” 理想状态对应TELOS/IDEAL_STATE/下的分维度文件HEALTH、MONEY、FREEDOM、CREATIVE、RELATIONSHIPS、RHYTHMS、INFRASTRUCTURE 等七个维度见下文UpdateLifeosState源码这些文件是 Pulse 环与状态条“目标画像”的来源。步骤 5外部资料迁移external sources可选用户可以把已有素材交给系统笔记、旧配置、导出文件、URL、之前的 LIFEOS/其他 harness 配置。对每一项读取文件或抓取 URL抽取身份 / TELOS / 项目信号合并进 USER 树——同样是existsSync守卫每次写入前先确认。这是“迁移坡道migration on-ramp”bring your context, dont retype it——把上下文带进来而不是重新打字输入。原文档还强调这保证了“已存在资料绝不丢失、绝不静默覆盖”。步骤 6SeedPulse —— 把数据渲染成活的仪表盘bun Tools/SeedPulse.ts # 先 dry-run bun Tools/SeedPulse.ts --apply # 再实际执行SeedPulse 是 Interview 的收尾步骤把已填充的 USER 树转译为 Pulse 读取的派生产物——LIFEOS_STATE.json与PRINCIPAL_TELOS.md让 Pulse 在第一次打开时就渲染出真实的环与状态。其入口源码位于 SeedPulse.ts关键行为如下命令行参数--config-root dir配置根默认$CLAUDE_CONFIG_DIR或~/.claude、--config-dir dir用户配置目录默认$LIFEOS_CONFIG_DIR或~/.config/LIFEOS、--apply真正执行、--allow-dev放行开发树开发树拒绝detectDevTree(configRoot)命中源码树且未带--allow-dev时打印{ ok: false, refused: dev-tree, ... }并以退出码 2 拒绝播种绝不污染作者源码仓库生成器清单GENERATORS [GenerateTelosSummary.ts, UpdateLifeosState.ts]位于configRoot/LIFEOS/TOOLS/下缺失的生成器会被报告而不会中止整个流程best-effort——但dry-run 与 apply 两个路径都会 fail loud若运行时未部署没有任何生成器存在退出码为 1绝不做静默 no-op环境变量归一化源码在入口处修复 Claude Code 可能注入的未展开路径变量$HOME/${HOME}字面量对应 issue #1404/PR #1451并对LIFEOS_DIR/LIFEOS_CONFIG_DIR/PROJECTS_DIR做homedir()兜底Windows 下HOME可能未设置issue #1729双环境变量定向GenerateTelosSummary通过LifeosConfig.paiUserDir()读取LIFEOS_CONFIG_PATH而UpdateLifeosState通过LIFEOS_DIR解析路径SeedPulse 因此同时注入两个变量保证非默认配置根不会误定向到~/.claude退出契约ok要求“失败列表为空且至少一个生成器真正跑过”避免“生成器缺失被误判为成功”的历史漏洞。派生产物 APRINCIPAL_TELOS.mdGenerateTelosSummary源码 GenerateTelosSummary.ts 读取TELOS/*.md源文件生成约 60 行的压缩摘要PRINCIPAL_TELOS.md用于启动时的上下文加载。几个值得注意的实现事实生成物绝不手写来自 2026-03-26 Council 辩论的设计决定目标是“信号密度优先于完整性”统一源优先自 2026-05-01 起TELOS.md是唯一事实来源single source of truth解析器先按LEGACY_FILE_TO_SECTION映射如MISSION.md → mission、GOALS.md → goals、PROBLEMS.md → problems、STRATEGIES.md → strategies、CHALLENGES.md → challenges、WISDOM.md → wisdom等在TELOS.md的##节里查找真实内容只有统一节缺失/为空/仍是模板样例时才回退到遗留单文件Archive/2026-05-01/归档后即为空占位符过滤所有携带(sample标记的模板样例文本都被isPlaceholder过滤绝不进入每次会话都会被-import 的PRINCIPAL_TELOS.mdisScaffolding进一步剔除水平线、标题、引用块与斜体脚注等模板结构行格式兼容parseItems同时接受- **M0**: text子弹形式、### M0: textH3 标题形式与## M0: title 正文的 H2 形式无 ID 的段落走paragraphItems位置化兜底目标按 “## Active” / “## Deferred / Ongoing” / “## Completed This Year” 分桶未识别标题一律按 active 处理、绝不静默丢弃issue #1473Fail-loud 守卫任一核心节“源文本非空但解析为零条”时拒绝写入并退出码 1全文零条目时用“样例盲解析”区分“全新未填写的模板树”写空摘要与“真实格式漂移”拒绝覆盖Context Filter优先读取TELOS.md的## Context Filter节用户未定义时回退到内置默认引导语Principal 显示名解析按PRINCIPAL_IDENTITY.mdfrontmatterfull_name→ H1 标题 → frontmattername→settings.json principal.name的优先级在运行时解析issue #1140并过滤{{...}}之类的令牌残渣。输出文件带有last_updated/derived_from/generator等 frontmatter含 Missions、Active GoalsDeferred/Completed 压缩为单行内联、Problems、Strategies、Active Projects、Narratives、Challenges、Traumas、Mistakes、Core Models、Wisdom、Context Filter 等节——每节仅在非空时输出。派生产物 BLIFEOS_STATE.jsonUpdateLifeosState源码 UpdateLifeosState.ts 按七个维度计算百分比分数health、money、freedom、creative、relationships、rhythms、infrastructure。这些分数被状态条LIFEOS_StatusLine.sh的 STATE 段与 Pulse TELOS 仪表盘的环读取。计算语义源码注释明确主路径若CURRENT_STATE/DIM.md存在且含status: have|partial|missing行则pct (have 0.5 × partial) / total × 100——度量“现实与目标的重合度”回退路径否则按IDEAL_STATE/DIM.md的阐述完整度计算100 - (TBD 标记数 × 10)截断到 0..100——度量“用户是否已阐明‘好’长什么样”Fail loud 校验出现have/partial/missing之外的状态关键字时如status: populated打印警告——这类同义词过去会静默计为 0%导致已填满的文件显示 0% 覆盖而无任何信号issue #1509每个维度输出pct、tbd_count、last_updated、source_file全新安装所有维度自然落在 0直到用户运行 IDEAL_STATE 引导。生成的LIFEOS_STATE.json位于LIFEOS/USER/TELOS/与仓库模板 LIFEOS_STATE.json 结构对应。四、收尾Close确认、指向、可重入Interview 结束时要向用户确认三件事什么已经落地DA 名字、身份identity、N 个目标、当前/理想状态均已捕获指向 Pulse告知localhost:31337让用户第一次打开仪表盘看真实数据可重入性明确说明 Interview随时可以重跑以便未来更深地补充细节——结合前文existsSync守卫契约重跑只会增量补充不会覆盖已有答案。五、边界与前提Notes原文档的两条收尾约束值得单独强调只写用户配置树Interview 工作流只写用户的 config tree绝不触碰系统文件system files。这也是它与 Setup 的分工边界——Setup 负责系统集成Interview 负责用户意义层独立调用前置条件若以lifeos interview独立运行必须先确认 Setup 已完成配置树已存在再执行播种否则需要回到 Setup.md 先完成系统接线。六、结合源码的完整数据流回顾把以上内容串成一条数据流即可看清 Interview 的“意义装配”如何在文件系统中落地Interview 会话对等对话skip/done 契约 ├─ 步骤 1 DA 命名语音 ──────────────► CONFIG/LIFEOS_CONFIG.toml [da] / [da.voices.main] ├─ 步骤 2 Principal 身份 ────────────► CONFIG/LIFEOS_CONFIG.toml [principal] │ PRINCIPAL/PRINCIPAL_IDENTITY.md重写 (interview) 占位 ├─ 步骤 3 TELOS 当前状态 ────────────► TELOS/MISSION/GOALS/PROBLEMS/STRATEGIES/CHALLENGES… ├─ 步骤 4 TELOS 理想状态 ────────────► TELOS/IDEAL_STATE/DIM.md7 个维度 ├─ 步骤 5 外部资料可选───────────► USER 树existsSync 守卫 逐项确认 └─ 步骤 6 SeedPulsedry-run → --apply► 调用 GenerateTelosSummary.ts → PRINCIPAL_TELOS.md └─ 调用 UpdateLifeosState.ts → LIFEOS_STATE.json │ ▼ Pulselocalhost:31337真实环 状态条每一步写入都有源码或模板可查配置 schema 见 LIFEOS_CONFIG.toml身份模板见 PRINCIPAL_IDENTITY.md播种逻辑见 SeedPulse.ts 及两个生成器 GenerateTelosSummary.ts 与 UpdateLifeosState.tsTELOS 素材结构见 TELOS/。七、实用提示汇总永远先 dry-run 再--applySeedPulse 的 dry-run 也会 fail loud无生成器时退出码 1这一设计让 Setup 驱动脚本不会在未部署运行时误判成功不要手工复制配置文件Interview 依赖existsSync守卫与生成器手工改文件会绕过“不覆盖已有答案”与占位符过滤的保护语音可以后续替换公开默认voice_id只是起步ElevenLabs 个人 ID 随时可以在 Interview 重跑或直接编辑LIFEOS_CONFIG.toml时更换迁移优先用步骤 5旧配置/笔记/URL 交给 Interview 抽取合并比手工重打更安全守卫 逐项确认部分完成即可用用户随时可以skip/donePulse 会如实显示已捕获的部分剩余维度在LIFEOS_STATE.json中保持 0 或回退值等待下次 Interview 深挖。至此Interview 工作流从“会话姿态”到“文件落地”再到“Pulse 点亮”的完整机制已经清晰它是 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),仅供参考
返回列表