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

@@ -0,0 +1,24 @@
"""segments: rename transcript_text -> user_input_text
语义:用户输入正文(语音 ASR 或键盘输入),不仅限于「转写」。
Revision ID: 0002_segments_user_input_text
Revises: 0001_initial
"""
from typing import Sequence, Union
from alembic import op
revision: str = "0002_segments_user_input_text"
down_revision: Union[str, None] = "0001_initial"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.execute("ALTER TABLE segments RENAME COLUMN transcript_text TO user_input_text")
def downgrade() -> None:
op.execute("ALTER TABLE segments RENAME COLUMN user_input_text TO transcript_text")