feat: 新增飞书长连接模式,无需公网域名

## 🚀 重大更新

### 飞书集成升级
-  迁移到飞书官方 SDK 的事件订阅 2.0(长连接模式)
-  无需公网域名和 webhook 配置
-  支持内网部署
-  自动重连机制

### 核心功能优化
-  优化群聊隔离机制(每个用户在每个群独立会话)
-  增强日志输出(emoji 标记便于快速识别)
-  完善错误处理和异常恢复
-  添加 SSL 证书问题解决方案

### 新增文件
- `src/integrations/feishu_longconn_service.py` - 飞书长连接服务
- `start_feishu_bot.py` - 启动脚本
- `test_feishu_connection.py` - 连接诊断工具
- `docs/FEISHU_LONGCONN.md` - 详细使用文档
- `README.md` - 项目说明文档

### 技术改进
- 添加 lark-oapi==1.3.5 官方 SDK
- 升级 certifi 包以支持 SSL 验证
- 优化配置加载逻辑
- 改进会话管理机制

### 文档更新
- 新增飞书长连接模式完整文档
- 更新快速开始指南
- 添加常见问题解答(SSL、权限、部署等)
- 完善架构说明和技术栈介绍

## 📝 使用方式

启动飞书长连接服务(无需公网域名):
```bash
python3 start_feishu_bot.py
```

详见:docs/FEISHU_LONGCONN.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
zhaojie
2026-02-11 14:10:18 +08:00
parent f5acb05e61
commit e3a0396567
18 changed files with 1501 additions and 112 deletions

View File

@@ -49,6 +49,10 @@ class WorkOrder(Base):
dispatch_time = Column(DateTime, nullable=True) # 分发时间
region = Column(String(50), nullable=True) # 区域overseas/domestic- 用于区分海外/国内
# 系统优化字段
processing_efficiency = Column(Float) # 处理效率
resource_usage = Column(Text) # 资源使用情况
# 关联对话记录
conversations = relationship("Conversation", back_populates="work_order")
# 关联处理过程记录
@@ -69,6 +73,11 @@ class Conversation(Base):
ip_address = Column(String(45), nullable=True) # IP地址
invocation_method = Column(String(50), nullable=True) # 调用方式websocket, api等
# 系统优化字段
processing_time = Column(Float) # 处理时间
memory_usage = Column(Float) # 内存使用量
cpu_usage = Column(Float) # CPU使用率
work_order = relationship("WorkOrder", back_populates="conversations")
class KnowledgeEntry(Base):
@@ -89,6 +98,11 @@ class KnowledgeEntry(Base):
verified_at = Column(DateTime) # 验证时间
vector_embedding = Column(Text) # 向量嵌入的JSON字符串
# 系统优化字段
search_frequency = Column(Integer, default=0) # 搜索频率
last_accessed = Column(DateTime) # 最后访问时间
relevance_score = Column(Float) # 相关性评分
class VehicleData(Base):
"""车辆实时数据模型"""
__tablename__ = "vehicle_data"
@@ -120,6 +134,12 @@ class Analytics(Base):
category_distribution = Column(Text) # JSON格式的类别分布
created_at = Column(DateTime, default=datetime.now)
# 分析增强字段
performance_score = Column(Float) # 性能评分
quality_metrics = Column(Text) # 质量指标JSON格式
cost_analysis = Column(Text) # 成本分析JSON格式
optimization_suggestions = Column(Text) # 优化建议JSON格式
class Alert(Base):
"""预警模型"""
__tablename__ = "alerts"