Files
assist/.agents/summary/components.md

80 lines
3.6 KiB
Markdown
Raw Normal View History

# 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。