工程化、去营销风格完成这套“亲密关系情绪内耗记录与边界管理”的工具方案。内容严格聚焦心理健康课程理论 Python 工程实践。一、实际应用场景描述在《心理健康与创新能力》以及情绪管理相关课程中有一个被反复验证的观点亲密关系中的情绪内耗是消耗“核心心力”的主要来源之一。典型现实场景包括- 与伴侣、家人、密友频繁发生情绪摩擦- 事后反复回想、自责、猜测对方想法- 明明没有做高强度工作却感到极度疲惫- 原本热爱的创作、学习、运动兴趣逐渐消退本质问题情绪内耗是一种“隐性认知负荷”它会持续占用心理资源导致用于创新、成长和生活热情的心力被严重挤压。二、痛点分析为什么需要程序化干预1. 内耗不可见- 没有“情绪账单”- 很难意识到某段关系在持续消耗自己2. 边界模糊- 不清楚哪些话题、行为、时段容易触发冲突- 经常被动卷入不属于自己的情绪责任3. 心力保护机制缺失- 没有“止损线”- 内耗累积到崩溃才意识到问题4. 复盘不足- 情绪事件散落在记忆中- 无法形成可执行的相处规则三、核心逻辑讲解程序设计思路理论基础来自心理健康课程- 情绪内耗 ≠ 冲突次数而是情绪恢复成本- 心理边界明确“我的责任”与“他人的责任”- 核心心力用于热爱生活、创造、成长的有限心理资源程序核心逻辑记录情绪内耗事件↓量化内耗天数与强度↓识别高频触发因素↓生成个性化相处边界规则↓当内耗超标时触发“心力保护提示”四、核心知识点卡片Neutral Educational┌──────────────────────────────────────┐│ 知识点 1情绪内耗Emotional Drain ││ ———————————————————————————————— ││ 指在无实质产出的情绪互动中消耗心理资源 ││ 表现为疲惫、注意力下降、动力减弱。 │└──────────────────────────────────────┘┌──────────────────────────────────────┐│ 知识点 2心理边界Personal Boundaries││ ———————————————————————————————— ││ 健康的关系需要清晰的边界 ││ 明确“我能接受什么”“我不为他人情绪负责”。 │└──────────────────────────────────────┘┌──────────────────────────────────────┐│ 知识点 3自我决定理论SDT ││ ———————————————————————————————— ││ 自主感、胜任感、归属感满足时 ││ 内在动机与生活热情才能维持。 │└──────────────────────────────────────┘五、Python 程序实现模块化 清晰注释项目结构emotional_boundaries/│├── README.md├── main.py├── data/│ └── emotional_log.json├── models/│ └── record.py├── services/│ ├── logger.py│ ├── analyzer.py│ └── boundary_engine.py└── config/└── thresholds.py1️⃣ 配置阈值心力保护红线config/thresholds.py# 情绪内耗阈值配置WEEKLY_DRAIN_LIMIT 3 # 每周最多允许的内耗天数DAILY_DRAIN_SEVERITY_MAX 7 # 单日内耗严重程度上限1-10# 超过该值触发边界提醒ALERT_LEVEL 0.82️⃣ 数据模型models/record.pyfrom dataclasses import dataclassfrom datetime import datefrom typing import Listdataclassclass EmotionalRecord:record_date: datedrain_severity: int # 1-10内耗程度triggers: List[str] # 触发因素如“争吵”“过度迁就”recovered_today: bool # 当天是否恢复notes: str def is_high_drain(self) - bool:return self.drain_severity 73️⃣ 日志记录模块services/logger.pyimport jsonfrom datetime import datefrom models.record import EmotionalRecordDATA_FILE data/emotional_log.jsondef load_records() - list[EmotionalRecord]:with open(DATA_FILE, r, encodingutf-8) as f:raw json.load(f)return [EmotionalRecord(record_datedate.fromisoformat(r[record_date]),drain_severityr[drain_severity],triggersr[triggers],recovered_todayr[recovered_today],notesr.get(notes, ))for r in raw]def save_records(records: list[EmotionalRecord]):with open(DATA_FILE, w, encodingutf-8) as f:json.dump([{record_date: r.record_date.isoformat(),drain_severity: r.drain_severity,triggers: r.triggers,recovered_today: r.recovered_today,notes: r.notes}for r in records],f,ensure_asciiFalse,indent2)4️⃣ 分析模块内耗统计services/analyzer.pyfrom datetime import date, timedeltafrom models.record import EmotionalRecorddef count_drain_days(records: list[EmotionalRecord], days: int 7) - int:today date.today()since today - timedelta(daysdays)return sum(1 for r in recordsif r.record_date since and r.drain_severity 5)def high_frequency_triggers(records: list[EmotionalRecord]) - dict:freq {}for r in records:for t in r.triggers:freq[t] freq.get(t, 0) 1return freq5️⃣ 边界规则生成引擎核心services/boundary_engine.pyfrom config.thresholds import WEEKLY_DRAIN_LIMITfrom models.record import EmotionalRecorddef generate_boundary_suggestions(records: list[EmotionalRecord],drain_days_last_week: int) - list[str]:suggestions []if drain_days_last_week WEEKLY_DRAIN_LIMIT:suggestions.append(建议减少非必要情绪讨论设置‘冷静时段’。)suggestions.append(明确告知对方部分情绪属于个人责任不共同承担。)high_freq max((r.triggers for r in records if r.triggers),keylambda x: len(x),default[])if high_freq:suggestions.append(f针对高频触发因素 {high_freq}制定回避或限时沟通规则。)suggestions.append(每日保留至少 30 分钟‘无干扰热爱时间’用于兴趣活动。)return suggestions6️⃣ 主程序入口main.pyfrom datetime import datefrom services.logger import load_recordsfrom services.analyzer import count_drain_days, high_frequency_triggersfrom services.boundary_engine import generate_boundary_suggestionsdef main():records load_records()drain_days count_drain_days(records, days7)print( 近7天内耗天数, drain_days)triggers high_frequency_triggers(records)print( 高频触发因素, triggers)print(\n️ 建议相处边界规则)for rule in generate_boundary_suggestions(records, drain_days):print(- , rule)if __name__ __main__:main()7️⃣ 示例数据文件data/emotional_log.json节选[{record_date: 2026-07-18,drain_severity: 8,triggers: [过度迁就, 旧账重提],recovered_today: false,notes: 晚上争论家务分工睡前仍无法平静}]六、README 文件与使用说明README.md# Emotional Boundaries Tracker一个用于记录亲密关系情绪内耗、生成相处边界规则、保护核心心力的轻量级 Python 工具。## 功能特性- 记录每日情绪内耗程度与触发因素- 统计内耗天数与高频触发模式- 自动生成个性化相处边界建议- 辅助识别心力透支风险## 使用方式1. 准备 Python 3.102. 编辑 data/emotional_log.json按日期记录情绪事件3. 执行bashpython main.py4. 根据终端输出调整相处策略## 字段说明| 字段 | 含义 ||---|---|| record_date | 记录日期 || drain_severity | 内耗程度1-10 || triggers | 触发因素列表 || recovered_today | 当天是否恢复 || notes | 备注信息 |## 适用场景- 亲密关系情绪管理- 心理健康与创新能力课程实践- 个人心力保护训练七、总结技术博主视角亲密关系不该是核心心力的黑洞而应是它的安全底座。这个工具并不是为了“分析对错”而是把《心理健康与创新能力》课程中关于情绪内耗、心理边界、自我决定理论的内容转化为一个可量化、可复盘、可执行的系统。核心价值- ✅ 让情绪内耗“可见化”- ✅ 用数据支持边界设定- ✅ 为“热爱生活”留出最低安全空间可扩展方向- 增加周报 / 月报自动生成- 引入情绪恢复曲线分析- 与日记、冥想、情绪追踪工具联动利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