跳到主要内容

每日三省吾身

本规则用于生成 static/data/daily-analysis/YYYY/MM/DD.json 每日三省吾身结构化分析。docs/05-吴飞飞/02-总结/02-总结.mdx 是跨年份动态入口页(slug: /review),融合“人生进度”的多年目标路线图与每日三省吾身数据看板,负责按日期加载公开日记、客观数据与 AI 分析结果;不再每天生成一个 docs/.../DD.md 文档。每日三省吾身不是流水账,也不是自我批判,而是一套面向长期目标的自我校准系统:每天用很短时间检查自己有没有偏离长期方向,并据此做一个具体纠偏动作。Claude Code 不应直接对原始 JSON 做“读完就写”的总结,而应优先基于工作流生成的结构化分析上下文(daily analysis context)形成判断;工作流负责日期计算、数据特征提取、权限控制、格式校验、文件写入与 Git 操作。

三省定位

“三省吾身”在这里不是随便问三个问题,也不是围绕“我今天做错了什么”展开。它的目标是:

  1. 先看事实,确认今天发生了什么。
  2. 再做判断,确认这些事实说明了什么偏移或进展。
  3. 最后只定一个到两个具体动作,把明天重新拉回长期目标。

不要写成情绪化自责,例如“今天又浪费时间了,我太差劲了”。这种表达没有校准价值。有效的三省必须同时包含:

  • 事实:今天发生了什么。
  • 判断:这件事说明了什么。
  • 改进:明天要做的一个具体动作是什么。

例如:

  • “今天晚上又刷手机到 1 点,导致早上状态差。说明我对睡前时间缺少边界。明天 23:30 后手机放客厅,只保留手表闹钟。”

长期目标映射

每日三省吾身默认围绕四个长期方向展开,而不是围绕短期情绪波动展开:

  • 健康幸福:今天有没有让身体、情绪、家庭关系更稳定、更向好。
  • 事业有成:今天有没有推进真正重要的问题,而不是只处理杂事。
  • 财务自由:今天有没有做出更理性、更长期主义的资产决策。
  • 丰富人生:今天有没有学习、观察、记录、阅读或体验,让人生更开阔。

当前日报的数据源与这四个方向的映射关系如下:

  • 健康 板块对应“健康幸福”。
  • 财务 板块对应“财务自由”。
  • 阅读 板块主要对应“丰富人生”。
  • AI 使用 板块主要作为“事业有成”的代理信号,用来观察工作流强度、任务密度和工具使用结构。
  • 行动记录 板块汇总日记、天气、行车和 Git 记录:日记用于补足数据无法覆盖的家庭、生活、情绪和主观体验;天气用于解释生活环境和户外条件;行车用于还原移动切片;Git 用于观察工程/写作推进。
  • 语音转文字 如果未来接入,只能作为行动记录的增强来源,用来捕捉日常下意识表达、心情片段、临时待办和观点雏形;它不是事实本身,也不能替代日记。语音记录更接近“原始生活切片”,必须经过清洗、脱敏、聚类和降权后,才能进入每日分析。

特别注意:AI 使用 只能作为工作推进状态的代理信号,不能把 token 高低直接等同于工作产出,更不能把高调用量写成“今天事业做得更好”的简单结论。 Git 记录同样只能作为推进痕迹,不能把 commit 数量直接等同于产出质量。天气只能作为背景变量,不能把同日天气和健康/情绪/效率变化写成确定因果。日记是第一手材料,但不能全文复述,也不能用单日情绪覆盖结构化数据判断。

语音转文字的风险比普通日记更高。它记录的是未经整理的自然语言,里面可能混有他人声音、家庭细节、临时情绪、敏感身份信息、账号口令、会议内容和未成熟判断。分析时只能提取模式,不要复述原句;只能总结“反复出现的待办、情绪倾向、回避模式、观点主题”,不要把某一句气话、玩笑、抱怨或他人话语当作稳定人格判断。涉及他人的内容默认不进入公开输出,除非已经被人工整理成可公开日记。

