refactor: migrate workflow to v2 core and archive legacy modules

This commit is contained in:
2026-03-04 21:52:24 +08:00
parent e1ce17f2aa
commit fa61b11b02
156 changed files with 1781 additions and 2066 deletions

View File

@@ -1,6 +1,8 @@
import asyncio
import websockets
import logging
logger = logging.getLogger("cs_agent")
async def connect_flow(client):
"""连接 WebSocket 服务器并自动重连。"""
@@ -9,49 +11,22 @@ async def connect_flow(client):
client.logger.info(f"[{client.get_time()}] 正在连接轻简API {client.uri}...")
async with websockets.connect(client.uri) as websocket:
client.websocket = websocket
from utils.health_check import set_qingjian_connected
set_qingjian_connected(True)
client.logger.info(f"[{client.get_time()}] 连接成功!")
if client.enable_agent:
client.logger.info(f"[{client.get_time()}] AI Agent 已启用,将自动处理消息")
client.logger.info(f"[{client.get_time()}] 等待接收消息...")
await client.receive_messages()
except ConnectionRefusedError:
from utils.health_check import set_qingjian_connected
set_qingjian_connected(False)
client.logger.info(f"[{client.get_time()}] 连接被拒绝,请检查轻简软件是否已启动")
except websockets.exceptions.InvalidURI:
from utils.health_check import set_qingjian_connected
set_qingjian_connected(False)
client.logger.info(f"[{client.get_time()}] URI格式错误")
except Exception as e:
from utils.health_check import set_qingjian_connected
set_qingjian_connected(False)
client.logger.info(f"[{client.get_time()}] 连接错误: {e}")
# 统一捕获异常,避免因为不同版本的 websockets 导致属性错误
client.logger.info(f"[{client.get_time()}] 连接或运行错误: {e}")
if client.running:
client.logger.info(f"[{client.get_time()}] 5秒后尝试重连...")
await asyncio.sleep(5)
async def receive_messages_flow(client):
"""持续接收消息。"""
try:
async for message in client.websocket:
await client.handle_message(message)
except websockets.exceptions.ConnectionClosed:
from utils.health_check import set_qingjian_connected
set_qingjian_connected(False)
client.logger.info(f"[{client.get_time()}] 连接已关闭")
except Exception as e:
from utils.health_check import set_qingjian_connected
set_qingjian_connected(False)
client.logger.info(f"[{client.get_time()}] 接收消息错误: {e}")
async def handle_message_flow(client, message, *, shop_type_resolver):
from core.websocket_inbound_flow import handle_incoming_message
await handle_incoming_message(client, message, shop_type_resolver=shop_type_resolver)
client.logger.info(f"[{client.get_time()}] 接收消息中断: {e}")