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

4.5 KiB
Raw Permalink Blame History

TSP 智能助手

AI 驱动的多租户客服与工单管理系统支持飞书机器人、WebSocket 实时对话、知识库语义搜索。

功能概览

  • 智能对话 — WebSocket 实时聊天 + 飞书机器人(长连接模式),按租户隔离知识库
  • 工单管理 — 创建、编辑、删除、飞书多维表格双向同步AI 生成处理建议
  • 知识库 — TF-IDF + 可选 Embedding 语义搜索,支持文件导入、人工验证
  • 多租户 — 数据按 tenant_id 隔离,每个租户独立的系统提示词和飞书群绑定
  • 数据分析 — 工单趋势、预警统计、满意度分析,支持按租户筛选
  • 预警系统 — 自定义规则、多级别预警、批量管理
  • Agent 模式 — ReAct 风格 LLM Agent支持工具调度知识搜索、车辆查询、飞书消息等
  • 系统管理 — 模块权限控制、流量/成本/安全配置、Token 监控

快速开始

pip install -r requirements.txt
cp .env.example .env   # 编辑填入 LLM API Key、飞书凭证等
python init_database.py
python start_dashboard.py

访问 http://localhost:5000默认账号 admin / admin123

系统架构

graph TB
    subgraph Clients["客户端"]
        Browser["浏览器 Dashboard"]
        FeishuBot["飞书机器人"]
        WSClient["WebSocket"]
    end

    subgraph App["应用层"]
        Flask["Flask :5000"]
        WS["WebSocket :8765"]
        FeishuLC["飞书长连接"]
    end

    subgraph Services["业务层"]
        DM["对话管理"]
        KM["知识库"]
        WOS["工单同步"]
        Agent["ReAct Agent"]
    end

    subgraph Infra["基础设施"]
        DB["SQLAlchemy"]
        LLM["Qwen API"]
        Cache["Redis"]
    end

    Clients --> App
    App --> Services
    Services --> Infra

项目结构

src/
├── config/              # 配置管理unified_config
├── core/                # 基础设施数据库、LLM、缓存、认证、ORM 模型)
├── dialogue/            # 对话管理realtime_chat、dialogue_manager
├── knowledge_base/      # 知识库(搜索、导入、验证)
├── analytics/           # 监控与分析预警、Token、AI 成功率)
├── integrations/        # 外部集成(飞书客户端、工单同步)
├── agent/               # ReAct Agent工具调度
├── vehicle/             # 车辆数据管理
├── utils/               # 通用工具
└── web/                 # Web 层
    ├── app.py           # Flask 应用
    ├── blueprints/      # API 蓝图16 个,每个领域一个文件)
    ├── service_manager.py  # 懒加载服务注册
    ├── static/          # 前端资源 (JS/CSS)
    └── templates/       # Jinja2 模板

环境变量

变量 说明 默认值
SECRET_KEY Flask session 密钥 随机生成
DATABASE_URL 数据库连接串 SQLite
LLM_BASE_URL LLM API 地址 DashScope
LLM_API_KEY LLM API 密钥
LLM_MODEL 模型名称 qwen-plus-latest
FEISHU_APP_ID 飞书应用 ID
FEISHU_APP_SECRET 飞书应用密钥
FEISHU_APP_TOKEN 飞书多维表格 App Token
FEISHU_TABLE_ID 飞书多维表格 Table ID
REDIS_HOST Redis 地址 localhost
REDIS_ENABLED 启用 Redis 缓存 True
EMBEDDING_ENABLED 启用 Embedding 语义搜索 True
EMBEDDING_MODEL Embedding 模型 BAAI/bge-small-zh-v1.5

完整变量列表见 .env.example

技术栈

层级 技术
Web 框架 Flask 3.x + Flask-CORS
ORM SQLAlchemy 2.x (MySQL / SQLite)
实时通信 websockets (port 8765)
缓存 Redis 5.x + hiredis
LLM Qwen/DashScope (OpenAI-compatible)
Embedding sentence-transformers + BAAI/bge-small-zh-v1.5 (可选)
NLP jieba + scikit-learn (TF-IDF)
飞书 lark-oapi 1.3.x
认证 JWT + SHA-256

数据库

  • 开发: SQLite (data/tsp_assistant.db)
  • 生产: MySQL via PyMySQL
  • 核心表: Tenant, WorkOrder, ChatSession, Conversation, KnowledgeEntry, Alert, Analytics, VehicleData, User

部署

  • Docker + docker-compose (MySQL 8, Redis 7, Nginx, Prometheus, Grafana)
  • Nginx 反向代理 (80/443 → 5000)
  • 默认端口: Flask 5000, WebSocket 8765, Redis 6379, MySQL 3306

详细文档

完整技术文档见 .agents/summary/ 目录,推荐从 index.md 开始阅读。