# 人际关系记忆系统

## 系统概述
这是专门用于维护人际关系的记忆系统，通过飞书对话输入，自动维护人物档案、事件和待跟进事项。

## 核心文件

### 1. upcoming-events.json - 未来事件索引
```json
{
  "version": "1.0",
  "lastUpdated": "2026-03-03T12:55:00Z",
  "events": [
    {
      "id": "event-001",
      "title": "Alex 生日",
      "date": "2026-03-15",
      "type": "birthday",
      "people": ["Alex"],
      "description": "Alex 的 30 岁生日",
      "reminded": false
    }
  ]
}
```

### 2. follow-ups.json - 待跟进事项
```json
{
  "version": "1.0",
  "lastUpdated": "2026-03-03T12:55:00Z",
  "followUps": [
    {
      "id": "followup-001",
      "person": "老王",
      "task": "询问过敏源详情",
      "deadline": "2026-03-10",
      "priority": "medium",
      "status": "pending",
      "created": "2026-03-03"
    }
  ]
}
```

### 3. master-index.json - 全局人物索引
```json
{
  "version": "1.0",
  "lastUpdated": "2026-03-03T12:55:00Z",
  "people": {
    "Alex": {
      "name": "Alex",
      "tags": ["同事", "朋友"],
      "birthday": "1996-03-15",
      "lastMentioned": "2026-03-03",
      "noteCount": 5,
      "profile": {
        "work": "新公司职位",
        "location": "深圳"
      }
    },
    "老王": {
      "name": "老王",
      "tags": ["朋友", "大学同学"],
      "lastMentioned": "2026-03-03",
      "noteCount": 3,
      "profile": {
        "allergies": "待确认"
      }
    }
  }
}
```

## 工作流程

### 信息提取与保存
当 Powell 通过飞书发送包含人物信息的消息时：

1. **检测敏感信息**
   - 健康问题（如：生病、过敏、服药）
   - 财务细节（如：工资、债务、投资）
   - 人际冲突（如：吵架、矛盾）

2. **敏感信息确认**
   - 如果检测到敏感信息，立即通过飞书询问："这是一条敏感信息，确定要保存吗？"
   - 等待确认后再保存

3. **更新三个文件**
   - 提取人物信息 → 更新 master-index.json
   - 提取事件/日期 → 更新 upcoming-events.json（按时间排序）
   - 提取承诺/待办 → 更新 follow-ups.json

4. **记录日志**
   - 更新 memory/YYYY-MM-DD.md 记录今日保存的记忆

### 定时回顾机制

#### 每周一 - 每周回顾
1. 读取本周新增的记忆记录
2. 生成周报，包含：
   - 本周新增记忆数量
   - 未来 7 天的即将发生事件
   - 发现的潜在社交模式
   - 建议的跟进事项
3. 通过飞书发送周报

#### 每月 1 号 - 每月整理
1. 读取当月所有记忆
2. 清理重复信息
3. 生成月度高光总结
4. 写入 /memory/life-memories/monthly/YYYY-MM-summary.md
5. 通过飞书发送月度总结

### 信息检索

当 Powell 提问时，立即读取对应 JSON 文件并回复：

- "我了解 Sarah 些什么？" → 读取 master-index.json 中 Sarah 的信息
- "我有哪些待办？" → 读取 follow-ups.json 中的待办事项
- "Alex 生日是哪天？" → 读取 master-index.json 或 upcoming-events.json

### 遗忘权

当 Powell 说"忘了这事"或"删除这条"时：
1. 从对应的 JSON 文件中彻底删除该条目
2. 通过飞书确认已删除

## 数据结构说明

### 敏感信息类型
```javascript
const SENSITIVE_PATTERNS = {
  health: [/生病|过敏|服药|手术|医院|医生|症状|体检/i],
  finance: [/工资|收入|存款|债务|贷款|投资|理财|借钱/i],
  conflict: [/吵架|矛盾|不和|冷战|分手|离婚/i]
}
```

### 事件类型
- birthday: 生日
- meeting: 约会/会面
- trip: 出行/旅游
- deadline: 截止日期
- reminder: 提醒事项

### 优先级
- high: 高优先级（紧急）
- medium: 中优先级（重要）
- low: 低优先级（一般）

## 使用示例

### 保存人物信息
**用户输入**: "Alex 3月15号生日，他刚换了新工作，在深圳"
**操作**:
1. 更新 master-index.json，添加/更新 Alex 的档案
2. 更新 upcoming-events.json，添加生日提醒
3. 记录到 daily log

### 保存敏感信息
**用户输入**: "老王对海鲜过敏"
**操作**:
1. 检测到健康相关（过敏）
2. 通过飞书询问："这是一条敏感信息（健康），确定要保存吗？"
3. 用户确认后保存到 master-index.json

### 检索
**用户输入**: "我了解 Alex 些什么？"
**回复**:
```
Alex：
- 标签：同事、朋友
- 生日：1996-03-15
- 工作：新公司职位
- 位置：深圳
- 最后提及：2026-03-03
```

## 维护规则

1. **每次更新个人档案后，必须同步更新三个全局文件**
2. **绝对隔离**：不允许将 A 的私人信息泄露给 B 的档案
3. **时间排序**：upcoming-events.json 必须保持按日期排序
4. **版本控制**：每次更新文件时，更新 lastUpdated 字段
