模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/多渠道 IM 接入与 WebUI 网关/多渠道消息适配器集合/编码规范
- 每个平台以独立文件组织,定义一个
XxxConfig(BaseModel) 配置模型与一个 XxxChannel(BaseChannel) 子类,并提供 default_config() 返回配置字典。
- 入站消息统一经由基类
_handle_message() 进行 allow_from / pairing 授权后再写入 MessageBus,避免在各适配器重复实现鉴权逻辑。
- 出站长文本使用
src.channels.utils.split_message 按平台字符上限(如 TELEGRAM_MAX_MESSAGE_LEN、SLACK_MAX_MESSAGE_LEN)分片发送。
- 流式输出通过覆盖
send_delta/send_reasoning_delta/send_reasoning_end 实现,由基类 supports_streaming 属性根据配置与覆写情况自动判定是否启用。
- 配置校验集中使用 Pydantic 的
field_validator 与 model_validator 在实例化阶段检查端口范围、路径格式、互斥参数等约束。
- 日志记录统一通过
self.logger = logging.getLogger(f"{__name__}.{self.name}") 命名,便于区分不同渠道的输出。