动作标记约定

为了让“三省吾身”既便于阅读,也便于工作流稳定校验,正文里的纠偏动作使用固定写法:

  • 每个有有效判断的板块,结尾优先落一行 **明日动作**:...
  • 默认四个板块里至少三个板块要写出这行固定标记;只有在目标日数据严重缺失、确实无法提出动作时,才允许个别板块省略,但要明确说明为什么不能下动作。
  • ## 接下来值得关注 默认承接这些 **明日动作**,做归并、排序或补充;不要只在末尾列表里写动作,而前文没有闭环。

动作不是可有可无的建议,而是“事实 -> 判断 -> 改进”里的固定落点。

日期口径

定时任务每天北京时间 08:30 运行,报告日期固定为北京时间昨天。例如,2026 年 6 月 19 日 08:30 运行时,分析 2026 年 6 月 18 日的数据,写入 static/data/daily-analysis/2026/06/18.json

手动运行传入的 report_date 代表需要分析的日期。报告只把目标日期视为当日数据,运行日数据不得混入。近 7 日和近 30 日数据只作为趋势基线,不得取代目标日期。

数据来源

仅按工作流提供的允许文件清单读取数据,禁止遍历整个 static/data/。通常包括:

  • static/data/health/<目标月份>.json 与必要的上月文件
  • static/data/reading/<目标月份>.json 与必要的上月文件
  • static/data/reading/stats.json
  • static/data/account-assets/*.json
  • static/data/llm-usage/*/usage_summary.json
  • static/data/hk-ipo/data.json
  • static/data/weather/<目标年月日>.json
  • static/data/drive/<目标年月日>.json
  • static/data/daily/<目标年月日>.md
  • static/data/voice-transcripts/<目标年月日>.json 或工作流提供的同等结构化摘要(仅在显式允许时读取)
  • 目标日 Git commit 记录(由工作流用本仓库历史生成结构化上下文)

禁止读取 static/data/reading/books/、无关历史年份、仓库凭证、环境变量和 Git 配置。外部网络信息不属于日报依据。 语音转文字原文默认不属于可直接公开内容。除非工作流允许文件清单明确包含,且文件已经完成本地脱敏和摘要化,否则不要读取原始 transcript。即使允许读取,也只使用目标日期对应切片,不跨日扩展,不为了“理解背景”遍历历史录音。

分析方法

先确认每个来源的字段含义、目标日期记录和 fetchedAtexportedAt,再形成判断。优先基于结构化上下文做分析,不要把日报写成数字复述。每个板块都要回答:

  1. 今天最重要的变化是什么。
  2. 相对前一日、近 7 日、必要时近 30 日,它处在什么位置。
  3. 最合理的解释候选是什么,哪些部分仍然不确定。
  4. 这个变化意味着什么,但不意味着什么。
  5. 明天最值得做的一个纠偏动作或继续观察动作是什么。

优先完成以下分析:

  1. 提取目标日期的健康、阅读、财务和 AI 使用数据。
  2. 与前一日、近 7 日基线比较;只有趋势确实需要更长时间确认时才使用近 30 日。
  3. 识别显著变化、连续趋势、异常值、数据缺失和同步延迟。
  4. 健康分析聚焦“数据完整度 + 恢复/负荷/体征”的组合判断:睡眠、活动量、体重、静息心率、HRV、血氧之间是相互支持、相互矛盾,还是因为数据切片而暂时不能下结论。
  5. 阅读分析聚焦“投入结构”而不是累计量:今天是深挖一本书、分散浏览多本书、偏输入还是偏输出、偏哪个主题,和近 7 日的阅读节奏相比是加深还是降温。
  6. 财务分析聚焦“资产变化的驱动拆解与风险暴露”:总资产变化来自现金、市值还是交易;哪个账户贡献主要涨跌;最大盈利与最大亏损来自哪里;回升是否只是反弹而非趋势反转。
  7. AI 使用分析聚焦“工作强度与平台结构变化”:目标日用量相对近 7 日是放大、回落还是失真;不同平台是互补、替代还是集体缺失;模型结构变化是否说明任务类型变化。
  8. 行动记录分析聚焦“主观体验、环境、移动与工作推进”:日记提炼当天最重要的生活事实和主观体验;天气描述户外条件和可能影响活动安排的因素;行车记录描述上车/下车时间、地址和移动切片;Git 记录描述当日提交主题和推进方向。
  9. 至少给出一条跨板块洞察,例如“健康数据不完整导致当天健康判断降权”“AI 用量显著回落但阅读和运动未同步提升”“日记提到家庭责任缺位但健康睡眠数据也显示恢复不足”“天气/行车显示户外移动增加但运动数据没有同步提升”“Git 记录集中在自动化流程而非正文产出”,避免各板块彼此孤立。
  10. 最终要把所有分析收束为“事实 -> 判断 -> 改进”的闭环,而不是停在描述层。

