feat: Dashboard 自动启动飞书长连接服务

## 🚀 功能优化

### 集成飞书长连接服务
-  修改 start_dashboard.py,自动在后台线程启动飞书长连接服务
-  一键启动所有服务(Web + WebSocket + 飞书)
-  统一的日志输出,便于监控

### 新增功能
- 添加 `start_feishu_longconn_service()` 函数
- 在后台线程中启动飞书长连接客户端
- 启动时显示飞书服务状态提示

### 用户体验改进
- 无需手动启动多个终端
- 所有服务日志统一输出
- 简化部署流程

## 📝 使用方式

现在只需一个命令启动所有服务:
```bash
python3 start_dashboard.py
```

这会自动启动:
- Flask Web 应用(端口 5001)
- WebSocket 服务器(端口 8765)
- 飞书长连接服务(事件订阅 2.0)

## 🎯 优势

-  一键启动,简化操作
-  统一日志管理
-  便于生产环境部署
-  减少用户操作步骤

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
zhaojie
2026-02-11 14:34:14 +08:00
parent e3a0396567
commit 0a671c5943

View File

@@ -43,6 +43,23 @@ def start_websocket_server():
except Exception as e:
print(f"WebSocket服务器启动失败: {e}")
def start_feishu_longconn_service():
"""启动飞书长连接服务"""
try:
import logging
logger = logging.getLogger("feishu_longconn")
logger.info("=" * 80)
logger.info("🚀 启动飞书长连接服务(后台线程)")
logger.info("=" * 80)
from src.integrations.feishu_longconn_service import get_feishu_longconn_service
service = get_feishu_longconn_service()
service.start() # 这会阻塞当前线程
except Exception as e:
print(f"❌ 飞书长连接服务启动失败: {e}")
import traceback
traceback.print_exc()
def check_database_connection():
"""检查数据库连接"""
try:
@@ -100,6 +117,8 @@ def main():
print(f" 实时对话: http://localhost:{config.server.port}/chat")
print(f" WebSocket: ws://localhost:{config.server.websocket_port}")
print()
print("🤖 飞书长连接服务: 已在后台启动")
print()
print("按 Ctrl+C 停止服务")
print("=" * 60)
@@ -107,6 +126,14 @@ def main():
websocket_thread = threading.Thread(target=start_websocket_server, daemon=True)
websocket_thread.start()
# 在单独线程中启动飞书长连接服务
feishu_thread = threading.Thread(target=start_feishu_longconn_service, daemon=True)
feishu_thread.start()
# 等待飞书服务初始化
import time
time.sleep(2)
# 启动Flask应用
app.run(
debug=config.server.debug,