from abc import ABC, abstractmethod from core.schema import StandardMessage, StandardResponse class BaseAdapter(ABC): """ 消息适配器基类 (Interface) 所有的平台接口(千牛、微信等)都必须继承并实现这几个方法 """ @abstractmethod async def translate_inbound(self, raw_msg: any) -> StandardMessage: """ [接收]:把各个平台的原始 JSON 数据,格式化为大脑认的 StandardMessage """ pass @abstractmethod async def translate_outbound(self, response: StandardResponse, user_id: str): """ [发送]:把大脑生成的 StandardResponse,翻译回平台原生的接口发出去 """ pass @abstractmethod def platform_id(self) -> str: """ 标识当前平台名称 (如 'qianniu', 'wechat') """ pass