Files
assist/README.md
Jeason 26737747d9 safe: 安全升级(不影响飞书/Pipeline/Redis)
- bcrypt 密码哈希升级(兼容旧 SHA-256,登录时自动升级)
- auth_manager.secret_key 从环境变量读取
- 前端事件总线(on/off/emit)
- ConfigService 统一配置服务
- AI 监控错误详情修复(Conversation 没有 category/source)
- README.md 重写
2026-04-08 09:56:23 +08:00

62 lines
2.6 KiB
Markdown
Raw 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.
# TSP 智能助手
AI 驱动的多租户客服与工单管理系统支持飞书机器人、WebSocket 实时对话、知识库语义搜索。
## 功能概览
- **智能对话** — WebSocket 实时聊天 + 飞书机器人(长连接模式),按租户隔离知识库
- **工单管理** — 创建、编辑、删除、飞书多维表格双向同步AI 生成处理建议
- **知识库** — TF-IDF + 可选 Embedding 语义搜索,支持文件导入、人工验证
- **多租户** — 数据按 tenant_id 隔离,每个租户独立的系统提示词和飞书群绑定
- **数据分析** — 工单趋势、预警统计、满意度分析,支持按租户筛选
- **预警系统** — 自定义规则、多级别预警、批量管理
- **系统管理** — 模块权限控制、流量/成本/安全配置、Token 监控
## 快速开始
```bash
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`
## 项目结构
```
src/
├── config/ # 配置管理unified_config + config_service
├── core/ # 基础设施数据库、LLM、缓存、认证
├── dialogue/ # 对话管理realtime_chat、message_pipeline
├── knowledge_base/ # 知识库(搜索、导入、验证)
├── repositories/ # 数据访问层(自动 tenant_id 过滤)
├── analytics/ # 监控与分析预警、Token、AI 成功率)
├── integrations/ # 外部集成(飞书客户端、工单同步)
├── agent/ # ReAct Agent工具调度
└── web/ # Web 层
├── app.py # Flask 应用
├── blueprints/ # API 蓝图(每个领域一个文件)
├── service_manager.py
├── static/js/ # 前端模块
│ ├── dashboard.js # 核心
│ └── modules/ # 功能模块
└── templates/ # Jinja2 模板
```
## 环境变量
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `SECRET_KEY` | Flask session 密钥 | 随机生成 |
| `LLM_BASE_URL` | LLM API 地址 | DashScope |
| `LLM_API_KEY` | LLM API 密钥 | - |
| `LLM_MODEL` | 模型名称 | qwen-plus-latest |
| `FEISHU_APP_ID` | 飞书应用 ID | - |
| `FEISHU_APP_SECRET` | 飞书应用密钥 | - |
| `REDIS_HOST` | Redis 地址 | localhost |
| `ADMIN_PASSWORD` | 默认管理员密码 | admin123 |
完整变量列表见 `.env.example`