Files
wehub-resource-sync 1d6fd29cda
tests / test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:36:27 +08:00

305 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 进度追踪 · 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%:对方主动性更强,是好信号,继续保持
---
## 运行规则
- 进度报告应该让用户看完知道"我今天该做什么",不能只给状态描述
- 下一步行动必须具体,不能是"继续深化关系"这种没有操作性的话
- 不美化现状,也不过度悲观——用数据说话
- 若用户最近刚经历了重大事件(被拒/冷战/竞争对手出现),优先处理该事件,不走标准流程