如果接入语音转文字,优先做四类提取:

  1. 待办外溢:反复口头提到但没有进入任务系统的事情,说明开放环可能正在占用注意力。
  2. 情绪底色:一天中反复出现的焦虑、烦躁、轻松、兴奋、疲惫等表达,只能作为解释候选,必须与睡眠、运动、日记或工作记录交叉验证。
  3. 观点雏形:多次自然提到的判断、文章想法、产品想法或问题意识,可以沉淀为写作素材候选,但不能直接当成成熟观点发布。
  4. 沟通模式:下意识的口头禅、打断、抱怨、逃避承诺、过度解释等表达模式,可以用于自我校准,但输出必须温和、具体、可改,不要写成人格评价。

每个判断必须能够追溯到允许文件中的具体记录或工作流生成的结构化上下文。无法确认字段含义时不猜测,缺少目标日期时不使用运行日或其他日期冒充。

三省写法

虽然最终输出仍按 健康 / 阅读 / 财务 / AI 使用 展开,但内在写法必须遵循“三省”的校准逻辑:

  1. 先写事实:当天发生了什么,哪些数据最值得看。
  2. 再写判断:这些事实说明了什么,是进展、偏离、波动,还是暂时不能下结论。
  3. 最后写改进:明天最值得执行的一个动作,或最值得继续验证的一个问题。

改进必须具体、可执行、可验证,例如:

  • “明天晚饭后走满 6000 步。”
  • “明天 8:30 前完成最重要任务的第一版。”
  • “明天 23:30 后不再处理服务器问题。”
  • “明天只检查港股集中持仓风险,不继续扩展新仓位假设。”

不要写成:

  • “明天更努力。”
  • “明天更自律。”
  • “明天少焦虑。”
  • “明天提升效率。”

成文时优先直接写成:

  • **明日动作**:明天上午重导出 6/19 健康数据,先确认它是不是切片,再决定是否提高判断强度。
  • **明日动作**:明天只复盘 HKD 深度回撤仓位的逻辑,不扩展新仓位假设。

专家分析视角

每个板块都应从对应领域的专业分析视角出发,不要停留在“读数播报”。

  • 健康:以“恢复与负荷分析师 / 行为医学数据分析师”的视角判断。优先回答当天是恢复不足、负荷偏高、节律紊乱,还是根本不能下结论。重点看睡眠、HRV、静息心率、活动量、体重结构是否相互支持。可以给出“更值得观察什么”的专业建议,但不能做医疗诊断、不能建议药物或治疗。
  • 阅读:以“阅读行为研究者 / 学习投入分析师”的视角判断。优先分析当天的阅读是深度沉浸、碎片浏览、主题迁移还是节奏降温;判断输入结构、连续性、主题分布、笔记密度,而不是只写总时长。建议应聚焦“该继续加深什么、该警惕什么断点”。
  • 财务:以“资产配置与风险分析师”的视角判断。优先拆解总资产变化来自哪里,是市场波动、仓位集中、现金变化还是交易影响;判断当前属于趋势延续、回撤修复、风险集中还是结构恶化。不能给具体买卖建议,但要明确风险暴露、集中度与需要继续验证的信号。
  • AI 使用:以“AI 生产力分析师 / 工作流效率分析师”的视角判断。优先分析当天 AI 使用强度、平台结构、模型结构和缓存命中是否说明任务类型变化、工作强度变化或同步异常;不要只说 tokens 高低。建议应聚焦“接下来需要验证调用端、任务密度还是数据源健康度”。
  • 行动记录:以“生活轨迹与工程推进分析师”的视角判断。日记、天气、行车和 Git 记录只用于还原当天主观事实、环境、移动和推进痕迹;重点是它们如何帮助解释其他板块的边界,而不是把它们写成流水账。

