refactor: 架构改进 前5个缺陷修复

1. Chat 路由从 app.py 拆到 chat_bp 蓝图(14个路由  0个残留在 app.py)
2. 新增 resolve_tenant_id 装饰器,写操作未指定 tenant_id 时记录警告日志
3. dialogue_manager.process_user_message 补齐 tenant_id 参数,知识库搜索和对话保存都传递 tenant_id
4. service_manager 新增直接 manager 访问器(knowledge_manager、dialogue_manager、conversation_history_manager、alert_system、token_monitor),新代码可绕过 TSPAssistant facade
5. TSPAssistant.get_assistant() 标记为 legacy,引导新代码使用具体 manager
This commit is contained in:
2026-04-02 22:09:59 +08:00
parent 53f3629f9e
commit 61ef86d779
6 changed files with 222 additions and 166 deletions

View File

@@ -33,9 +33,10 @@ class DialogueManager:
user_message: str,
work_order_id: Optional[int] = None,
user_id: Optional[str] = None,
vehicle_id: Optional[str] = None
vehicle_id: Optional[str] = None,
tenant_id: Optional[str] = None
) -> Dict[str, Any]:
"""处理用户消息"""
"""处理用户消息(注意:飞书/WebSocket 对话走 realtime_chat.process_message此方法仅供 HTTP API 调用)"""
start_time = datetime.now()
success = False
error_message = None
@@ -52,7 +53,7 @@ class DialogueManager:
# 搜索相关知识库(只搜索已验证的)
knowledge_results = self.knowledge_manager.search_knowledge(
user_message, top_k=3, verified_only=True
user_message, top_k=3, verified_only=True, tenant_id=tenant_id
)
# 获取车辆实时数据
@@ -171,7 +172,8 @@ class DialogueManager:
assistant_response=response_result["response"],
confidence_score=self._calculate_confidence(knowledge_results),
response_time=response_time,
knowledge_used=[r["id"] for r in knowledge_results]
knowledge_used=[r["id"] for r in knowledge_results],
tenant_id=tenant_id
)
# 更新内存中的对话历史