工程化、去营销风格,完成这套“亲密关系情绪内耗记录与边界管理”的工具方案。
内容严格聚焦心理健康课程理论 + 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.py
1️⃣ 配置阈值(心力保护红线)
"config/thresholds.py"
# 情绪内耗阈值配置
WEEKLY_DRAIN_LIMIT = 3 # 每周最多允许的内耗天数
DAILY_DRAIN_SEVERITY_MAX = 7 # 单日内耗严重程度上限(1-10)
# 超过该值,触发边界提醒
ALERT_LEVEL = 0.8
2️⃣ 数据模型
"models/record.py"
from dataclasses import dataclass
from datetime import date
from typing import List
@dataclass
class EmotionalRecord:
record_date: date
drain_severity: int # 1-10,内耗程度
triggers: List[str] # 触发因素,如“争吵”“过度迁就”
recovered_today: bool # 当天是否恢复
notes: str = ""
def is_high_drain(self) -> bool:
return self.drain_severity >= 7
3️⃣ 日志记录模块
"services/logger.py"
import json
from datetime import date
from models.record import EmotionalRecord
DATA_FILE = "data/emotional_log.json"
def load_records() -> list[EmotionalRecord]:
with open(DATA_FILE, "r", encoding="utf-8") as f:
raw = json.load(f)
return [
EmotionalRecord(
record_date=date.fromisoformat(r["record_date"]),
drain_severity=r["drain_severity"],
triggers=r["triggers"],
recovered_today=r["recovered_today"],
notes=r.get("notes", "")
)
for r in raw
]
def save_records(records: list[EmotionalRecord]):
with open(DATA_FILE, "w", encoding="utf-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_ascii=False,
indent=2
)
4️⃣ 分析模块(内耗统计)
"services/analyzer.py"
from datetime import date, timedelta
from models.record import EmotionalRecord
def count_drain_days(records: list[EmotionalRecord], days: int = 7) -> int:
today = date.today()
since = today - timedelta(days=days)
return sum(
1 for r in records
if 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) + 1
return freq
5️⃣ 边界规则生成引擎(核心)
"services/boundary_engine.py"
from config.thresholds import WEEKLY_DRAIN_LIMIT
from models.record import EmotionalRecord
def 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),
key=lambda x: len(x),
default=[]
)
if high_freq:
suggestions.append(f"针对高频触发因素 {high_freq},制定回避或限时沟通规则。")
suggestions.append("每日保留至少 30 分钟‘无干扰热爱时间’,用于兴趣活动。")
return suggestions
6️⃣ 主程序入口
"main.py"
from datetime import date
from services.logger import load_records
from services.analyzer import count_drain_days, high_frequency_triggers
from services.boundary_engine import generate_boundary_suggestions
def main():
records = load_records()
drain_days = count_drain_days(records, days=7)
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.10+
2. 编辑 `data/emotional_log.json`,按日期记录情绪事件
3. 执行:
bash
python main.py
4. 根据终端输出调整相处策略
## 字段说明
| 字段 | 含义 |
|---|---|
| record_date | 记录日期 |
| drain_severity | 内耗程度(1-10) |
| triggers | 触发因素列表 |
| recovered_today | 当天是否恢复 |
| notes | 备注信息 |
## 适用场景
- 亲密关系情绪管理
- 心理健康与创新能力课程实践
- 个人心力保护训练
七、总结(技术博主视角)
亲密关系不该是核心心力的黑洞,而应是它的安全底座。
这个工具并不是为了“分析对错”,而是把《心理健康与创新能力》课程中关于情绪内耗、心理边界、自我决定理论的内容,转化为一个可量化、可复盘、可执行的系统。
核心价值
- ✅ 让情绪内耗“可见化”
- ✅ 用数据支持边界设定
- ✅ 为“热爱生活”留出最低安全空间
可扩展方向
- 增加周报 / 月报自动生成
- 引入情绪恢复曲线分析
- 与日记、冥想、情绪追踪工具联动
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!