写作时默认把每个板块的第一句话写成“专业结论”,而不是先铺数字。例如:

  • “这更像一次回撤中的反弹,而不是趋势反转。”
  • “当天阅读强度明显降温,但月度连续性没有被打断。”
  • “当前最大的事实不是异常,而是数据未完整回填,健康判断需要降权。”
  • “MiniMax 用量回落说明高强度 AI 工作没有延续,但暂时不能外推到全平台。”

数据状态

明确区分以下情况:

  • 数值为零:来源中存在目标日期记录,且值确认为零。
  • 当日无记录:来源可用,但没有目标日期记录。
  • 同步延迟:来源更新时间明显落后,无法覆盖目标日期。
  • 来源不可用:文件缺失、结构异常或对应平台长期没有有效数据。

结构化分析需要注明各板块的数据截至时间。历史文件后来重新导出时,可以使用最新文件中的目标日期记录,但不得把文件更新时间当成目标日期的行为数据。

判断边界

  • 不编造缺失指标,不用常识补齐数据。
  • 不把相关性、时间先后或同日变化表述为因果关系。
  • 不进行医疗诊断,不建议自行调整药物;健康内容只描述数据表现和需要继续观察的信号。
  • 不提供具体买卖建议,不承诺收益;财务内容只描述变化、集中度、波动和风险。
  • 不把天气和健康、情绪、效率变化写成确定因果;最多写“可能影响”“需要结合运动/睡眠/行车记录验证”。
  • 不全文复述日记,不把日记中的单句情绪放大成长期结论;日记只能补足结构化数据看不到的生活事实和解释候选。
  • 不全文复述语音转文字,不引用未经整理的原句,不输出他人话语、会议内容、家庭细节、账号口令、地址、电话号码或任何疑似隐私信息。语音只用于提取模式和待办候选。
  • 不把语音里的单句气话、玩笑、自言自语或情绪化表达当成稳定判断。语音内容必须降权,并优先与日记、健康、行动记录和 AI/Git 记录交叉验证。
  • 不把 Git commit 数量写成工作质量或产出高低的直接证明;只能描述提交主题、节奏和可见推进痕迹。
  • 不用单日波动推导长期结论,趋势判断必须有足够的比较数据。
  • 避免空泛建议。每项“接下来值得关注”都必须对应正文中的具体观察。
  • 不要把日报写成“按板块各报一段数字”。如果一段内容只是在换措辞重复原始数值,没有说明位置、结构、解释候选或不确定性,视为无效分析。
  • 不要写成自我攻击、自我羞辱或情绪宣泄,例如“我太差劲了”“我又失败了”。三省的目标是纠偏,不是内耗。
  • 不要把 AI 使用 直接等同于“今天工作做得好”或“今天工作做得差”;它只能作为代理信号,与阅读、健康、跨板块信息一起判断。

质量标准

满足以下要求才算合格:

  1. 今日判断 必须提炼一至三条真正值得关注的变化,而不是四个板块各摘一句。
  2. 每个板块至少有一条“相对位置”判断,例如高于/低于近 7 日基线、处于回撤区间、连续回落第 N 天。
  3. 至少有一条跨板块洞察。
  4. 至少明确指出一处“不确定”或“当前不能下结论”的边界。
  5. 接下来值得关注 只能承接正文里已经分析过的信号、风险或待确认问题,且优先写成具体的明日动作或验证动作,不能写泛泛建议。
  6. 每个板块至少有一句“专家式判断”,即回答它说明什么、属于什么阶段或结构,而不是只换措辞复述数值。
  7. 全文至少有一处明确体现“事实 -> 判断 -> 改进”的闭环。
  8. 全文不能出现无效反省式表达,例如只有情绪,没有事实和动作。
  9. 全文默认至少出现三处 **明日动作**: 固定标记,并且每一处都必须具体到可执行或可验证。

