80 lines
3.6 KiB
Markdown
80 lines
3.6 KiB
Markdown
|
|
# Components / 核心组件
|
|||
|
|
|
|||
|
|
## 业务组件
|
|||
|
|
|
|||
|
|
### DialogueManager (`src/dialogue/dialogue_manager.py`)
|
|||
|
|
对话管理核心。处理用户消息,调用 LLM 生成回复,根据意图自动创建工单。连接知识库检索和 LLM 调用。
|
|||
|
|
|
|||
|
|
### RealtimeChatManager (`src/dialogue/realtime_chat.py`)
|
|||
|
|
实时聊天管理器。管理 WebSocket 会话,维护 `ChatMessage` 数据结构,协调 DialogueManager 处理消息流。
|
|||
|
|
|
|||
|
|
### KnowledgeManager (`src/knowledge_base/knowledge_manager.py`)
|
|||
|
|
知识库管理。支持 CRUD、TF-IDF 关键词搜索、可选 Embedding 语义搜索、文件导入、人工验证。已验证条目在检索时获得更高置信度。
|
|||
|
|
|
|||
|
|
### WorkOrderSyncService (`src/integrations/workorder_sync.py`)
|
|||
|
|
工单同步服务。实现本地工单与飞书多维表格的双向同步。定义 `WorkOrderStatus` 和 `WorkOrderPriority` 枚举。
|
|||
|
|
|
|||
|
|
### ReactAgent (`src/agent/react_agent.py`)
|
|||
|
|
ReAct 风格 LLM Agent。注册工具(知识搜索、车辆查询、分析、飞书消息),通过思考-行动-观察循环完成复杂任务。
|
|||
|
|
|
|||
|
|
### AnalyticsManager (`src/analytics/analytics_manager.py`)
|
|||
|
|
数据分析管理器。工单趋势、预警统计、满意度分析,支持按租户筛选。
|
|||
|
|
|
|||
|
|
### AlertSystem (`src/analytics/alert_system.py`)
|
|||
|
|
预警系统。自定义 `AlertRule`,支持多级别(`AlertLevel`)和多类型(`AlertType`)预警,批量管理。
|
|||
|
|
|
|||
|
|
## 基础设施组件
|
|||
|
|
|
|||
|
|
### DatabaseManager (`src/core/database.py`)
|
|||
|
|
数据库管理单例。封装 SQLAlchemy session 管理,提供 `get_session()` 上下文管理器。支持 SQLite(开发)和 MySQL(生产)。
|
|||
|
|
|
|||
|
|
### LLMClient (`src/core/llm_client.py`)
|
|||
|
|
LLM 调用客户端。封装 OpenAI-compatible API 调用(默认 Qwen/DashScope),支持流式和非流式响应。
|
|||
|
|
|
|||
|
|
### UnifiedConfig (`src/config/unified_config.py`)
|
|||
|
|
配置单例。从 `.env` 加载环境变量,映射到 typed dataclasses:
|
|||
|
|
`DatabaseConfig`, `LLMConfig`, `ServerConfig`, `FeishuConfig`, `AIAccuracyConfig`, `EmbeddingConfig`, `RedisConfig`
|
|||
|
|
|
|||
|
|
### AuthManager (`src/core/auth_manager.py`)
|
|||
|
|
认证管理。JWT token 生成/验证,SHA-256 密码哈希。
|
|||
|
|
|
|||
|
|
### ServiceManager (`src/web/service_manager.py`)
|
|||
|
|
服务注册中心。线程安全的懒加载,Blueprint 通过它获取业务服务实例。
|
|||
|
|
|
|||
|
|
## 集成组件
|
|||
|
|
|
|||
|
|
### FeishuService (`src/integrations/feishu_service.py`)
|
|||
|
|
飞书 API 客户端。获取 tenant_access_token,发送消息,操作多维表格。
|
|||
|
|
|
|||
|
|
### FeishuLongConnService (`src/integrations/feishu_longconn_service.py`)
|
|||
|
|
飞书事件订阅长连接服务。接收飞书机器人消息事件,转发给 DialogueManager 处理。
|
|||
|
|
|
|||
|
|
## Web 层组件
|
|||
|
|
|
|||
|
|
### Flask Blueprints (`src/web/blueprints/`)
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
graph TD
|
|||
|
|
subgraph API["API Blueprints"]
|
|||
|
|
WO["workorders — 工单 CRUD + AI 建议"]
|
|||
|
|
AL["alerts — 预警管理"]
|
|||
|
|
KN["knowledge — 知识库管理"]
|
|||
|
|
CV["conversations — 对话历史"]
|
|||
|
|
CH["chat — HTTP 聊天 + 会话管理"]
|
|||
|
|
AG["agent — Agent 模式交互"]
|
|||
|
|
TN["tenants — 租户管理"]
|
|||
|
|
AU["auth — 登录/注册/JWT"]
|
|||
|
|
AN["analytics — 数据分析导出"]
|
|||
|
|
MO["monitoring — Token/AI 监控"]
|
|||
|
|
SY["system — 系统配置/备份/优化"]
|
|||
|
|
FS["feishu_sync — 飞书同步配置"]
|
|||
|
|
FB["feishu_bot — 飞书 Webhook 事件"]
|
|||
|
|
VH["vehicle — 车辆数据"]
|
|||
|
|
CO["core — 监控规则/批量操作"]
|
|||
|
|
TE["test — API 连接测试"]
|
|||
|
|
end
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### WebSocketServer (`src/web/websocket_server.py`)
|
|||
|
|
独立 WebSocket 服务器(port 8765)。处理客户端连接,转发消息给 RealtimeChatManager。
|