- 新增 .agents/summary/ 完整文档(架构、组件、接口、数据模型、流程、依赖) - 新增 AGENTS.md(AI 助手导航) - 更新 README.md - 修复 dashboard.html 租户模态框多余 </div> 导致保存按钮失效 - 更新 .gitignore 排除虚拟环境文件
3.6 KiB
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/)
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。