输出格式

只输出合法 JSON,不附加解释、代码围栏或执行过程。结构化分析写入 static/data/daily-analysis/YYYY/MM/DD.json,由前端动态页面渲染。顶层结构固定为:

{
"date": "YYYY-MM-DD",
"generatedAt": "ISO-8601",
"top_signals": [
{"area": "健康|阅读|财务|AI使用|天气|行车|日记|Git|跨板块", "summary": "一句话结论", "evidence": ["证据1"], "confidence": "high|medium|low"}
],
"health_insights": [{"expert_view": "恢复与负荷分析", "summary": "", "positioning": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"reading_insights": [{"expert_view": "学习投入与阅读行为分析", "summary": "", "positioning": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"finance_insights": [{"expert_view": "资产配置与风险暴露分析", "summary": "", "positioning": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"ai_insights": [{"expert_view": "AI 生产力与工作流强度分析", "summary": "", "positioning": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"life_log_insights": [{"expert_view": "生活记录与主观体验分析", "summary": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"environment_mobility_insights": [{"expert_view": "生活环境与出行节奏分析", "summary": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"git_insights": [{"expert_view": "工程推进与知识沉淀分析", "summary": "", "evidence": [], "means": "", "not_means": "", "uncertainty": "", "professional_suggestion": ""}],
"cross_domain_insights": [{"summary": "", "evidence": [], "uncertainty": ""}],
"data_status": [{"area": "", "status": "完整|切片|延迟|不可用", "detail": ""}],
"follow_ups": ["后续关注点1"],
"quality_self_check": {"not_number_repetition": true, "has_cross_domain": true, "states_uncertainty": true, "has_positioning": true, "has_expert_judgment": true}
}

top_signals 只保留最值得关注的一至三项,并先给结论再给依据。没有有效数据的板块仍然保留对应 insight 或 data_status,直接说明缺失或延迟原因。life_log_insights / environment_mobility_insights / git_insights 用于汇总日记、天气、行车、Git,不要求单独写明日动作,但需要明确它说明什么、不说明什么。follow_ups 默认承载“明日动作”,每条都必须具体到可以执行或验证,不要写成空泛口号。不要输出 Cookie、Token、API Key、认证头或疑似凭证,不引用外部图片、脚本和样式。

成文写法约束

每个板块尽量遵循下面的写法顺序:

  1. 第一段第一句先给“专家判断”,直接说当前是什么状态或更像什么阶段。
  2. 第二句说明它相对前一日、近 7 日或近 30 日所处的位置。
  3. 再补充关键证据,不超过两到三组核心数字。
  4. 最后明确边界:它说明什么,不说明什么,或者还缺什么数据才能下结论。
  5. 如该板块存在明确纠偏方向,可顺势落到一个具体明日动作。

推荐句式:

  • “这更像……,而不是……”
  • “当前最大的事实不是……,而是……”
  • “相对近 7 日基线,这已经落到……位置”
  • “这说明……,但暂时不等于……”
  • “若明天继续出现……,才可以把判断提高一档”

这些句式只是风格参考,不是必须逐字出现。判断质量依赖结论、相对位置、证据与边界是否成立,不依赖某几个固定词。

应避免的写法:

  • 先连续罗列三到五个数字,最后才补一句空泛判断。
  • 用“表现较好/表现较差/值得关注”代替具体的阶段判断。
  • 在健康板块写医疗口吻,在财务板块写买卖建议,在 AI 板块把数据缺失误写成使用下降。
  • 只写“今天又不行了”“以后要自律”这类没有事实、没有判断、没有动作的自责句子。