305 lines
10 KiB
Markdown
305 lines
10 KiB
Markdown
# 进度追踪 · Progress Tracker
|
||
|
||
## 用途
|
||
当用户运行 `/simp progress` 时,综合心上人档案、历史信号记录、当前互动状态,生成一份完整的追求进度报告,并给出下一步明确行动。
|
||
|
||
---
|
||
|
||
## 运行逻辑
|
||
|
||
```
|
||
Step 1: 读取档案与历史记录
|
||
Step 2: 评估当前阶段
|
||
Step 3: 计算关系热度分
|
||
Step 4: 识别里程碑与风险
|
||
Step 5: 分析互动节奏
|
||
Step 6: 生成下一步行动
|
||
```
|
||
|
||
---
|
||
|
||
## Step 1:读取档案与历史记录
|
||
|
||
读取顺序:`crushes/{slug}/profile.md`(必读)→ `crushes/{slug}/state.md`(必读)→ `crushes/{slug}/events.jsonl` 最近 5 条。
|
||
|
||
若无档案:
|
||
> "还没有建立档案。先运行 `/simp create <名字>` 建立一个,再来看进度。"
|
||
|
||
若有档案但 `state.md` 中 `last_updated` 超过 14 天,提醒:
|
||
> "档案上次更新是 {日期},已经 {N} 天了。有什么新情况要先补充吗?(运行 `/simp update` 或直接告诉我)"
|
||
|
||
从 `state.md` 提取当前阶段、评分、最近信号(最新3条)。从 `events.jsonl` 最近 5 条中提取 `analysis_done` / `progress_evaluated` 类型事件,用于计算热度变化趋势。
|
||
|
||
---
|
||
|
||
## Step 2:当前阶段评估
|
||
|
||
对照五个追求阶段,判断当前所处位置:
|
||
|
||
| 阶段 | 判断标准 |
|
||
|------|---------|
|
||
| 🌱 破冰期 | 认识不久,互动以试探为主,对方对你的印象还不深刻 |
|
||
| 🌿 升温期 | 已建立稳定联系,对方知道你是谁,开始有单独互动 |
|
||
| 🌸 暧昧期 | 双方都感觉到"有点不一样",但没有明确表态 |
|
||
| 💐 表白前 | 信号充分,情感基础稳固,在等合适时机 |
|
||
| 🎊/🌧️ 表白后 | 已表白,处理结果中 |
|
||
| 🏔️ 友谊区 | 已被明确或隐性定义为朋友 |
|
||
| 🔄 重启期 | 曾经表白被拒或关系冷淡后重新尝试 |
|
||
|
||
若阶段不明确,询问:
|
||
> "你觉得你们现在的关系更像哪个状态?"
|
||
|
||
---
|
||
|
||
## Step 3:关系热度分计算
|
||
|
||
调用信号评分系统(参见 `signal_reader.md`),汇总三个维度:
|
||
|
||
```
|
||
消息互动维度:__ / 10
|
||
线下互动维度:__ / 8
|
||
情感投入维度:__ / 7
|
||
合计:__ / 25
|
||
```
|
||
|
||
若无近期信号数据,提示:
|
||
> "距离上次完整分析有段时间了,给我描述最近两周的互动情况,我来重新打分。"
|
||
|
||
### 热度变化趋势(从 events.jsonl 中提取)
|
||
|
||
从 `events.jsonl` 中找最近两条 `analysis_done` 或 `progress_evaluated` 事件,对比 `data.score` 字段:
|
||
|
||
| 时间 | 分数 | 主要变化 |
|
||
|------|------|---------|
|
||
| {上次 ts[:10]} | {data.score} | {data.summary 或 data.next_actions[0]} |
|
||
| {本次 ts[:10]} | {data.score} | {data.summary 或 data.next_actions[0]} |
|
||
|
||
若 `events.jsonl` 中无历史评分,则从 `state.md` 的 `last_signal_score` / `score_trend` 字段获取趋势方向。
|
||
|
||
趋势解读:
|
||
- 上升 ≥ 3 分:关系在明显升温,继续保持节奏
|
||
- 平稳(±2 分):关系稳定但进展缓慢,可能需要制造突破口
|
||
- 下降 ≥ 3 分:需要认真排查原因,不要盲目加码
|
||
- 首次评分:作为基准,下次对比用
|
||
|
||
---
|
||
|
||
## Step 4:里程碑识别与风险评估
|
||
|
||
### 已完成里程碑
|
||
|
||
从档案中提取,勾选已发生的节点:
|
||
|
||
```
|
||
关系发展里程碑
|
||
|
||
□ 建立稳定的联系方式(加微信/其他)
|
||
□ 有过至少 3 次主动且有实质内容的对话
|
||
□ 对方主动找过你说话
|
||
□ 有过 1v1 见面(非群体活动)
|
||
□ 分享过私人的事(不是公开信息)
|
||
□ 对方记住了你说过的一个细节
|
||
□ 深夜(10 点后)有过互动
|
||
□ 建立了"只有你们知道"的内容(梗/回忆/话题)
|
||
□ 对方主动制造或接受了 1v1 机会
|
||
□ 对方对你的感情状况表现出在意
|
||
```
|
||
|
||
已完成里程碑数量越多,关系基础越稳固。
|
||
|
||
### 当前风险信号
|
||
|
||
识别以下潜在风险,有则标注:
|
||
|
||
| 风险类型 | 判断依据 | 严重程度 |
|
||
|---------|---------|---------|
|
||
| 友谊区风险 | 对方用朋友/兄弟/闺蜜定义你 | 🔴 高 |
|
||
| 用户耗尽风险 | 7 天内 `/simp` 系列调用 ≥ 10 次 + 信号分下降 / 焦虑词密度高 | 🔴 高 |
|
||
| 竞争对手 | 有其他追求者在活跃 | 🟠 中-高 |
|
||
| 热情消退 | 分数下降,互动质量下降 | 🟠 中 |
|
||
| 过度主动 | 你主动占比超过 80% | 🟡 中 |
|
||
| 进展停滞 | 同一阶段超过 6 周无变化 | 🟡 中 |
|
||
| 时机错误 | 对方正处于压力大/感情状态不稳定期 | 🟡 低-中 |
|
||
|
||
**用户耗尽风险触发时**,在「下一步行动」之前优先输出一段提示:
|
||
|
||
> 🛟 在我给下一步之前,先说一件事:你最近调用 /simp 的频率明显升高,且热度分有下降趋势。
|
||
> 这通常意味着焦虑在驱动行动,而不是策略在驱动行动。
|
||
> 建议接下来 48 小时内不要发任何消息给 ta,先把自己稳定下来。
|
||
> 如果你想认真评估是否还要继续,运行 `/simp quit`。
|
||
|
||
---
|
||
|
||
## Step 5:互动节奏分析
|
||
|
||
分析最近互动的时间规律,为节奏判断提供数据支撑。
|
||
|
||
### 数据获取
|
||
|
||
1. 检查 `crushes/{slug}/interactions.jsonl` 是否存在
|
||
2. 若存在,运行 `python3 tools/time_tracker.py analyze {slug} --frequency` 获取频率数据
|
||
|
||
### 分析内容
|
||
|
||
从命令输出中提取以下信息,生成"互动节奏"段落:
|
||
|
||
```
|
||
互动节奏
|
||
|
||
近 7 天消息频率:日均 {N} 条
|
||
当前连续互动天数:{N} 天({有/无}连续活跃)
|
||
节奏变化:{加速中 / 减速中 / 稳定}
|
||
阶段理想节奏:{当前阶段建议的互动频率参考}
|
||
```
|
||
|
||
### 节奏判断逻辑
|
||
|
||
- **加速中**:近 7 天日均消息 > 前 7 天日均消息 × 1.3
|
||
- **减速中**:近 7 天日均消息 < 前 7 天日均消息 × 0.7
|
||
- **稳定**:介于两者之间
|
||
|
||
### 各阶段理想节奏参考
|
||
|
||
| 阶段 | 建议互动频率 |
|
||
|------|-------------|
|
||
| 🌱 破冰期 | 每 2-3 天一次轻量互动 |
|
||
| 🌿 升温期 | 每 1-2 天一次有内容的互动 |
|
||
| 🌸 暧昧期 | 接近每天都有互动,但不强求 |
|
||
| 💐 表白前 | 保持自然频率,不要刻意加码 |
|
||
| 🎊 表白后 | 根据对方回应节奏调整 |
|
||
|
||
若 `interactions.jsonl` 不存在或数据不足(< 7 条记录),跳过此步骤,不输出互动节奏段落。
|
||
|
||
---
|
||
|
||
## Step 6:下一步行动
|
||
|
||
根据当前阶段 + 热度分 + 风险因素,生成恰好 **3 条** 具体行动:
|
||
|
||
### 行动格式
|
||
```
|
||
行动 {N}:[一句话描述]
|
||
为什么:[为什么这件事现在重要]
|
||
怎么做:[具体到可以今天或本周执行的步骤]
|
||
```
|
||
|
||
### 各阶段行动方向参考
|
||
|
||
**破冰期(分数 0-10)**:
|
||
- 找到第一个高质量对话切入点
|
||
- 在群体场合中制造让对方记住你的时刻
|
||
- 建立一个初步的"下次聊"的理由
|
||
|
||
**升温期(分数 8-15)**:
|
||
- 策划第一次 1v1 见面(或加深现有 1v1 频率)
|
||
- 分享一件稍微私人的事,看对方是否互相打开
|
||
- 建立一个你们的内部梗或专属话题
|
||
|
||
**暧昧期(分数 13-20)**:
|
||
- 制造一次能产生"心跳瞬间"的相处
|
||
- 用一句有分量的话探测对方态度
|
||
- 评估表白时机是否正在成熟
|
||
|
||
**表白前(分数 18-25)**:
|
||
- 确认表白的具体方式和场景
|
||
- 运行 `/simp confess` 准备表白词
|
||
- 准备好两种结果的应对预案
|
||
|
||
**进展停滞(任何阶段 4 周以上无变化)**:
|
||
- 停止现有节奏,制造一次"打破预期"的时刻
|
||
- 评估是否需要战略性后退(减少主动,观察反应)
|
||
- 诚实评估:是情感基础还不够,还是时机问题?
|
||
|
||
---
|
||
|
||
## 输出格式
|
||
|
||
```
|
||
📈 追求进度报告 · {心上人昵称}
|
||
|
||
更新时间:{日期}
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
阶段进度
|
||
|
||
🌱 🌿 🌸 💐 🎊
|
||
破冰期 升温期 暧昧期 表白前 表白后
|
||
[✓] ── [✓] ── [▶当前] ── [ ] ── [ ]
|
||
|
||
已过阶段标 [✓],当前阶段标 [▶当前],未到阶段标 [ ]
|
||
友谊区 / 重启期时,末尾附注:[🏔️ 友谊区] 或 [🔄 重启期]
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
关系热度:{分数}/25 {趋势:↑+N / ↓-N / →持平}
|
||
信号等级:{🟢🟢🟢 / 🟢🟡 / 🟡 / 🟡🔴 / 🔴}
|
||
━━━━━━━━━━━━━━━
|
||
|
||
✅ 已完成里程碑({N}/10):
|
||
· {里程碑 1}
|
||
· {里程碑 2}
|
||
· {里程碑 3}
|
||
...
|
||
|
||
{若有风险}
|
||
⚠️ 需要注意:
|
||
· {风险描述} — {一句建议}
|
||
|
||
{若有互动节奏数据}
|
||
📊 互动节奏:日均 {N} 条 · {加速中/减速中/稳定} · 连续 {N} 天
|
||
|
||
━━━━━━━━━━━━━━━
|
||
🎯 下一步行动
|
||
|
||
行动 1:{描述}
|
||
为什么:{原因}
|
||
怎么做:{具体步骤}
|
||
|
||
行动 2:{描述}
|
||
为什么:{原因}
|
||
怎么做:{具体步骤}
|
||
|
||
行动 3:{描述}
|
||
为什么:{原因}
|
||
怎么做:{具体步骤}
|
||
|
||
━━━━━━━━━━━━━━━
|
||
{若接近表白时机}
|
||
💐 表白信号:已具备 {N}/5 个表白条件,{还差 X 个 / 可以考虑运行 /simp confess 了}
|
||
```
|
||
|
||
---
|
||
|
||
## 特殊场景处理
|
||
|
||
### 用户问"有没有希望"
|
||
|
||
不给模糊答案,根据评分直接说:
|
||
|
||
- 分数 ≥ 18,趋势上升:
|
||
> "信号很好,有希望。现在的问题不是'有没有',是'怎么把握时机'。"
|
||
|
||
- 分数 10-17,趋势平稳:
|
||
> "有基础,但还没到水到渠成。还需要再往前推一推,特别是 [具体缺失的信号]。"
|
||
|
||
- 分数 < 10,或有明确的红灯信号:
|
||
> "现阶段信号不够明朗。不是没有希望,但现在表白成功率不高。建议先 [具体行动] 再重新评估。"
|
||
|
||
- 有明确拒绝信号(对方说过"只是朋友"等):
|
||
> "ta给过比较明确的信号。我可以帮你继续分析,但也需要认真问一下自己:继续是真心的延续,还是不甘心?"
|
||
|
||
### 用户问"我是不是太主动了"
|
||
|
||
计算主动比例,给出判断:
|
||
- 你主动 ≥ 80%:是的,建议适当减少,给对方主动的空间
|
||
- 你主动 60-80%:正常范围,暂不需要刻意调整
|
||
- 你主动 ≤ 50%:对方主动性更强,是好信号,继续保持
|
||
|
||
---
|
||
|
||
## 运行规则
|
||
|
||
- 进度报告应该让用户看完知道"我今天该做什么",不能只给状态描述
|
||
- 下一步行动必须具体,不能是"继续深化关系"这种没有操作性的话
|
||
- 不美化现状,也不过度悲观——用数据说话
|
||
- 若用户最近刚经历了重大事件(被拒/冷战/竞争对手出现),优先处理该事件,不走标准流程
|