feat(api): 叙事 prompt、职业上下文、读路径章节、WS 解耦与错误脱敏

- 回忆录:事实边界补充允许清单;传记文体示例与 JSON 叙事要求对齐
- default 职业提示 occupation_context;cadre/military 退休语境
- GET 章节读路径零写入,prepare_chapter_read_view + markdown_for_response
- 文本归一抽到 core/text_normalize;移除弃用 reply 策略与 recompose_chapters_for_story
- ConversationService:WS 连接/用户段落/结束对话;对外错误固定文案
- 测试:HTTP 脱敏契约、章节读视图、occupation 与 background_voice
This commit is contained in:
Kevin
2026-04-01 11:49:33 +08:00
parent a5473e8fe2
commit 53d9e003af
28 changed files with 598 additions and 397 deletions

View File

@@ -68,6 +68,7 @@ class NarrativeAgent:
birth_year: Optional[int] = None,
llm: Any = None,
background_voice: str = "default",
occupation: str = "",
) -> str:
"""将新对话改写为叙述。若无 LLM 则直接拼接。
@@ -88,6 +89,7 @@ class NarrativeAgent:
user_profile=user_profile,
birth_year=birth_year,
background_voice=background_voice,
occupation=occupation,
)
max_tokens = 8192
agent_name = "NarrativeAgent.generate_narrative_merge"
@@ -100,6 +102,7 @@ class NarrativeAgent:
user_profile=user_profile,
birth_year=birth_year,
background_voice=background_voice,
occupation=occupation,
)
max_tokens = 4096
agent_name = "NarrativeAgent.generate_narrative"