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

3.4 KiB
Raw Blame History

Workflows / 关键流程

1. 应用启动流程

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)

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. 工单创建与飞书同步

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. 知识库搜索流程

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. 飞书机器人消息处理

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 工具调度

flowchart TD
    INPUT["用户输入"] --> THINK["Thought: 分析意图"]
    THINK --> ACT["Action: 选择工具"]
    ACT --> EXEC["执行工具"]
    EXEC --> OBS["Observation: 获取结果"]
    OBS --> DONE{"任务完成?"}
    DONE -->|否| THINK
    DONE -->|是| ANSWER["Final Answer: 返回结果"]

ReactAgent 注册的工具包括:知识库搜索、车辆查询、数据分析、飞书消息发送等。