feat(api+app): 对话阶段化、回忆录流水线与客户端会话体验

- DB: segments 用户输入文本(Alembic 0002)
- Chat: 阶段检测/阶段提示/回复限制,编排与访谈/画像 prompts 调整
- Memoir: 忠实度检查 agent,叙事与分类等链路更新
- Core: agent 日志、Alembic 启动、LangChain/日志/配置等
- Story: time_hints;Memory 检索与相关测试
- Expo: 助手头像、会话页与消息拆分、实时会话与文案/i18n
- Docs/scripts/tests: 迁移脚本、LLM JSON/记忆检索文档、新增单测
This commit is contained in:
Kevin
2026-03-26 12:13:36 +08:00
parent 49b089354c
commit a3f61fcc0f
94 changed files with 3332 additions and 672 deletions

View File

@@ -113,7 +113,7 @@ class UserService:
object_storage.delete(key)
except Exception as e:
logger.warning(
"对象存储删除失败 user_id=%s key=%s err=%s", user_id, key, e
"对象存储删除失败 user_id={} key={} err={}", user_id, key, e
)
for cid in conv_ids:
@@ -121,13 +121,13 @@ class UserService:
await redis_service.clear_conversation_history(cid)
except Exception as e:
logger.warning(
"清空会话 Redis 历史失败 conversation_id=%s err=%s", cid, e
"清空会话 Redis 历史失败 conversation_id={} err={}", cid, e
)
try:
await task_tracker.clear_user_tasks(user_id)
except Exception as e:
logger.warning("清空用户任务追踪失败 user_id=%s err=%s", user_id, e)
logger.warning("清空用户任务追踪失败 user_id={} err={}", user_id, e)
try:
await redis_service.delete_keys_matching_pattern(
@@ -142,7 +142,7 @@ class UserService:
f"lock:story-image:{sid}"
)
except Exception as e:
logger.warning("清理 Redis 锁 key 失败 user_id=%s err=%s", user_id, e)
logger.warning("清理 Redis 锁 key 失败 user_id={} err={}", user_id, e)
return PurgeUserDataResponse(
success=True,