import asyncio async def workflow_agent_notify_flow(client, customer_id: str, acc_id: str, acc_type: str, system_hint: str): """图片处理完成后,让客服 AI 生成自然话术发给客户。""" if not client.enable_agent or not client.agent: return try: from core.pydantic_ai_agent import CustomerMessage notify_msg = CustomerMessage( msg_id="workflow_notify", acc_id=acc_id, msg=system_hint, from_id=customer_id, from_name="", cy_id=customer_id, acc_type=acc_type, msg_type=0, cy_name="", ) response = await client.agent.process_message(notify_msg) if response.should_reply and response.reply: nonsense_patterns = [ "无需", "流程已完成", "不需要回复", "无需额外", "已完成", "无需回复", "不需要额外", "已经完成", "无需再", "操作已完成", "任务完成", "流程完成", "记录完成", "报价已", ] if not any(p in response.reply for p in nonsense_patterns): fake_data = { "acc_id": acc_id, "from_id": customer_id, "from_name": "", "cy_id": customer_id, "acc_type": acc_type, } await asyncio.sleep(0.5) await client.send_reply(fake_data, response.reply) client.logger.info(f"[Workflow] AI 通知已发送: {response.reply}") except Exception as e: client.logger.error(f"[Workflow] AI 通知生成失败: {e}") async def workflow_send_flow( client, customer_id: str, acc_id: str, acc_type: str, content: str, msg_type: int = 0, ): """workflow 回调:图片AI完成后用此方法推送消息给客户。""" msg = { "msg_id": "", "acc_id": acc_id, "msg": content, "from_id": customer_id, "from_name": customer_id, "cy_id": customer_id, "acc_type": acc_type, "msg_type": msg_type, "cy_name": customer_id, } await client.send_message(msg)