feat: add HA infrastructure, CI/CD pipeline, and Redis/Celery hardening
- Add docker-compose.ha.yml for PostgreSQL/Redis HA setup with Patroni and Sentinel - Add docker-compose.prod.yml for production deployment - Add GitHub Actions CI/CD workflow (build.yml) - Add install.cmd for Windows one-click setup - Harden Redis connection with retry logic and health checks - Add Celery HA config with Redis Sentinel support - Add HA operations runbook - Update README with deployment and architecture docs - Move landing page spec to .claude/specs/design/ - Update memory intelligence PRD
This commit is contained in:
@@ -3,9 +3,15 @@
|
||||
## 概述
|
||||
|
||||
**功能名称**: 记忆智能 (Memory Intelligence)
|
||||
**版本**: v1.0
|
||||
**版本**: v1.1
|
||||
**优先级**: Phase 2.5 (体验增强后、社区化前)
|
||||
**目标用户**: 家长 + 3-8 岁儿童
|
||||
**更新记录**: 2025-01-22 合并 `backend/docs/memory_system_prd.md`
|
||||
|
||||
### 核心愿景
|
||||
|
||||
将当前的"数据存储"升级为有温度的**"情感连接系统"**。
|
||||
我们不只是在记住数据,而是在**维护孩子与故事世界的关系**。让每一个故事不再是孤立的碎片,而是构建孩子专属"故事宇宙"的砖瓦。
|
||||
|
||||
### 核心价值
|
||||
|
||||
@@ -14,10 +20,39 @@
|
||||
- **延续故事**: 角色、世界观跨故事延续
|
||||
- **主动关怀**: 适时推送个性化故事建议
|
||||
|
||||
### 产品痛点与解决方案
|
||||
|
||||
| 用户角色 | 核心痛点 | 解决方案 | 预期价值 |
|
||||
|---------|---------|---------|---------|
|
||||
| **孩子** | "上次的小兔子怎么不认识我了?" 故事之间缺乏连续性。 | **角色一致性与记忆注入** 故事开头主动提及往事,角色性格延续。 | 建立情感依恋,提升沉浸感。 |
|
||||
| **家长** | "这App除了生成故事还能干嘛?" 无法感知产品的长期教育价值。 | **显性化成长轨迹** 词汇量统计、主题变化、成就徽章可视化。 | 提高付费意愿,提供社交货币。 |
|
||||
| **平台** | 用户用完即走,缺乏留存壁垒。 | **沉没成本与情感资产** 积累的记忆越多,越舍不得离开。 | 提升长期留存率 (LTV)。 |
|
||||
|
||||
---
|
||||
|
||||
## 一、功能模块
|
||||
|
||||
### 1.0 记忆分层模型
|
||||
|
||||
#### 层级 1: 核心档案 (Identity Layer)
|
||||
*性质:永久、静态、显性*
|
||||
- **数据**: 姓名、年龄、性别
|
||||
- **输入**: 家长在 Onboarding 阶段手动输入
|
||||
- **作用**: 决定故事的基础适龄性和称呼
|
||||
|
||||
#### 层级 2: 故事宇宙 (Universe Layer)
|
||||
*性质:长期、动态积累、半显性*
|
||||
- **主角设定**: 姓名、性格特征(勇敢/害羞)、外貌特征(戴眼镜/卷发)
|
||||
- **常驻配角**: 从随机故事中涌现出的固定伙伴(如"爱吃胡萝卜的松鼠奇奇")
|
||||
- **世界观**: 故事发生的背景(魔法森林、未来城市、海底世界)
|
||||
- **成就系统**: 孩子获得的虚拟奖励(勇气勋章、小小探险家)
|
||||
|
||||
#### 层级 3: 工作记忆 (Working Memory)
|
||||
*性质:短期、自动衰减、隐性*
|
||||
- **关键情节**: 最近 3 个故事的结局和核心冲突
|
||||
- **情感标记**: 孩子对特定内容的反应(根据"重播"、"跳过"推断)
|
||||
- **新学词汇**: 故事中出现的高级词汇
|
||||
|
||||
### 1.1 孩子档案系统 (Child Profile)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
@@ -244,7 +279,13 @@ CREATE TABLE memory_items (
|
||||
请创作一个适合{age}岁儿童的故事,约{word_count}字。
|
||||
```
|
||||
|
||||
### 5.2 成就提取 Prompt
|
||||
### 5.2 智能开场白 (Memory Injection)
|
||||
|
||||
在生成新故事时,Prompt 必须包含一段"记忆唤醒"指令:
|
||||
- **示例**: "小明,还记得上周我们帮小松鼠找回了松果吗?今天,小松鼠带来了一位新朋友..."
|
||||
- **策略**: 提取权重最高的 Top 3 记忆注入 Prompt
|
||||
|
||||
### 5.3 成就提取 Prompt
|
||||
|
||||
```
|
||||
请分析以下故事,提取主角获得的成长/成就:
|
||||
@@ -412,7 +453,43 @@ def check_push_notifications():
|
||||
|
||||
---
|
||||
|
||||
## 八、里程碑
|
||||
## 八、关键功能特性
|
||||
|
||||
### 8.1 成长时间轴 (Growth Timeline)
|
||||
|
||||
一个可视化的 H5 页面或 App 模块,以时间轴形式展示里程碑:
|
||||
- 🌟 **初次相遇**: 创建角色的第一天
|
||||
- 📖 **阅读打卡**: 累计阅读 10/50/100 本
|
||||
- 🏅 **获得成就**: 获得"诚实勋章"
|
||||
- 🧠 **能力解锁**: 第一次阅读"科幻"题材
|
||||
|
||||
### 8.2 成就仪式感 (Achievement Ceremony)
|
||||
|
||||
- **触发**: 故事生成并分析后,如果获得新成就
|
||||
- **表现**: 弹窗动画 + 音效 + "恭喜获得 [勇气] 徽章"
|
||||
- **分享**: 允许生成带二维码的成就海报
|
||||
|
||||
---
|
||||
|
||||
## 九、记忆类型扩展
|
||||
|
||||
| 类型 Key | 描述 | 来源 | 过期策略 |
|
||||
|---------|------|------|---------|
|
||||
| `recent_story` | 最近读过的故事梗概 | 阅读事件 | 30天衰减 |
|
||||
| `favorite_character` | 孩子喜欢的角色 | 重播/高评分 | 长期有效 |
|
||||
| `scary_element` | 孩子害怕/不喜欢的元素 | 跳过/负反馈 | 长期有效 (避雷) |
|
||||
| `vocabulary_growth` | 新掌握的词汇 | 故事分析 | 90天衰减 |
|
||||
| `emotional_highlight` | 高光时刻 (如: 特别开心的情节) | 互动数据 | 60天衰减 |
|
||||
|
||||
---
|
||||
|
||||
## 十、里程碑
|
||||
|
||||
### Phase 1: 基础建设 (v0.3.0)
|
||||
- [x] 数据库 `MemoryItem` 表 (已存在)
|
||||
- [ ] 扩展 `MemoryItem` 类型字段,支持更多维度
|
||||
- [ ] 优化 `_build_memory_context`,支持更自然的 Prompt 注入
|
||||
- [ ] 前端:简单的"近期回忆"展示列表
|
||||
|
||||
### M1: 孩子档案基础
|
||||
- [ ] 数据库模型
|
||||
@@ -436,9 +513,18 @@ def check_push_notifications():
|
||||
- [ ] 偏好学习算法
|
||||
- [ ] 推荐优化
|
||||
|
||||
### Phase 2: 可视化与成就 (v0.4.0)
|
||||
- [ ] 实现"成就提取器" (Achievement Extractor) 的闭环通知
|
||||
- [ ] 前端:开发"我的成就"和"成长时间轴"页面
|
||||
- [ ] 增加故事开场白的动态生成逻辑
|
||||
|
||||
### Phase 3: 深度智能 (v0.5.0+)
|
||||
- [ ] 引入向量数据库,实现基于语义的记忆检索 (不仅是时间最近)
|
||||
- [ ] 情感分析模型:分析用户行为推断情感倾向
|
||||
|
||||
---
|
||||
|
||||
## 九、风险与应对
|
||||
## 十一、风险与应对
|
||||
|
||||
| 风险 | 影响 | 应对 |
|
||||
|------|------|------|
|
||||
@@ -448,7 +534,7 @@ def check_push_notifications():
|
||||
|
||||
---
|
||||
|
||||
## 十、相关文档
|
||||
## 十二、相关文档
|
||||
|
||||
- [孩子档案数据模型](./CHILD-PROFILE-MODEL.md)
|
||||
- [故事宇宙记忆结构](./STORY-UNIVERSE-MODEL.md)
|
||||
|
||||
Reference in New Issue
Block a user