Files
assist/.agents/summary/workflows.md
zhaojie 11eef49271 docs: 添加项目文档体系 + 修复租户创建模态框
- 新增 .agents/summary/ 完整文档(架构、组件、接口、数据模型、流程、依赖)
- 新增 AGENTS.md(AI 助手导航)
- 更新 README.md
- 修复 dashboard.html 租户模态框多余 </div> 导致保存按钮失效
- 更新 .gitignore 排除虚拟环境文件
2026-04-08 23:26:17 +08:00

128 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Workflows / 关键流程
## 1. 应用启动流程
```mermaid
sequenceDiagram
participant Main as start_dashboard.py
participant Log as setup_logging
participant DB as DatabaseManager
participant WS as WebSocket Thread
participant FS as 飞书长连接 Thread
participant Flask as Flask App
Main->>Log: 初始化日志(按启动时间分目录)
Main->>DB: check_database_connection()
alt 连接失败
Main->>Main: sys.exit(1)
end
Main->>WS: 启动守护线程 (port 8765)
Main->>FS: 启动守护线程 (飞书长连接)
Main->>Main: sleep(2) 等待初始化
Main->>Flask: app.run(port=5000, threaded=True)
```
## 2. 用户对话流程 (WebSocket)
```mermaid
sequenceDiagram
participant Client as 浏览器
participant WS as WebSocketServer
participant RCM as RealtimeChatManager
participant DM as DialogueManager
participant KB as KnowledgeManager
participant LLM as LLMClient
Client->>WS: WebSocket 连接
Client->>WS: JSON 消息
WS->>RCM: 转发消息
RCM->>DM: process_message()
DM->>KB: search() 知识库检索
KB-->>DM: 匹配结果
DM->>LLM: 调用 Qwen API含知识上下文
LLM-->>DM: AI 回复
DM-->>RCM: 回复内容
RCM-->>WS: 发送回复
WS-->>Client: JSON 回复
```
## 3. 工单创建与飞书同步
```mermaid
sequenceDiagram
participant User as 用户/AI
participant API as workorders Blueprint
participant DB as Database
participant Sync as WorkOrderSyncService
participant Feishu as 飞书多维表格
User->>API: POST /api/workorders
API->>DB: 创建工单记录
DB-->>API: 工单 ID
opt 飞书同步已配置
API->>Sync: sync_to_feishu(workorder_id)
Sync->>Feishu: 创建/更新记录
Feishu-->>Sync: feishu_record_id
Sync->>DB: 更新 feishu_record_id
end
API-->>User: 工单创建成功
```
## 4. 知识库搜索流程
```mermaid
flowchart TD
Q["用户查询"] --> TF["TF-IDF 关键词匹配"]
Q --> EMB{"Embedding 启用?"}
EMB -->|是| VEC["向量语义搜索"]
EMB -->|否| SKIP["跳过"]
TF --> MERGE["合并结果"]
VEC --> MERGE
SKIP --> MERGE
MERGE --> RANK["按相似度排序"]
RANK --> VERIFIED{"已验证条目优先"}
VERIFIED --> RESULT["返回 Top-K 结果"]
```
## 5. 飞书机器人消息处理
```mermaid
sequenceDiagram
participant User as 飞书用户
participant Feishu as 飞书服务器
participant LC as FeishuLongConnService
participant DM as DialogueManager
participant LLM as LLMClient
participant FS as FeishuService
User->>Feishu: @机器人 发送消息
Feishu->>LC: 长连接事件推送
LC->>LC: 消息去重
LC->>LC: resolve_tenant_by_chat_id()
LC->>DM: 处理消息(带 tenant_id
DM->>LLM: 生成回复
LLM-->>DM: AI 回复
DM->>FS: 发送飞书消息
FS->>Feishu: API 回复
```
## 6. Agent 工具调度
```mermaid
flowchart TD
INPUT["用户输入"] --> THINK["Thought: 分析意图"]
THINK --> ACT["Action: 选择工具"]
ACT --> EXEC["执行工具"]
EXEC --> OBS["Observation: 获取结果"]
OBS --> DONE{"任务完成?"}
DONE -->|否| THINK
DONE -->|是| ANSWER["Final Answer: 返回结果"]
```
ReactAgent 注册的工具包括:知识库搜索、车辆查询、数据分析、飞书消息发送等。